
PyMemoryEditor v2.1.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:
# 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 라이브러리
몇 줄의 Python 코드만으로 다른 프로세스의 메모리를 완전히 제어할 수 있습니다:
- ✅ 값 읽기 및 쓰기 (
int,float,bool,str,bytes) - 🔍 값 스캔 — 8가지 비교 모드 지원
- 🎯 패턴 스캔 (IDA 스타일 AOB 및 정규식)
- 🔗 포인터 체인 + 실시간
RemotePointer핸들 - 🧭 포인터 스캔 — ASLR에도 유효한 정적 포인터 탐색
- 🗺️ 메모리 맵, 모듈, 스레드
- 🧱 원격 메모리 할당 및 해제 (Windows / macOS)
🖥️ 번들 GUI 앱
라이브러리의 모든 기능을 코드 없이 사용할 수 있습니다:
- ⚡ 설정 불필요 — 프로세스에 연결하고 몇 초 만에 스캔 시작
- 🧲 결과 정제 워크플로 — 실시간 시각적 피드백과 함께 First Scan → Next Scan
- 📋 치트 테이블 — 실시간 값 고정/쓰기, JSON 가져오기/내보내기
- 🔬 헥스 뷰어 — 원시 메모리 탐색 및 인라인 값 쓰기
- 🧩 포인터 스캔 UI — 몇 번의 클릭으로 세션 간 스캔, 내보내기 및 재스캔
- 🎨 원클릭 액세스 — 코드 없이 모든 기능을 버튼 하나로
📖 문서
전체 문서는 **pymemoryeditor.readthedocs.io**에서 확인할 수 있습니다 — 설치, Cheat Engine 워크플로, 모든 메서드와 매개변수, GUI 앱 가이드, 플랫폼 참고 사항 및 문제 해결.
한눈에 보는 문서 지도:
| 빠른 시작 | 프로세스를 열고, 읽고, 쓰고, 첫 번째 스캔을 실행하세요. |
| 메모리 검색 | 값 스캔, 범위, 결과 정제, Cheat Engine 반복 루프. |
| 패턴 스캔 | 바이트 시그니처(AOB)와 정규식으로 코드/데이터를 찾습니다. |
| 포인터 | 다중 레벨 포인터 체인과 실시간 RemotePointer. |
| 포인터 스캔 | ASLR에도 유효한 정적 포인터를 찾습니다. |
| GUI 앱 | 번들로 제공되는 Cheat Engine 스타일 스캐너. |
| API 레퍼런스 | 모든 공개 클래스, 메서드 및 매개변수. |
| 플랫폼 참고 사항 | Windows, Linux, macOS에서의 권한 및 특이사항. |
| 문제 해결 | 일반적인 오류와 해결 방법. |
무엇을 만들 수 있나요?
- 🎮 게임 모딩 및 스피드런 도구 — 고전적인 Cheat Engine 활용 사례.
- 🔬 디버깅 및 내부 관찰 — 디버거를 연결하지 않고 실시간 상태 검사.
- 📊 관측 가능성 도구 — 텔레메트리를 위해 실행 중인 프로세스의 변수 샘플링.
- 🔐 보안 및 리버스 엔지니어링 연구 — 소유한 시스템 또는 테스트 권한이 있는 시스템에서.
- 🎓 학습 — 번들 앱은 메모리 스캐닝의 작동 방식을 가르치는 훌륭한 도구입니다.
[!NOTE] 책임 있는 사용. PyMemoryEditor는 OS 수준 API를 통해 다른 프로세스와 통신합니다. 소유한 프로세스 또는 명시적 검사 권한이 있는 프로세스에만 사용하세요.
🤝 기여
풀 리퀘스트, 버그 리포트, 기능 아이디어를 모두 환영합니다. 개발 환경 구성, 테스트 구조, 알아두어야 할 플랫폼별 특이사항은 CONTRIBUTING.md를 참조하세요.
PyMemoryEditor가 프로젝트에 도움이 되었다면 저장소에 ⭐를 남겨주세요 — 작업을 지원하고 다른 사람들이 이 라이브러리를 발견하도록 돕는 가장 쉬운 방법입니다.
라이선스
MIT 라이선스로 배포됩니다 — 개인 및 상업적 용도로 무료로 사용할 수 있습니다.