【问题标题】:Find new addresses based on programs memory根据程序内存查找新地址
【发布时间】:2014-08-27 02:33:58
【问题描述】:

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

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

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

关于如何按照这些思路写东西的任何提示?我将不胜感激!

【问题讨论】:

    标签: c# c++ pointers hex


    【解决方案1】:

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

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

    【讨论】:

    • 这是一个code project article,它更深入地介绍了如何对ReadProcessMemory进行P/Invoke调用
    猜你喜欢
    • 1970-01-01
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 2017-02-24
    • 2015-09-23
    相关资源
    最近更新 更多