
Claude Code कौशल 32-बिट लिटिल-एंडियन x86 C++ बाइनरीज़ (vtables, RTTI, inheritance recovery) को रिवर्स-इंजीनियर करने के लिए
32-बिट लिटिल-एंडियन x86 (IA-32) बाइनरीज़ और C++ से कंपाइल किए गए डिसअसेम्बली को रिवर्स-इंजीनियर करने के लिए एक Claude Code skill। ELF या PE बाइनरीज़ से क्लास लेआउट, vtables, वर्चुअल डिस्पैच, और RTTI/इनहेरिटेंस पदानुक्रम को रिकवर करता है, और उन वर्कफ़्लोज़ को कवर करता है जो उस संरचना को प्राप्त करने के बाद सामने आते हैं: एक कस्टम फ़ाइल फ़ॉर्मेट को रिकवर करना, किसी डेटा फ़ाइल की इंडेक्स्ड एंट्रीज़ को उस कोड/एंटिटी से मैप करना जो उन्हें उपयोग करती है, और रास्ते में ऑब्फ़स्केशन या एंटी-डीबगिंग ट्रिक्स को पहचानना।
एजेंट उपयोग के लिए बनाया गया: SKILL.md वह एंट्री पॉइंट है जिसे एक एजेंट पढ़ता है, जिसे इस तरह लिखा गया है कि यांत्रिक, अच्छी तरह से निर्दिष्ट कार्य (ABI स्ट्रक्चर लेआउट, रीलोकेशन रिज़ॉल्यूशन, सिंबल डीमैंगलिंग) को scripts/recon.py के माध्यम से संरचित JSON में फ्रंट-लोड किया जाए, बजाय इसके कि उन्हें कच्ची डिसअसेम्बली पर तर्क-शक्ति के रूप में खर्च किया जाए। यदि अधिक उन्नत टूलिंग (radare2, LIEF, Triton) उपलब्ध नहीं है, तो सब कुछ मैनुअल objdump/readelf/nm/GDB रेसिपीज़ पर सहजता से डिग्रेड हो जाता है।
| क्षेत्र | स्वचालित? | कहाँ |
|---|---|---|
ELF/Itanium ABI (GCC/Clang, _Z-mangled): vtables, RTTI, multiple/virtual inheritance | हाँ -- scripts/recon.py | references/itanium-abi.md |
PE/MSVC ABI (?-mangled): __thiscall, vftable, Complete Object Locator, vbtable, stripped .rdata scanning | मैनुअल / स्क्रिप्टेड | references/msvc-abi.md |
| OOAnalyzer (Pharos / SWI-Prolog) के माध्यम से स्वचालित C++ क्लास रिकवरी | हाँ -- CLI / JSON | references/tool-recipes.md §12 |
| डेटा-टेबल फ़ील्ड एट्रिब्यूशन और स्ट्रक्चर रिकवरी (stride analysis, displacement envelopes, type inference) | मैनुअल रेसिपी (REWARDS/TIE) | references/tool-recipes.md §13 |
| प्रोग्रामेटिक बाइनरी विश्लेषण (immediate xref sweepers, recursive disassembly, boundary detection) | स्क्रिप्टेबल (Python + Capstone + LIEF) | references/tool-recipes.md §14 |
| कस्टम बाइनरी फ़ाइल-फ़ॉर्मेट लोडर (कोई C++ क्लास शामिल नहीं) | मैनुअल रेसिपी | references/tool-recipes.md §9 |
| रिसोर्स-बाइंडिंग रिकवरी: किसी डेटा फ़ाइल की इंडेक्स्ड एंट्रीज़ को उस कोड/ओनर से मैप करना जो उन्हें उपयोग करता है | मैनुअल रेसिपी + scripts/backward_slice.py (Triton-आधारित backward slicing) | references/tool-recipes.md §10 |
| WinDbg/DbgEng डायनामिक विश्लेषण (नेटिव Windows PE बाइनरीज़ जिनसे GDB अटैच नहीं हो सकता) | मैनुअल रेसिपी | references/tool-recipes.md §11 |
| ऑब्फ़स्केशन को पहचानना (junk code, opaque predicates, xref-evasion tricks) | मैनुअल रेसिपी | references/obfuscation.md |
| एंटी-डीबगिंग तकनीकों को पहचानना | मैनुअल रेसिपी | references/anti-debugging.md |
objdump, readelf, nm, c++filt, gdb (मानक binutils/GDB, लगभग किसी भी Linux बॉक्स पर मौजूद)।r2pipe, और pip install lief capstone pwntools -- स्वचालित/संरचित रेसिपीज़ को अनलॉक करता है; इनके बिना, references/tool-recipes.md में हर चीज़ के लिए मैनुअल फ़ॉलबैक हैं।scripts/backward_slice.py के लिए: triton-library (JonathanSalwan/Triton बाइनरी-विश्लेषण प्रोजेक्ट) एक समर्पित virtualenv में -- यदि आपके पास कोई ML टूलिंग (PyTorch, vLLM, आदि) इंस्टॉल है तो pip install triton-library को अपने नियमित एनवायरनमेंट में न करें, क्योंकि OpenAI का असंबंधित GPU-kernel-compiler पैकेज भी triton के रूप में importable है और दोनों टकराते हैं। AGENTS.md और स्क्रिप्ट के अपने docstring को देखें।git clone [email protected]:gavmor/x86-cpp-reversing-skill.git ~/.agents/skills/x86-cpp-reversing
ln -s ~/.agents/skills/x86-cpp-reversing ~/.claude/skills/x86-cpp-reversing
Claude Code इसे "what does this .exe do," "recover the class hierarchy from this binary," या "why does this crash inside a virtual call" जैसे प्रॉम्प्ट्स के लिए स्वचालित रूप से उठा लेगा -- पूर्ण ट्रिगर शर्तों के लिए SKILL.md का विवरण देखें।
SKILL.md entry point: workflow, triage steps, anti-rationalization table, exit criteria
AGENTS.md instructions for agents editing this repo's own content
scripts/recon.py LIEF-based static triage + Itanium ABI vtable/RTTI recovery
scripts/backward_slice.py Triton-based backward slicing (needs its own venv, see above)
references/itanium-abi.md ELF/Itanium ABI details
references/msvc-abi.md PE/MSVC ABI details
references/tool-recipes.md concrete commands, by task (triage through §14)
references/obfuscation.md recognizing deliberate obfuscation
references/anti-debugging.md recognizing anti-debugging techniques
यदि आप इस skill की अपनी सामग्री का विस्तार कर रहे हैं (केवल किसी लक्ष्य बाइनरी के विरुद्ध इसका उपयोग नहीं कर रहे), तो पहले AGENTS.md पढ़ें -- विशेष रूप से, references/*.md में आने से पहले बाहरी टूल/लाइब्रेरी/पेपर उद्धरणों को प्राथमिक स्रोत के विरुद्ध सत्यापित करने के इसके मानदंड पर।