
Hex-Rays Decompiler प्लगइन बेहतर कोड नेविगेशन के लिए
| | | | | ___ \ / __ \ | | \ \ / / | |
| || | _____ | |/ /__ _ _ _ | / / ___ | | ___ \ V / _ __ | | ___ _ __ ___ _ __
| _ |/ _ \ / / // | | | / __| | / _ \ / _ |/ _ / | ' | |/ _ | '/ _ \ '|
| | | | __/> <| |\ \ (| | || __ \ _/\ () | (| | __/ /^\ \ |) | | () | | | __/ |
_| |/_//__| __,|_, |/_/_/ _,|_/ / ./||___/|| ___||
/ | | |
|/ |_|
============================================================================
RE प्रक्रिया में बेहतर कोड नेविगेशन के लिए Hex-Rays डीकंपाइलर प्लगइन। CodeXplorer C++ अनुप्रयोगों या स्टक्सनेट, फ्लेम, इक्वेशन, एनिमल फार्म जैसे आधुनिक मैलवेयर के कोड पुनर्निर्माण (REconstruction) को स्वचालित करता है... :octocat:
CodeXplorer प्लगइन सार्वजनिक रूप से उपलब्ध पहले Hex-Rays डीकंपाइलर प्लगइन्स में से एक है। हम इस प्रोजेक्ट को गर्मियों 2013 से अद्यतन रख रहे हैं और नियमित रूप से नई सुविधाएँ जोड़ते रहते हैं। CodeXplorer की अधिकांश रोचक विशेषताओं को कई सुरक्षा सम्मेलनों जैसे REcon, ZeroNights, H2HC, NSEC और BHUS में प्रस्तुत किया गया है। 👾
योगदानकर्ता:
Alex Matrosov (@matrosov)
Eugene Rodionov (@rodionov)
Rodrigo Branco (@rrbranco)
Gabriel Barbosa (@gabrielnb)
समर्थित Hex-Rays उत्पादों के संस्करण: हम हमेशा IDA और डीकंपाइलर के नवीनतम संस्करणों पर ध्यान केंद्रित करते हैं क्योंकि नए SDK रिलीज़ में नई रोचक सुविधाओं का उपयोग करने का प्रयास करते हैं। इसका मतलब यह भी है कि हमने केवल Hex-Rays उत्पादों के नवीनतम संस्करणों पर परीक्षण किया है और पिछले संस्करणों पर स्थिर कार्य की गारंटी नहीं है।
IdaPython क्यों नहीं: सभी कोड C/C++ में विकसित किया गया है क्योंकि यह Hex-Rays डीकंपाइलर के लिए जटिल प्लगइन को समर्थन देने का अधिक स्थिर तरीका है।
समर्थित प्लेटफ़ॉर्म: Win, Linux और Mac के लिए x86/x64।
HexRaysCodeXplorer - आसान कोड नेविगेशन के लिए Hex-Rays डीकंपाइलर प्लगइन। स्यूडोकोड विंडो में राइट-क्लिक संदर्भ मेनू CodeXplorer प्लगइन कमांड दिखाता है:

💎 यहाँ CodeXplorer प्लगइन की मुख्य विशेषताएँ हैं: 💎

पुनर्निर्मित संरचना "आउटपुट विंडो" में प्रदर्शित होती है। प्रकार पुनर्निर्माण सुविधा के बारे में विस्तृत जानकारी ब्लॉग पोस्ट “HexRaysCodeXplorer में प्रकार पुनर्निर्माण (Type REconstruction)” में प्रदान की गई है।
साथ ही CodeXplorer प्लगइन IDA स्थानीय प्रकार भंडारण में ऑटो पुनर्निर्माण प्रकार का समर्थन करता है।

struct_local_data_storage का पुनर्निर्माण करते समय दो वर्चुअल फंक्शन टेबल पहचानी गईं, और परिणामस्वरूप दो संगत संरचनाएँ उत्पन्न हुईं: struct_local_data_storage_VTABLE_0 और struct_local_data_storage_VTABLE_4।



फ़ाइल में प्रकार निकालें – सभी प्रकार की जानकारी (पुनर्निर्मित प्रकार सहित) को फ़ाइल में डंप करें।
वर्चुअल फंक्शन कॉल्स के माध्यम से नेविगेशन HexRays स्यूडोकोड विंडो में। C-संरचनाओं द्वारा C++ ऑब्जेक्ट्स का प्रतिनिधित्व करने के बाद, यह सुविधा वर्चुअल फंक्शन कॉल्स पर संरचना फ़ील्ड के रूप में माउस क्लिक करके नेविगेट करना संभव बनाती है:



ऑब्जेक्ट एक्सप्लोरर निम्नलिखित सुविधाओं का समर्थन करता है:
IDA स्थानीय प्रकारों में VTBL के लिए ऑटो संरचनाएँ उत्पन्न करना
वर्चुअल टेबल सूची में नेविगेशन और क्लिक करके "IDA View" विंडो में VTBL पते पर जाना
वर्चुअल टेबल सूची में वर्तमान स्थिति के लिए संकेत दिखाना
मेनू में "Show XREFS to VTBL" पर क्लिक करके क्रॉस-रेफरेंस सूची दिखाना


बैच मोड में निम्नलिखित सुविधाएँ शामिल हैं:
उदाहरण (उपसर्ग "crypto_" के साथ फ़ंक्शन के लिए प्रकार और ctrees डंप करें):
idaq.exe -OHexRaysCodeXplorer:dump_types:dump_ctrees:CRYPTOcrypto_path_to_idb
संकलन (Compiling):
Windows:
src/HexRaysCodeXplorer/PropertySheet.props को नोटपैड(++) में खोलें और IDADIR और IDASDK पथों के मानों को क्रमशः IDA इंस्टॉलेशन पथ और IDA7 SDK पथ पर अपडेट करें। HexRays SDK को $IDADIR\plugins\hexrays_sdk में होना चाहिए (जैसा डिफ़ॉल्ट रूप से होता है)Release | x64 और Release x64 | x64 कॉन्फ़िगरेशन बनाएँLinux:
Mac:
.pmc फ़ाइल एक्सटेंशन .dylib होना चाहिएexport IDA_DIR="/Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS" && export IDA_SDK="/Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS/idasdk" && make -f makefile7.macHexRaysCodeXplorer.xcodeproj खोलेंCMake के साथ:
============================================================================
CodeXplorer प्लगइन पर सम्मेलन वार्ताएँ: