Linux 用户空间内存编辑程序

Linux 用户空间内存编辑程序,linux,memory,operating-system,Linux,Memory,Operating System,编辑其他进程内存的程序如何工作,如作弊引擎和iHaxGamez?我的理解是,一个进程从另一个进程的内存中读取(更不用说写入)是分段错误的直接原因。操作系统的硬件抽象层通常提供操作其他进程内存的功能。在Windows中,相应的函数是和。在linux下访问另一个进程内存相当简单(假设您有足够的用户权限) 例如,文件/dev/mem将提供对cpu整个内存空间的访问。单个进程映射的详细信息可在/proc//maps中找到 给出了另一个示例。您可以使用WinAPIWriteProcessMemory写入其

编辑其他进程内存的程序如何工作,如作弊引擎和iHaxGamez?我的理解是,一个进程从另一个进程的内存中读取(更不用说写入)是分段错误的直接原因。

操作系统的硬件抽象层通常提供操作其他进程内存的功能。在Windows中,相应的函数是和。

在linux下访问另一个进程内存相当简单(假设您有足够的用户权限)

例如,文件
/dev/mem
将提供对cpu整个内存空间的访问。单个进程映射的详细信息可在
/proc//maps
中找到


给出了另一个示例。

您可以使用WinAPI
WriteProcessMemory
写入其他进程的内存空间


还可以阅读一些PE/COFF文档,并使用
VirtualQueryEx
ReadProcessMemory
来了解要写什么和在哪里写。

它没有理由选择错误;OS(内核,…)API用于编写。 当进程试图以错误的方式(char[]溢出)访问自己的内存时,操作系统会发生Segfault(发出信号)


关于游戏:如果某个值存储在某个地址,并且有时会被读取,那么可以在下次读取之前对其进行修改。

你提到“作弊引擎”——这是否意味着你只对Windows感兴趣?迂腐,但我想指出,“分段错误”实际上并不意味着“任何内存错误”。实际上,我对Linux最感兴趣。./dev/mem不会很有用,即使在检查/proc/pid/maps或/proc/pid/pagemap以确定访问位置时也是如此。您可能需要的是/proc/pid/mem,它是进程的虚拟内存,而不是物理内存。