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