您好。 我想访问另一个应用程序内存。 我正在写游戏黑客(别担心,这只适用于单人游戏模式)。 我在游戏的记忆中找到了玩家结构的指针。
我不想使用pInvoked ReadProcessMemory,因为我希望能够读取单个结构的字段。我知道游戏内存中的地址,其中包含玩家结构阵列。
在这种情况下,使用pInvoked ReadProcessMemory不太实用。
如何使用C#的不安全指针将其他进程内存映射为struct? 或者,如果不可能使用直接指针,那么使用readPrcessMemory的方式是什么?
我希望最终能够如此......。
player是某种在内存中表示struct的类。 玩家是某种球员的集合。
foreach(player guy in Players)
{
DrawESP(guy.X, guy.Y, guy.Z);
}
答案 0 :(得分:4)
你不能简单地从内存中重新编译。
在您自己的应用程序(类/ struct / etc)中创建对象的结构,并使用ReadProcessMemory读取相应的字节,然后以填充结构的方式对这些字节进行解释。
如果你不熟悉以这种方式使用指针,我会礼貌地建议写作训练师不适合你,你需要先做一些阅读。
我建议学习用C ++编写训练器,用“不安全”的代码来思考它会更容易。
答案 1 :(得分:1)
两个选项: