代码之家  ›  专栏  ›  技术社区  ›  Delan Azabani

用户空间内存编辑程序

  •  4
  • Delan Azabani  · 技术社区  · 14 年前

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

    4 回复  |  直到 14 年前
        1
  •  5
  •   Delan Azabani    14 年前

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

    例如文件 /dev/mem 将提供对cpu整个内存空间的访问。有关单个进程映射的详细信息,请参见 /proc/<pid>/maps

    又举了一个例子 here

        2
  •  2
  •   Jim Brissom    14 年前

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

        3
  •  2
  •   kagali-san    14 年前

    它没有理由segfault;OS(kernel,…)API用于编写。

    关于游戏:好吧,如果一个值存储在一个地址上,并且有时被读取,那么它可以在下次读取之前被修改。

        4
  •  0
  •   ruslik    14 年前

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

    同时阅读一些PE/COFF文档并使用 VirtualQueryEx ReadProcessMemory