一个纯 Python 库(基于 ctypes),让你只需几行 Python 代码即可检查、修改和搜索任意正在运行的进程的内存 — 在 Windows、Linux 和 macOS 上实现 Cheat Engine 工作流程!
直接通过 Python 读取、写入和扫描任意进程的内存。
一个统一的 API。三大操作系统。无需 C 编译器。无需原生构建步骤。
支持 🪟 Windows · 🐧 Linux · 🍎 macOS — 32 位和 64 位。
在运行中的游戏中修改数值 · 检查程序的实时状态 · 直接从 RAM 中采集数据。
pip install PyMemoryEditor
若还需安装附带的 GUI 应用(Cheat Engine 风格的扫描器),请使用 app 附加组件:
pip install "PyMemoryEditor[app]"
pymemoryeditor
如需在大型进程上获得更快的扫描速度,可添加 speed 附加组件。它会引入 NumPy 并自动对数值扫描比较循环进行向量化 — 在选择性扫描中速度提升约 10–30 倍:
pip install "PyMemoryEditor[speed]"
📖 完整指南请参阅 Read the Docs。
from PyMemoryEditor import OpenProcess
with OpenProcess(name="game.exe") as process:
# Scan the whole process for every address holding the value 100.
for address in process.search_by_value(int, value=100):
print(f"Found at 0x{address:X}")
# Read the current value, then write a new one back.
current = process.read_int(address)
process.write_int(address, current + 500)
就这么简单 — 用三行代码即可读取、写入或扫描另一个进程,而且每个平台上的用法完全一样。
用几行 Python 代码即可完全控制另一个进程的内存:
int、float、bool、str、bytes)RemotePointer 句柄库的全部功能 — 无需编写任何代码:
完整文档位于 pymemoryeditor.readthedocs.io — 涵盖安装、Cheat Engine 工作流程、每个方法与参数、GUI 应用指南、平台说明与故障排查。
快速导航:
[!NOTE] 负责任地使用。 PyMemoryEditor 通过操作系统级 API 与其他进程交互。 请仅将其用于你拥有或已获明确许可检查的进程。
非常欢迎提交 Pull Request、Bug 报告和功能建议。请阅读
CONTRIBUTING.md 了解开发环境配置、测试布局以及
需要注意的少量平台相关特殊问题。
如果 PyMemoryEditor 对你的项目有帮助,请为仓库点个 ⭐ — 这是支持 本项目工作并帮助更多人发现这个库的最简单方式。
基于 MIT 许可证 发布 — 可免费用于个人和商业用途。
| 快速入门 | 打开进程、读取、写入并运行你的第一次扫描。 |
| 搜索内存 | 数值扫描、范围、优化结果、Cheat Engine 循环。 |
| 特征码扫描 | 通过字节签名(AOB)和正则表达式查找代码/数据。 |
| 指针 | 多级指针链与实时 RemotePointer。 |
| 指针扫描 | 查找可绕过 ASLR 的静态指针。 |
| GUI 应用 | 附带的 Cheat Engine 风格扫描器。 |
| API 参考 | 所有公开的类、方法和参数。 |
| 平台说明 | Windows、Linux 和 macOS 上的权限与特殊情况。 |
| 故障排查 | 常见错误及其解决方法。 |