根据程序内存查找新地址

时间:2014-07-06 13:53:18

标签: c# c++ pointers hex

我基本上是在尝试编写一些能够读取特定指针的进程内存的东西。

我希望它读取地址并返回这些地址的值,然后我希望它为这些值添加一个偏移列表并将新地址返回给我(就像特定程序的工作方式一样)。我使用Cheat Engine得到了所有指针和偏移量,地址处的值不断变化,每次更改时都必须获得新值。

例如:如果我的指针地址为21F64D70,我希望它能读出来;让我们说在那个特定时间该地址的值是01A9A320,我希望它然后在01A9A320中添加一个偏移列表。所以我希望它能说01A9A320 + 00000432和01A9A320 + 00000434并将01A9A752和01A9A754返回给我。

关于如何沿着这些方向写东西的任何提示?我将不胜感激!

1 个答案:

答案 0 :(得分:2)

因为你提到C#,你可能正在运行Windows。在这种情况下,您可以使用ReadProcessMemory从进程中读取数据。一旦你读完它,偏移列表就是一个简单的数学问题。

a previous answer中,我给出了使用ReadProcessMemory扫描进程内存以查找指定字符串的一般演示。如果你有一个已知的起点,其中一些变得多余,但调用ReadProcessMemory本身的部分仍然有效。