
Eine reine Python-Bibliothek, mit der du den Speicher eines beliebigen laufenden Prozesses in wenigen Zeilen Python untersuchen, ändern und durchsuchen kannst 🐍.
# PyMemoryEditor
<!-- mcp-name: io.github.JeanExtreme002/PyMemoryEditor -->
Eine reine Python-Bibliothek (aufgebaut auf [ctypes](https://docs.python.org/3/library/ctypes.html)), mit der du **den Speicher jedes laufenden Prozesses in wenigen Zeilen Python inspizieren, verändern und durchsuchen kannst** — Cheat-Engine-Workflows unter Windows, Linux und macOS!
---
<p align="center">
<img src="https://raw.githubusercontent.com/JeanExtreme002/PyMemoryEditor/main/PyMemoryEditor/app/assets/icon.svg" alt="PyMemoryEditor logo" width="120" />
</p>
<p align="center">
<b>Lies, schreibe und scanne den Speicher jedes Prozesses — direkt aus Python.</b><br>
<i>Eine einheitliche API. Drei Betriebssysteme. Kein C-Compiler. Kein nativer Build-Schritt.</i>
</p>
<p align="center">
<a href="https://github.com/JeanExtreme002/PyMemoryEditor/actions/workflows/python-package.yml"><img src="https://github.com/JeanExtreme002/PyMemoryEditor/actions/workflows/python-package.yml/badge.svg" alt="Python Package" /></a>
<a href="https://codecov.io/gh/JeanExtreme002/PyMemoryEditor"><img src="https://codecov.io/gh/JeanExtreme002/PyMemoryEditor/branch/main/graph/badge.svg" alt="Coverage" /></a>
<a href="https://pypi.org/project/PyMemoryEditor/"><img src="https://img.shields.io/pypi/v/PyMemoryEditor" alt="Pypi" /></a>
<a href="https://github.com/JeanExtreme002/PyMemoryEditor"><img src="https://img.shields.io/pypi/l/PyMemoryEditor" alt="License" /></a>
<a href="https://github.com/JeanExtreme002/PyMemoryEditor"><img src="https://img.shields.io/badge/python-3.10+-8A2BE2" alt="Python Version" /></a>
<a href="https://pypi.org/project/PyMemoryEditor/"><img src="https://static.pepy.tech/personalized-badge/pymemoryeditor?period=total&units=international_system&left_color=grey&right_color=orange&left_text=Downloads" alt="Downloads" /></a>
</p>
<p align="center">
Läuft auf <b>Windows</b> · <b>Linux</b> · <b>macOS</b> — 32-Bit und 64-Bit.
</p>
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/8411/aad09c3d92b7123b753fb1b9a7950622aac7d0f84f76b1992ca3e3defc4bf050.png" alt="PyMemoryEditor app attached to a running process" width="820" />
</p>
<p align="center">
Ändere einen Wert in einem laufenden Spiel · inspiziere den Zustand eines aktiven Programms ·
sammle Daten direkt aus dem RAM.
</p>
---
## Installation
```bash
pip install PyMemoryEditor
```
Um zusätzlich die mitgelieferte GUI-App zu installieren (ein Scanner im Cheat-Engine-Stil), verwende das `app`-Extra:
```bash
pip install "PyMemoryEditor[app]"
pymemoryeditor
```
Für schnellere Scans bei großen Prozessen füge das `speed`-Extra hinzu. Es zieht NumPy
hinzu und vektorisiert automatisch die Vergleichsschleife des numerischen Scans — ~10–30× schneller bei
selektiven Scans:
```bash
pip install "PyMemoryEditor[speed]"
```
Damit ein KI-Assistent die Bibliothek über das Model Context Protocol steuern kann, verwende
das `mcp`-Extra (siehe [unten](#let-an-ai-assistant-do-it-mcp)):
```bash
pip install "PyMemoryEditor[mcp]"
```
📖 Vollständige Anleitung unter **[Read the Docs](https://pymemoryeditor.readthedocs.io)**.
---
## In Aktion
```python
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)
```
Das war's — lies, schreibe oder scanne einen anderen Prozess in drei Zeilen, auf jeder Plattform gleich.
---
## Lass einen KI-Assistenten das übernehmen (MCP)
PyMemoryEditor liefert einen **Model Context Protocol-Server** mit, sodass ein KI-Assistent die gesamte Schleife selbst ausführen kann:
> *"Finde den Health-Wert in meinem Spiel. Er ist gerade 100."*
>
> Er scannt, bittet dich, Schaden zu nehmen, verfeinert die Treffer und übergibt dir die Adresse.
```bash
pip install "PyMemoryEditor[mcp]"
claude mcp add pymemoryeditor -- pymemoryeditor-mcp
```
Oder in jedem Client, der `mcpServers`-JSON liest (Claude Desktop, Editoren, …):
```json
{
"mcpServers": {
"pymemoryeditor": {
"command": "pymemoryeditor-mcp",
"args": []
}
}
}
```
Vierzehn Tools decken den vollständigen Workflow ab, wobei Scan-Ergebnisse serverseitig hinter einem Handle gehalten werden, sodass ein erster Scan mit 40 000 Treffern nur ein paar Token kostet statt deines gesamten Kontexts.
Lies die [MCP-Anleitung](https://pymemoryeditor.readthedocs.io/en/latest/mcp.html), um mehr zu erfahren.
---
## 📖 Dokumentation
Die vollständige Dokumentation findest du unter **[pymemoryeditor.readthedocs.io](https://pymemoryeditor.readthedocs.io)** — Installation, der Cheat-Engine-Workflow, jede Methode und jeder Parameter, die Anleitung zur GUI-App, Plattformhinweise und Fehlerbehebung.
Eine kurze Übersicht, wo du was findest:
<table>
<tr><td><a href="https://pymemoryeditor.readthedocs.io/en/latest/quickstart.html"><b>Quick Start</b></a></td><td>Öffne einen Prozess, lies, schreibe und führe deinen ersten Scan aus.</td></tr>
<tr><td><a href="https://pymemoryeditor.readthedocs.io/en/latest/guide/searching.html"><b>Speicher durchsuchen</b></a></td><td>Wert-Scans, Bereiche, Ergebnisse verfeinern, die Cheat-Engine-Schleife.</td></tr>
<tr><td><a href="https://pymemoryeditor.readthedocs.io/en/latest/guide/pattern-scan.html"><b>Pattern-Scan</b></a></td><td>Finde Code/Daten mit Byte-Signaturen (AOB) und Regex.</td></tr>
<tr><td><a href="https://pymemoryeditor.readthedocs.io/en/latest/guide/pointers.html"><b>Pointer</b></a></td><td>Mehrstufige Pointer-Ketten und der Live-<code>RemotePointer</code>.</td></tr>
<tr><td><a href="https://pymemoryeditor.readthedocs.io/en/latest/guide/pointer-scan.html"><b>Pointer-Scan</b></a></td><td>Finde statische Pointer, die ASLR überleben.</td></tr>
<tr><td><a href="https://pymemoryeditor.readthedocs.io/en/latest/app.html"><b>Die GUI-App</b></a></td><td>Der mitgelieferte Scanner im Cheat-Engine-Stil.</td></tr>
<tr><td><a href="https://pymemoryeditor.readthedocs.io/en/latest/mcp.html"><b>Der MCP-Server</b></a></td><td>Lass einen KI-Assistenten die Scan-/Verfeinerungs-Schleife steuern.</td></tr>
<tr><td><a href="https://pymemoryeditor.readthedocs.io/en/latest/api/openprocess.html"><b>API-Referenz</b></a></td><td>Jede öffentliche Klasse, Methode und jeder Parameter.</td></tr>
<tr><td><a href="https://pymemoryeditor.readthedocs.io/en/latest/platform-notes.html"><b>Plattformhinweise</b></a></td><td>Berechtigungen und Eigenheiten unter Windows, Linux und macOS.</td></tr>
<tr><td><a href="https://pymemoryeditor.readthedocs.io/en/latest/troubleshooting.html"><b>Fehlerbehebung</b></a></td><td>Häufige Fehler und wie man sie behebt.</td></tr>
</table>
---
## Was kann ich damit bauen?
- 🎮 **Game-Modding- & Speedrunning-Tools** — der klassische Cheat-Engine-Anwendungsfall.
- 🔬 **Debugging & Introspektion** — inspiziere den Live-Zustand, ohne einen Debugger anzuhängen.
- 📊 **Observability-Tooling** — sample Variablen in einem laufenden Prozess für Telemetrie.
- 🔐 **Security- & Reverse-Engineering-Forschung** — auf Systemen, die dir gehören oder die du autorisiert testen darfst.
- 🎓 **Lernen** — die mitgelieferte App ist ein großartiges Lehrwerkzeug dafür, wie Memory-Scanning funktioniert.
> [!NOTE]
> **Verantwortungsvolle Nutzung.** PyMemoryEditor kommuniziert über OS-Level-APIs mit anderen Prozessen.
> Richte es nur auf Prozesse, die dir gehören oder die du ausdrücklich inspizieren darfst.
---
## 🤝 Mitwirken
Pull Requests, Bug-Reports und Feature-Ideen sind sehr willkommen. Lies
[`CONTRIBUTING.md`](https://github.com/JeanExtreme002/PyMemoryEditor/blob/main/CONTRIBUTING.md) für das Entwicklungs-Setup, das Test-Layout und
die kleine Menge plattformspezifischer Eigenheiten, die du kennen solltest.
Wenn PyMemoryEditor deinem Projekt geholfen hat, gib dem Repo bitte einen ⭐ — das ist der einfachste Weg,
die Arbeit zu unterstützen und anderen zu helfen, die Bibliothek zu entdecken.
---
## Lizenz
Veröffentlicht unter der [MIT-Lizenz](https://github.com/JeanExtreme002/PyMemoryEditor/blob/main/LICENSE) — kostenlos für persönliche und kommerzielle Nutzung.