从内存指针读取(基地址)

时间:2014-10-06 00:17:41

标签: c++ pointers memory dll

我刚刚开始深入研究C ++昨天观看了大约7个多小时的游戏黑客教程,但我的目标不是为游戏创建一个hack,而是看看我是否可以创建一个自动化系统或者( BOT)为我做事。然而,这仅仅是为了学习经验。

目前我了解如何获取Base-Pointers,什么是多级指针,以及如何写入内存,但是我还没有找到任何关于从内存中读取的正常信息,我可以开始工作。

对于这个项目,我正在使用一个正在注入我正在使用的软件的DLL。我想从内存中收集一些数据。我花时间找到了一些我希望在Windows应用程序表单上显示的变量的静态指针。 (如健康等)

The Base Pointer for one of these variables is: 0x302DD0E8
The Offset for the base pointer is: 0x84C

经过相当多的实验和数小时的研究后,我想出了这段代码

DWORD HPValue = *(DWORD*)(*(DWORD*)0x302DD0E8 + 0x84C);  

然而,这会立即崩溃我的应用程序,如果我删除此代码并注入DLL一切正常..好“工作”因为除了坐在那里它并没有真正做任何事情。

真正寻求帮助理解这是如何工作的,我不是想做任何坏事,比如破坏一个游戏,只是试图获得一些经验。这是我的DLL接口看起来像的截图,我是字面意思只是想读取数据。

http://gyazo.com/0b60c4246a8bd7ebc8da3620ad311eb4

这是在作弊引擎中找到的地址信息的图片,这个信息可以在其他计算机上运行,​​就像我自问这个问题以来一样。

http://gyazo.com/733d50c751119376d3195b6a5b703e9a

当我说我有指针时,我的意思是我有基地址,我已经遍历所有指针以获得基地址.....

0 个答案:

没有答案
相关问题