
PyMemoryEditor v2.2.0
実行中の任意のプロセスのメモリを、わずか数行のPythonコードで検査・変更・検索できる、純粋なPythonライブラリです :snake:。
PyMemoryEditor
ctypes をベースにした純粋な Python ライブラリで、実行中のあらゆるプロセスのメモリを数行の Python で検査・変更・検索できます — Windows、Linux、macOS で Cheat Engine のワークフローを実現します!
あらゆるプロセスのメモリを Python から直接読み取り、書き込み、スキャン。
単一の統一 API。3 つのオペレーティングシステム。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]"
AI アシスタントに Model Context Protocol 経由でこのライブラリを操作させるには、mcp エクストラを使用します(以下を参照):
pip install "PyMemoryEditor[mcp]"
📖 完全なガイドは 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)
これだけです — 別のプロセスの読み取り、書き込み、スキャンを 3 行で、どのプラットフォームでも同じ方法で行えます。
AI アシスタントに実行させる (MCP)
PyMemoryEditor には Model Context Protocol サーバーが同梱されているため、AI アシスタントがループ全体を自分で実行できます:
「ゲームの体力の値を見つけて。今は 100 だよ。」
スキャンし、ダメージを受けるよう指示し、一致する候補を絞り込み、アドレスを提示します。
pip install "PyMemoryEditor[mcp]"
claude mcp add pymemoryeditor -- pymemoryeditor-mcp
または、mcpServers JSON を読み取る任意のクライアント(Claude Desktop、各種エディタなど)で:
{
"mcpServers": {
"pymemoryeditor": {
"command": "pymemoryeditor-mcp",
"args": []
}
}
}
14 個のツールがワークフロー全体をカバーし、スキャン結果はハンドルの背後でサーバー側に保持されるため、初回スキャンで 40,000 件ヒットしてもコンテキスト全体ではなくわずかなトークンしか消費しません。
詳細は MCP ガイドをお読みください。
📖 ドキュメント
完全なドキュメントは pymemoryeditor.readthedocs.io にあります — インストール、Cheat Engine のワークフロー、すべてのメソッドとパラメータ、GUI アプリのガイド、プラットフォームごとの注意事項、トラブルシューティング。
どこを見ればよいかの簡単なマップ:
| クイックスタート | プロセスを開き、読み取り、書き込み、最初のスキャンを実行します。 |
| メモリの検索 | 値スキャン、範囲、結果の絞り込み、Cheat Engine のループ。 |
| パターンスキャン | バイトシグネチャ (AOB) と正規表現でコードやデータを検索します。 |
| ポインタ | 多段ポインタチェーンとライブな RemotePointer。 |
| ポインタスキャン | ASLR を生き延びる静的ポインタを見つけます。 |
| GUI アプリ | 同梱の Cheat Engine スタイルのスキャナ。 |
| MCP サーバー | AI アシスタントにスキャン・絞り込みループを実行させます。 |
| API リファレンス | すべての公開クラス、メソッド、パラメータ。 |
| プラットフォームごとの注意事項 | Windows、Linux、macOS における権限と癖。 |
| トラブルシューティング | よくあるエラーとその修正方法。 |
これで何が作れる?
- 🎮 ゲーム MOD と RTA ツール — 定番の Cheat Engine のユースケース。
- 🔬 デバッグとイントロスペクション — デバッガをアタッチせずにライブな状態を検査。
- 📊 オブザーバビリティツール — テレメトリのために実行中プロセスの変数をサンプリング。
- 🔐 セキュリティとリバースエンジニアリングの研究 — 自分が所有する、またはテストを許可されたシステム上で。
- 🎓 学習 — 同梱のアプリはメモリスキャンの仕組みを学ぶのに最適な教材です。
[!NOTE] 責任ある使用。 PyMemoryEditor は OS レベルの API を通じて他のプロセスと通信します。 自分が所有する、または検査の明示的な許可を得たプロセスにのみ使用してください。
🤝 コントリビューション
プルリクエスト、バグ報告、機能のアイデアを大歓迎します。開発環境のセットアップ、テスト構成、および注意すべき少数のプラットフォーム固有の癖については
CONTRIBUTING.md をお読みください。
PyMemoryEditor があなたのプロジェクトの役に立ったなら、リポジトリに ⭐ を付けてください — これがこの活動を支援し、他の人がこのライブラリを見つけるのを助ける最も簡単な方法です。
ライセンス
MIT License の下で公開されています — 個人利用および商用利用は無料です。