PyMemoryEditor について
PyMemoryEditor は、ctypes を基盤とする純粋な Python ライブラリで、Windows・Linux・macOS 上で実行中のプロセスのメモリを読み取り、書き込み、スキャンできます。Cheat Engine 風の GUI アプリと、AI アシスタントからメモリスキャンを実行できる MCP サーバーも含まれます。
主な機能
- 01Windows・Linux・macOS で共通の API
- 02プロセスメモリの読み取り・書き込み・スキャン
- 03値による検索と範囲指定、結果の絞り込み
- 04バイトシグネチャ(AOB)と正規表現によるパターンスキャン
- 05多段ポインタチェーンとポインタスキャン
- 06NumPy によるスキャン高速化(任意)
活用シーン
- 01ゲームの数値を変更してデバッグや MOD 開発を行う
- 02デバッガーを使わずに稼働中のプログラムの状態を確認する
- 03AI アシスタントが MCP 経由でアドレスを特定する
MCP 対応
MCP サーバー pymemoryeditor-mcp として 14 のツールを提供します。スキャン結果はサーバー側でハンドルとして保持され、AI アシスタントに渡す内容を抑えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
14掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
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 の権限や固有の挙動について説明します。 |
| トラブルシューティング | よくあるエラーとその解決方法を説明します。 |
これを使って何を作れますか?
- 🎮 ゲームの改造やスピードラン用ツール — Cheat Engine の代表的な用途です。
- 🔬 デバッグと内部状態の調査 — デバッガーをアタッチせずに、実行中の状態を調べられます。
- 📊 可観測性ツール — 実行中のプロセスの変数をサンプリングして、テレメトリーに利用できます。
- 🔐 セキュリティとリバースエンジニアリングの研究 — 自分が所有するシステム、またはテスト許可を得たシステムで利用できます。
- 🎓 学習 — バンドルされたアプリは、メモリスキャンの仕組みを学ぶのに最適な教材です。
メモ
責任ある使用をお願いします。 PyMemoryEditor は、OS レベルの API を通じて他のプロセスにアクセスします。 自分が所有するプロセス、または調査する明示的な許可を得たプロセスにのみ使用してください。
🤝 コントリビューション
プルリクエスト、バグ報告、機能のアイデアを歓迎します。開発環境のセットアップ、テストの構成、注意が必要なプラットフォーム固有の挙動については、
CONTRIBUTING.md をお読みください。
PyMemoryEditor がプロジェクトに役立った場合は、リポジトリに ⭐ を付けてください。開発を支援し、ほかの人にこのライブラリを知ってもらう最も簡単な方法です。
ライセンス
MIT License のもとで公開されており、個人利用・商用利用ともに無料です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。