从进程中读取内存(本例中为游戏)

时间:2012-01-10 14:35:38

标签: c# memory-management

在我的学校重新开始之前,我正在制作一个autoclicker atm以重新进入C#。在过去的5个月里,我一直在玩php作为实习生,当我们回到学校时,php将会消失,C#将会蠢蠢欲动。

我已经玩了很长时间的C#,只要有一些有趣的东西,每当我得到一个想法,没什么特别的。现在我正在创建一个具有记录功能的自动转换器,这样我就可以在游戏中自动执行某些操作,但我想更进一步,记忆阅读!

直到现在我发现很难找到一些不错的信息(不知道到底在哪里寻找)。我想制作一些你可以与一个目标机器人比较的东西,但没有任何商业或任何东西,只是想试验。我想知道让我们说来自pacman的鬼魂,或弹球中的bal,甚至飞行游戏中的飞机的位置。

我该如何开始?我已经阅读了一些有关内存如何工作以及实际获取内存的功能的内容。但我不知道如何找到地址。另外,我不知道如何在if语句中使用它们。

有人能指出我在正确的方向吗?

3 个答案:

答案 0 :(得分:1)

Cheat Engine可以帮助您找到所需的内存地址,尽管这是一项相当繁琐的工作。如果您想进行实验,它还可以让您更改内容。 还有Tutorials on YoutubeCheatEngine forum

答案 1 :(得分:1)

我建议您查看(C#)ReadProcessMemory

答案 2 :(得分:0)

写作培训师的最佳选择是直接归国。学习一些C和C ++,然后使用ReadProcessMemory。即使在不安全模式下使用C#中的本机指针也非常困难和丑陋。使用P / Invoke并不是那么糟糕但是对于你的情况来说,C#给你的唯一很酷的东西是WinForms。如果在同一个地方的其他进程中需要WinForms和本地指针,托管C ++是最好的选择:)