
PyMemoryEditor v2.2.0
一个纯 Python 库,让你只需几行 Python 代码即可检查、修改和搜索任何正在运行的进程的内存 :snake: 。
PyMemoryEditor
一个纯 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:
# 扫描整个进程,查找所有保存值为 100 的地址。
for address in process.search_by_value(int, value=100):
print(f"Found at 0x{address:X}")
# 读取当前值,然后写回一个新值。
current = process.read_int(address)
process.write_int(address, current + 500)
就这么简单 —— 用三行代码读取、写入或扫描另一个进程,在所有平台上操作方式完全相同。
📖 文档
完整文档位于 pymemoryeditor.readthedocs.io —— 涵盖安装、Cheat Engine 工作流、每个方法和参数、GUI 应用指南、平台说明及故障排查。
快速导航地图:
| 快速入门 | 打开进程,读取、写入并运行你的第一次扫描。 |
| 搜索内存 | 数值扫描、范围、细化结果、Cheat Engine 循环。 |
| 模式扫描 | 使用字节签名(AOB)和正则表达式查找代码/数据。 |
| 指针 | 多级指针链和实时 RemotePointer。 |
| 指针扫描 | 查找可绕过 ASLR 的静态指针。 |
| GUI 应用 | 捆绑的 Cheat Engine 风格扫描器。 |
| API 参考 | 每个公共类、方法和参数。 |
| 平台说明 | Windows、Linux 和 macOS 上的权限和特殊问题。 |
| 故障排查 | 常见错误及解决方法。 |
可以用它构建什么?
- 🎮 游戏修改与速通工具 —— 经典的 Cheat Engine 用例。
- 🔬 调试与内省 —— 无需附加调试器即可检查实时状态。
- 📊 可观测性工具 —— 采样运行中进程的变量以用于遥测。
- 🔐 安全与逆向工程研究 —— 用于你拥有或获授权测试的系统。
- 🎓 学习 —— 捆绑的应用是了解内存扫描原理的绝佳教学工具。
[!NOTE] 负责任地使用。 PyMemoryEditor 通过操作系统级 API 与其他进程通信。 请仅将其指向你拥有或获得明确许可检查的进程。
🤝 贡献
非常欢迎拉取请求、Bug 报告和功能建议。请阅读
CONTRIBUTING.md 了解开发环境设置、测试布局以及
需要注意的少量平台特定问题。
如果 PyMemoryEditor 对你的项目有所帮助,请为仓库点 ⭐ —— 这是支持该项目工作 并帮助其他人发现该库的最简单方式。
许可证
基于 MIT License 发布 —— 免费用于个人和商业用途。