Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
retrokit — 32-बिट DOS और Win32 गेम्स (1993-2010) की रिवर्स इंजीनियरिंग के लिए Headless-Ghidra टूलकिट: स्वयं का LE/LX लोडर, Watcom कॉलिंग कन्वेंशन, लाइब्रेरी सिग्नेचर, MCP सर्वर | Kitploit
उपकरण/GitHubGitHub/nemo22/retrokit
स्थैतिक विश्लेषणरिवर्स इंजीनियरिंगस्क्रिप्टिंग और स्वचालनमालवेयर विश्लेषणउपयोगिताएँ और फ्रेमवर्कबाइनरी विश्लेषणAI-सहायित रिवर्सिंगAI सुरक्षा
GitHubnemo22/retrokit

retrokit

32-बिट DOS और Win32 गेम्स (1993-2010) की रिवर्स इंजीनियरिंग के लिए Headless-Ghidra टूलकिट: स्वयं का LE/LX लोडर, Watcom कॉलिंग कन्वेंशन, लाइब्रेरी सिग्नेचर, MCP सर्वर

161322घं 15मि पहलेअभी तक समीक्षित नहीं
रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

retro-kit – पुराने गेम्स की रिवर्स इंजीनियरिंग (हेडलेस Ghidra)

Ghidra अकेले बनाम retro-kit: COM vtables के माध्यम से DirectDraw कॉल्स

लगभग 1993–2010 के 32-बिट गेम्स को हेडलेस Ghidra के साथ डीकंपाइल करने के लिए एक टूलकिट:

  • DOS LE/LX (DOS/4GW, DOS/32A, PMODE/W, CauseWay, DOS/4G bind; साथ ही OS/2 LX और VxD) Watcom C/C++ से बनाए गए – Ghidra के लिए अपने स्वयं के LE/LX लोडर और दोनों कॉलिंग कन्वेंशन्स के लिए Watcom कंपाइलर स्पेक्स के साथ।
  • Win32 PE (आमतौर पर MSVC): COM vtables के माध्यम से DirectX कॉल्स उनके मेथड नामों के साथ दिखाए गए, Miles/Smacker/Bink/FMOD/BASS इम्पोर्ट्स टाइप किए गए, MSVC RTTI से C++ क्लासेस, Rich header से कंपाइलर वर्ज़न।

आउटपुट एक वर्कस्पेस है जिसमें एक बड़ी .c फ़ाइल होती है जिसमें हर फ़ंक्शन के साथ-साथ इंडेक्स (फ़ंक्शन्स, कॉल ग्राफ़, स्ट्रिंग्स, fixups/pointer tables, इम्पोर्ट्स) होते हैं जिन्हें आप grep कर सकते हैं और लोगों या AI एजेंट्स के बीच बाँट सकते हैं। विश्लेषण के दौरान पाए गए नाम वापस Ghidra में जाते हैं और एक्सपोर्ट फिर से जनरेट किया जाता है।

इंस्टॉल

पूर्वापेक्षाएँ: Ghidra 12.x (अनपैक किया हुआ), एक JDK 21+ (JAVA_HOME), Python 3.10+।

pipx install git+https://github.com/nemo22/retrokit   # or from a checkout: pip install .  (or python -m retrokit)
retrokit doctor                                    # checks Python, Ghidra, Java, loader, cspecs
retrokit install-loader                            # once per Ghidra install (DOS LE/LX only)

Ghidra --ghidra DIR, $GHIDRA_INSTALL_DIR, या गेम या किट के बगल में स्थित ghidra/ghidra_* डायरेक्टरी के माध्यम से पाया जाता है। install-loader उस Ghidra के विरुद्ध javac के साथ लोडर को कंपाइल करता है (Gradle के बिना), इसे Ghidra/Extensions में इंस्टॉल करता है और Watcom कंपाइलर स्पेक्स को रजिस्टर करता है; Ghidra को अपडेट करने के बाद इसे फिर से चलाएँ (doctor आपको बताता है कि कब)।

उपयोग

retrokit info GAME.EXE              # format, DOS extender, compiler, calling convention
retrokit analyze GAME.EXE           # full pipeline -> GAME_analysis/  (-o DIR to choose)
retrokit show GAME_analysis FUN_00012345 main
retrokit tables GAME_analysis       # function-pointer and string tables (from fixups)
retrokit names GAME_analysis        # apply notes/names_*.csv, re-export
retrokit reexport GAME_analysis     # re-run the fix-up passes + export without re-importing

analyze प्रारूप, लोडर और – Watcom के लिए – कॉलिंग कन्वेंशन का पता लगाता है (--cspec watcom|watcomreg इसे ओवरराइड करता है) और उन्हें GAME_analysis/retrokit.json में संग्रहीत करता है; बाद के कमांड को केवल वर्कस्पेस की आवश्यकता होती है। एक वर्कस्पेस:

GAME_analysis/
  retrokit.json        how the binary was analysed
  decomp/              <exe>_decompiled.c, functions.csv (addr,name,size,callers,callees,cc,signature),
                       calls.txt, strings.txt, data_symbols.txt, memory_blocks.txt,
                       fixups.txt (source -> target of every pointer: the key to pointer tables
                       and to which function uses which string), imports.txt (PE)
  notes/               findings, names_<topic>.csv proposals
  ghidra_project/      the Ghidra project (open it in the Ghidra GUI too)
  logs/

AI एजेंट: retrokit mcp GAME_analysis वर्कस्पेस पर एक MCP सर्वर (stdio, कोई अतिरिक्त पैकेज नहीं) है: फ़ंक्शन, डीकंपाइल किया गया कोड, कॉल ग्राफ़, क्रॉस रेफ़रेंस, स्ट्रिंग्स, पॉइंटर टेबल, डिसअसेम्बली और बाइट्स, लाइब्रेरीज़; यह नाम प्रस्तावों और नोट्स को रिकॉर्ड करता है और लागू किए गए नामों के साथ पुनः निर्यात कर सकता है (अनुरोध पर, बैकग्राउंड में)। Claude Code:

claude mcp add retrokit -- retrokit mcp /path/to/GAME_analysis

अन्य क्लाइंट्स के लिए सेटअप, हर टूल और एक एजेंट को कैसे काम करना चाहिए: docs/MCP.md; एजेंट्स के लिए एक संक्षिप्त संस्करण AGENTS.md में।

नाम: प्रस्ताव notes/names_<topic>.csv में लिखें (addr,name,confidence,comment, confidence V सत्यापित या G अनुमान); retrokit names WS फ़ंक्शन/लेबल का नाम बदलता है (V, G पर जीतता है, टकरावों को _<addr> मिलता है) और पुनः निर्यात करता है।

पाइपलाइन क्या करती है:

  • लाइब्रेरीज़ (दोनों प्रारूप): retrokit libs (साथ ही info और analyze का हिस्सा -> notes/libraries.md) उस काल की ~20 लाइब्रेरीज़ को पहचानता है - Miles/AIL, HMI SOS, DIGPAK, Smacker, Bink, FMOD, BASS, DirectX, zlib, libjpeg, libpng, PKWARE DCL, Lua, ... - strings, imports और data files से, उनके प्रारूपों पर नोट्स और port hints के साथ। लाइब्रेरी कोड हस्ताक्षर द्वारा पाया जाता है (शामिल: Watcom C/C++ run-time, Open Watcom से math और C++ लाइब्रेरीज़, zlib 1.0.4-1.2.3, libjpeg 6b; retrokit sigs build उन्हें उन लाइब्रेरीज़ से बनाता है जो आपके पास हैं, sigs learn उन फ़ंक्शन्स से जिन्हें आपने पहचाना) - पहले सटीक मिलान, फिर अन्य कंपाइलर संस्करणों से समान कोड - नामित, और retrokit/knowledge/*.h से टाइप किया गया।
  • LE/LX: LE loader और Watcom cspec के साथ import करें, fixups के लक्ष्यों पर फ़ंक्शन्स कोड में (Watcom गेम्स अपने अधिकांश लॉजिक को pointer tables के माध्यम से कॉल करते हैं), switch jump tables अपने फ़ंक्शन्स के अंदर रखे गए, गलत "no return" फ़्लैग्स पूर्ववत किए गए, short strings परिभाषित और string literals "text" के रूप में दिखाए गए, call sites पर ADD ESP,n cleanups से parameter counts, prototypes callees-first पुनर्प्राप्त, export।
  • PE: Ghidra के PE loader और auto-analysis के साथ import करें, फिर pointer-table targets पर और padding के बाद फ़ंक्शन्स जब तक कोई नए न मिलें, वही string / parameter / prototype passes, export।

अन्य कमांड्स: classes (RTTI से MSVC C++ classes), libs (उपयोग में लाइब्रेरीज़), convert (XMIDI/HMI/HMP -> MIDI, VOC -> WAV, Smacker/Bink/FLIC -> MP4, सामग्री द्वारा), sigs match|build|learn (लाइब्रेरी हस्ताक्षर, देखें docs/WORKFLOW.md), entries (PE: बिना फ़ंक्शन के कोड पते), modules --rules FILE (PE: फ़ंक्शन्स → assert paths के माध्यम से मूल स्रोत फ़ाइलें), strings EXE OUT (Ghidra के बिना PE string inventory), match (संबंधित EXE में नाम स्थानांतरित करें: sequel, add-on, अन्य संस्करण), le EXE info|dump|rec|s16|s32 (Ghidra पतों पर LE से tables पढ़ें), rnc (RNC ProPack), flic info|png|video (Autodesk FLI/FLC)। विकल्पों के लिए retrokit COMMAND --help।

विस्तृत प्रक्रिया, क्या अपेक्षा करें और ज्ञात pitfalls docs/WORKFLOW.md में हैं; MCP सर्वर docs/MCP.md में; AI एजेंट्स के लिए टास्क टेम्पलेट्स docs/AGENT_PROMPTS.md में; नियोजित कार्य docs/ROADMAP.md में; रखरखाव और रिलीज़ docs/MAINTAINING.md में।

Layout

retrokit/               Python package (CLI: retrokit/cli.py)
  ghidra_scripts/       headless Ghidra scripts used by the pipelines
  tools/                standalone Python tools behind the CLI commands
  le-loader/            LE/LX loader for Ghidra (Java) + Watcom compiler specs (data/languages/)
  sigs/                 library signatures (Open Watcom C run-time)
  knowledge/            libraries.json (library catalog), library prototypes as C headers
scripts/                build_sigs.py: rebuilds the shipped signatures
tests/                  synthetic test programs, scoring against the linker map, baseline
docs/                   WORKFLOW, AGENT_PROMPTS, ROADMAP
टूल डाउनलोड करें