
اربط Cursor وCopilot وClaude AI مباشرة بـ Cheat Engine عبر MCP. أتمتة الهندسة العكسية ومسح المؤشرات وتحليل الذاكرة باستخدام اللغة الطبيعية.
دع مراكز بيانات الذكاء الاصطناعي متعددة المليارات تحلل ذاكرة البرنامج نيابةً عنك.
أنشئ تعديلات (mods)، وأدوات تدريب (trainers)، وتدقيقات أمان، وروبوتات ألعاب، وسرّع الهندسة العكسية (RE)، أو افعل أي شيء آخر مع أي برنامج ولعبة في جزء يسير من الوقت.
[!NOTE] شكراً لكم جميعاً على النجوم، محل تقدير كبير! <3
وبشكل خاص، شكر كبير جداً لجميع المساهمين!!
@libangli218, @lauralex, @iamtyroon, @HachiroSan, @Attacktive
أنت تحدّق في غيغابايتات من الذاكرة. ملايين العناوين. آلاف الدوال. العثور على ذلك المؤشر المحدد، ذلك الهيكل المحدد يستغرق أياماً أو أسابيع من العمل اليدوي.
ماذا لو كان بإمكانك أن تسأل فقط؟
"اعثر على خطاف فك تشفير الحزم."
"اعثر على OPcode لإحداثيات الشخصية."
"اعثر على OPcode لقيم الصحة."
"اعثر على نمط AOB الفريد لجعل أداة التدريب موثوقة بعد تحديثات اللعبة."
هذا بالضبط ما يفعله هذا المشروع.
- توقف عن التنقيب في مفرغات الهكس (hex dumps) وابدأ في إجراء محادثات مع الذاكرة.
| قبل (يدوي) |
|---|
ذكاؤك الاصطناعي يستطيع الآن:
[[base+0x10]+0x20]+0x8 → تُحل في ميلي ثانيةflowchart TD
AI[AI Agent: Claude/Cursor/Copilot]
AI -->|MCP Protocol - JSON-RPC over stdio| MCP
MCP[mcp_cheatengine.py - Python MCP Server]
MCP <-->|Named Pipe - Async| PIPE
PIPE["\\.\\pipe\\CE_MCP_Bridge_v99"]
PIPE <--> CE
subgraph CE[Cheat Engine - DBVM Mode]
subgraph LUA[ce_mcp_bridge.lua]
WORKER[Worker Thread - Blocking I/O]
MAIN[Main Thread - GUI + CE API]
WORKER <-->|Sync| MAIN
end
end
MAIN -->|Memory Access| TARGET[Target .exe]pip install -r MCP_Server/requirements.txt
أو يدوياً:
pip install mcp pywin32
[!NOTE] وضع الأنبوب الأصلي لنظام Windows فقط لأنه يستخدم الأنابيب المسماة (
pywin32). استخدم نقل مرحّل TCP عندما يعمل خادم MCP خارج بيئة Windows التي تستضيف Cheat Engine ولا يمكنه فتح الأنبوب المسمى مباشرة.
File -> Execute Script -> افتح MCP_Server/ce_mcp_bridge.lua -> Execute.File -> Execute Script، استخدم Table -> Show Cheat Table Lua Script، والصق سطر dofile(...) أدناه، ونفّذه:dofile([[C:\path\to\cheatengine-mcp-bridge\MCP_Server\ce_mcp_bridge.lua]])
ابحث عن: [MCP v12.0.0] MCP Server Listening on: CE_MCP_Bridge_v99
أضف إلى إعداد MCP الخاص بك (مثال: mcp_config.json):
{
"servers": {
"cheatengine": {
"command": "python",
"args": ["C:/path/to/MCP_Server/mcp_cheatengine.py"]
}
}
}
أعد تشغيل IDE لتحميل إعداد خادم MCP.
بالنسبة إلى Codex، أضف كتلة خادم TOML إلى ~/.codex/config.toml:
[mcp_servers.cheatengine]
command = "python"
args = ['C:\path\to\cheatengine-mcp-bridge\MCP_Server\mcp_cheatengine.py']
استخدم علامات الاقتباس المفردة لمسار Windows حتى يتعامل TOML مع الخطوط المائلة العكسية حرفياً.
يتيح مرحّل TCP لـ mcp_cheatengine.py التواصل مع Cheat Engine عبر مقبس TCP بدلاً من فتح الأنبوب المسمى لنظام Windows بنفسه. لا يزال Cheat Engine وجسر Lua يعملان على Windows، بينما يمكن لخادم MCP العمل في أي مكان يمكنه الوصول إلى المرحّل: عملية Windows أخرى، أو جهاز افتراضي (VM)، أو حاوية، أو مضيف Linux، أو جهاز بعيد. يمكن استخدام هذا أيضاً مع WSL دون تغيير جسر Lua.
MCP_Server/ce_mcp_bridge.lua في Cheat Engine كالمعتاد.python C:\path\to\cheatengine-mcp-bridge\MCP_Server\ce_tcp_relay.py --host 127.0.0.1 --port 9876
pywin32، ثم شغّل/اضبط خادم MCP باستخدام نقل TCP:python3 -m pip install -r MCP_Server/requirements-tcp.txt
CE_MCP_TRANSPORT=tcp \
CE_MCP_HOST=127.0.0.1 \
CE_MCP_PORT=9876 \
python3 /path/to/cheatengine-mcp-bridge/MCP_Server/mcp_cheatengine.py
لإعدادات عملاء MCP التي تدعم متغيرات البيئة:
{
"servers": {
"cheatengine": {
"command": "python3",
"args": ["/path/to/cheatengine-mcp-bridge/MCP_Server/mcp_cheatengine.py"],
"env": {
"CE_MCP_TRANSPORT": "tcp",
"CE_MCP_HOST": "127.0.0.1",
"CE_MCP_PORT": "9876"
}
}
}
}
اضبط --host على المرحّل وCE_MCP_HOST على خادم MCP على عناوين تتوافق مع إعداد شبكتك. أبقِ المرحّل مرتبطاً بالواجهات الموثوقة فقط، لأن أي شخص يمكنه الوصول إليه يمكنه التحكم في جسر Cheat Engine.
استخدم أداة ping للتحقق من الاتصال:
{"success": true, "version": "12.0.0", "message": "CE MCP Bridge Active"}
"What process is attached?"
"Read 16 bytes at the base address"
"Disassemble the entry point"
| الأداة | الوصف |
|---|
| الأداة | الوصف |
|---|---|
set_breakpoint, set_data_breakpoint | نقاط توقف للعتاد |
start_dbvm_watch | تتبّع غير مرئي في Ring -1 |
| الأداة | الوصف |
|---|---|
open_process, get_process_list | الارتباط بالعمليات قيد التشغيل أو تعدادها |
create_process | تشغيل عملية جديدة تحت سيطرة CE |
| الأداة | الوصف |
|---|---|
allocate_memory, free_memory | حجز وتحرير الذاكرة في الهدف |
set_memory_protection, full_access | ضبط علامات حماية الصفحات |
| الأداة | الوصف |
|---|---|
inject_dll | تحميل DLL في العملية الهدف |
execute_code, execute_method | تشغيل shellcode أو أساليب CE Lua عن بُعد |
| الأداة | الوصف |
|---|---|
register_symbol, get_symbol_info | إنشاء الرموز المسماة والاستعلام عنها |
enable_windows_symbols | تفعيل دقة رموز PDB |
| الأداة | الوصف |
|---|---|
assemble_instruction | تجميع تعليمة x86/x64 واحدة إلى بايتات |
compile_c_code | ترجمة كود C المصدر إلى shellcode محقون |
generate_api_hook_script | توليد قالب خطاف API لسكربت التجميع التلقائي في CE |
| الأداة | الوصف |
|---|---|
find_window | تحديد موقع نافذة حسب العنوان أو الفئة |
send_window_message | إرسال رسائل WM_* إلى نافذة هدف |
| الأداة | الوصف |
|---|---|
get_pixel | أخذ عينة من لون بكسل عند إحداثيات الشاشة |
is_key_pressed, do_key_press | الاستعلام عن إدخال لوحة المفاتيح ومحاكاته |
| الأداة | الوصف |
|---|---|
load_table, save_table | تحميل / حفظ ملفات جداول الغش .CT |
get_address_list | تعداد الإدخالات في جدول الغش النشط |
| الأداة | الوصف |
|---|---|
dbk_get_cr3 | قراءة سجل CR3 للعملية الهدف |
read_process_memory_cr3 | قراءة الذاكرة الفعلية عبر تجاوز CR3 |
والمزيد في AI_Context/MCP_Bridge_Command_Reference.md
[!CAUTION] يجب عليك تعطيل: Cheat Engine → Settings → Extra → "Query memory region routines"
عند التفعيل: يسبب أعطال شاشة الموت الزرقاء
CLOCK_WATCHDOG_TIMEOUTبسبب تعارضات مع DBVM/مكافحة الغش عند فحص الصفحات المحمية.
حمّل الجسر من القرص باستخدام dofile(...) بدلاً من لصق السكربت الكامل في سكربت جدول الغش. يصرّح الجسر أيضاً بمعالجات الأوامر كدوال عامة عن قصد؛ وهذا يتجنب حد Cheat Engine البالغ 200 متغير محلي في كتلة Lua عند تجميع الجسر الكامل دفعة واحدة.
تحقق من هذه الأمور بالترتيب:
MCP Server Listening on: CE_MCP_Bridge_v99.mcp_cheatengine.py المُعد موجود.pip install -r MCP_Server/requirements.txt كلاً من mcp وpywin32.ping. يعيد الاتصال الناجح success: true وإصدار الجسر. process_id: 0 أمر طبيعي حتى يتم إرفاق Cheat Engine بعملية هدف.العثور على قيمة:
You: "Scan for gold: 15000" → AI finds 47 results
You: "Gold changed to 15100" → AI filters to 3 addresses
You: "What writes to the first one?" → AI sets hardware BP
You: "Disassemble that function" → Full AddGold logic revealed
فهم بنية:
You: "What's at [[game.exe+0x1234]+0x10]?"
AI: "RTTI: CPlayerInventory"
AI: "0x00=vtable, 0x08=itemCount(int), 0x10=itemArray(ptr)..."
CLAUDE.md # Claude Code agent guidance (this repo)
README.md # User-facing documentation
MCP_Server/
├── mcp_cheatengine.py # Python MCP Server (FastMCP)
├── ce_mcp_bridge.lua # Cheat Engine Lua Bridge
└── test_mcp.py # Test Suite
AI_Context/
├── BATCH_WORKER_BRIEFING.md # Parallel-worker task specifications (v12 overhaul)
├── MCP_Bridge_Command_Reference.md # MCP Commands reference
├── CE_LUA_Documentation.md # Full CheatEngine 7.6 official documentation
└── AI_Guide_MCP_Server_Implementation.md # Full technical documentation for AI agent
تشغيل الاختبار:
python MCP_Server/test_mcp.py
المخرجات المتوقعة:
✅ Memory Reading: 6/6 tests passed
✅ Process Info: 4/4 tests passed
✅ Code Analysis: 8/8 tests passed
✅ Breakpoints: 4/4 tests passed
✅ DBVM Functions: 3/3 tests passed
✅ Utility Commands: 11/11 tests passed
⏭️ Skipped: 1 test (generate_signature)
────────────────────────────────────
Total: 36/37 PASSED (100% success)
لم تعد بحاجة إلى أن تكون خبيراً. فقط اطرح الأسئلة الصحيحة.
⚠️ إخلاء مسؤولية تعليمي
هذا الكود لأغراض تعليمية وبحثية فقط. أُنشئ لعرض قدرات بروتوكول سياق النموذج (MCP) وتصحيح الأخطاء القائم على نماذج اللغة الكبيرة (LLM). لا أقرّ استخدام هذه الأدوات للاختراق الخبيث، أو الغش في الألعاب متعددة اللاعبين، أو انتهاك شروط الخدمة. هذا عرض توضيحي لأتمتة هندسة البرمجيات.
| بعد (وكيل ذكاء اصطناعي + MCP) |
|---|
| اليوم 1: العثور على عنوان الحزمة | الدقيقة 1: "اعثر على خطاف فك تشفير حزم RX" |
| اليوم 2: تتبّع ما يكتب إليه | الدقيقة 3: "ولّد توقيع AOB فريداً لضمان استمراريته بعد تحديثات اللعبة" |
| اليوم 3: العثور على خطاف RX | الدقيقة 6: "اعثر على OPcodes الحركة" |
| اليوم 4: توثيق البنية | الدقيقة 10: "أنشئ مفسّر Python لتحويل الهكس إلى نص عادي" |
| اليوم 5: تحديثات اللعبة، ابدأ من جديد | تم. |
read_memory, read_integer, read_string | قراءة أي نوع بيانات |
read_pointer_chain | تتبّع مسارات [[base+0x10]+0x20] |
scan_all, aob_scan | العثور على القيم وأنماط البايتات |
| الأداة | الوصف |
|---|
disassemble, analyze_function | تحليل الكود |
dissect_structure | كشف الحقول والأنواع تلقائياً |
get_rtti_classname | تحديد أنواع كائنات C++ |
find_references, find_call_references | المراجع المتبادلة |
pause_process, unpause_process | إيقاف / استئناف تنفيذ الهدف |
| المتغير | الافتراضي | الغرض |
|---|
CE_MCP_TIMEOUT | 30 | المهلة (بالثواني) لكل استدعاء أداة MCP. |
CE_MCP_ALLOW_SHELL | غير مضبوط | اضبطه على 1 لتفعيل أداتي run_command / shell_execute. خطر تنفيذ كود عشوائي — اتركه غير مضبوط افتراضياً. |