游戏外挂技术:编程实现内存检索(检索内存中指定数据)
1.目標,通過程序檢索植物大戰僵尸雪的值,并將雪的值修改(這個時候得使用dll的方式才能夠實現):
2.打開MemSearch工具。截圖如下:
上面(0x20337520)是通過MemSearch累計查找到的地址值
3.新建項目,項目截圖如下:
內存檢索代碼:
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
?
/************************************************************************/
/*_declspec(dllexport)的作用是產生接口?????????????????????????????????*/
/************************************************************************/
_declspec(dllexport) void go()
{
??? //通過MemSearch查找到的雪的內存實際是:0x20337520
??? void *p1 = (void *)0x20337420;
??? //指針不等價地址,因為它還有類型,所以這里要加上類型(void *)
??? void *p2 = (void *)0x20337620;
??? //定位一下地址
??? int *p3 = NULL;//定義成NULL,防止野指針
??? //每次都移動一個字符
??? for (char *p = p1; p != p2;p++)
??? {
??????? //如果內存地址是要找的內存地址(下面這句能夠使用前提是知道存儲雪的地址了)
??????? if (p == (int *)(0x20337520))
??????? {
??????????? //以char型的每次移動4個字節,這樣才能保證內存檢索的不遺漏
??????????? int *px = (int *)p; //類型轉換
??????????? if (*px == 25)?? //判斷,如果雪的值小于50,將學的值變成100
??????????? {
??????????????? *px = 100;
??????????????? p3 = px;??? //保存地址
??????????????? break;
??????????? }
??????? }
??? }
?
??? //定時的實現自動檢測并自動充值
??? while (1)
??? {
??????? if (*p3 <= 100) //檢測賦值
??????? {
??????????? *p3 = 200;
??????? }
?
??????? //休眠5秒后檢測
??????? Sleep(5000);
??? }
}
4.修改項目的常規屬性,設置如下:
5.生成dll
6.打開dllinject,注入dll
7、發現雪每隔一段時間會自動增加(如果雪的值小于100的情況下)
總結
以上是生活随笔為你收集整理的游戏外挂技术:编程实现内存检索(检索内存中指定数据)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吾日三省吾身从哪三个方面反省自己用原文中
- 下一篇: 江东六十四屯地图(江东六十四屯中国为什么