4

我想知道如何从头到尾找到应用程序的有效地址,因为我想知道如何记忆编辑应用程序,例如记事本。我是否必须反编译应用程序并查看汇编代码或机器代码。因为我看到人们总是为扫雷和一些 PC 视频游戏等应用程序制作模组。

PS 我将使用编程语言 C# 和 Win32 函数来执行内存编辑。

4

2 回答 2

8

查找进程的开始和结束地址

Process proc = Process.GetCurrentProcess();
IntPtr startOffset = proc.MainModule.BaseAddress; 
IntPtr endOffset = IntPtr.Add(startOffset ,proc.MainModule.ModuleMemorySize); 

http://www.ownedcore.com是学习记忆编辑的好资源。

于 2011-11-10T22:12:59.917 回答
0

首先,您使用 GetSystemInfo Win32API 函数来获取应用程序可用的最小和最大虚拟地址。然后,您从最小地址开始扫描内存块,并以可用的最大地址结束。但是您跳过(您不扫描它们)所有您无法阅读的块。这是 CodeProject 上的一篇文章,其中显示:https ://www.codeproject.com/articles/716227/csharp-how-to-scan-a-process-memory

于 2020-06-19T14:27:39.543 回答