
Plugin Hex-Rays Decompiler per una migliore navigazione del codice
| | | | | ___ \ / __ \ | | \ \ / / | |
| || | _____ | |/ /__ _ _ _ | / / ___ | | ___ \ V / _ __ | | ___ _ __ ___ _ __
| _ |/ _ \ / / // | | | / __| | / _ \ / _ |/ _ / | ' | |/ _ | '/ _ \ '|
| | | | __/> <| |\ \ (| | || __ \ _/\ () | (| | __/ /^\ \ |) | | () | | | __/ |
_| |/_//__| __,|_, |/_/_/ _,|_/ / ./||___/|| ___||
/ | | |
|/ |_|
============================================================================
Il plugin Hex-Rays Decompiler per una migliore navigazione del codice nel processo di RE. CodeXplorer automatizza la REcostruzione del codice di applicazioni C++ o malware moderni come Stuxnet, Flame, Equation, Animal Farm ... :octocat:
Il plugin CodeXplorer è uno dei primi disponibili pubblicamente plugin per Hex-Rays Decompiler. Manteniamo aggiornato questo progetto dall'estate del 2013 e continuiamo a contribuire con nuove funzionalità frequentemente. Inoltre, le caratteristiche più interessanti di CodeXplorer sono state presentate in numerose conferenze sulla sicurezza come: REcon, ZeroNights, H2HC, NSEC e BHUS 👾
Contributori:
Alex Matrosov (@matrosov)
Eugene Rodionov (@rodionov)
Rodrigo Branco (@rrbranco)
Gabriel Barbosa (@gabrielnb)
Versioni supportate dei prodotti Hex-Rays: ci concentriamo sempre sulle ultime versioni di IDA e Decompiler perché cerchiamo di utilizzare nuove interessanti funzionalità nei nuovi rilasci dell'SDK. Ciò significa anche che abbiamo testato solo sulle ultime versioni dei prodotti Hex-Rays e non garantiamo un funzionamento stabile su versioni precedenti.
Perché non IdaPython: tutto il codice è sviluppato in C/C++ perché è un modo più stabile per supportare un plugin complesso per Hex-Rays Decompiler.
Piattaforme supportate: x86/x64 per Win, Linux e Mac.
HexRaysCodeXplorer - Plugin Hex-Rays Decompiler per una navigazione più semplice del codice. Il menu contestuale con clic destro nella finestra Pseudocode mostra i comandi del plugin CodeXplorer:

💎 Ecco le principali funzionalità del plugin CodeXplorer: 💎

La struttura ricostruita viene visualizzata nella "Finestra di output". Informazioni dettagliate sulla funzionalità di ricostruzione del tipo sono fornite nel post del blog "Type REconstruction in HexRaysCodeXplorer".
Inoltre, il plugin CodeXplorer supporta la REcostruzione automatica del tipo nell'archivio dei tipi locali di IDA.

struct_local_data_storage sono state identificate due tabelle di funzioni virtuali e, di conseguenza, sono state generate due strutture corrispondenti: struct_local_data_storage_VTABLE_0 e struct_local_data_storage_VTABLE_4.



Estrai Tipi in File – scarica tutte le informazioni sui tipi (inclusi i tipi ricostruiti) in un file.
Navigazione attraverso chiamate a funzioni virtuali nella finestra Pseudocode di HexRays. Dopo aver rappresentato gli oggetti C++ con strutture C, questa funzionalità permette di navigare con un clic del mouse alle chiamate a funzioni virtuali come campi della struttura:



Object Explorer supporta le seguenti funzionalità:
Generazione automatica di strutture per VTBL nei tipi locali di IDA
Navigazione nell'elenco delle tabelle virtuali e salto all'indirizzo VTBL nella finestra "IDA View" con un clic
Mostra suggerimenti per la posizione corrente nell'elenco delle tabelle virtuali
Mostra l'elenco dei cross-reference cliccando nel menu su "Show XREFS to VTBL"


La modalità Batch contiene le seguenti funzionalità:
Esempio (dump tipi e ctrees per funzioni con prefisso nome "crypto_"):
idaq.exe -OHexRaysCodeXplorer:dump_types:dump_ctrees:CRYPTOcrypto_path_to_idb
Compilazione:
Windows:
src/HexRaysCodeXplorer/PropertySheet.props in notepad(++) e aggiorna i valori dei percorsi IDADIR e IDASDK in modo che puntino rispettivamente al percorso di installazione di IDA e al percorso di IDA7 SDK. HexRays SDK dovrebbe essere in $IDADIR\plugins\hexrays_sdk (come di default)Release | x64 e Release x64 | x64Linux:
Mac:
.pmc per IDA 7.0 dovrebbe essere .dylibexport 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.xcodeprojCon CMake:
============================================================================
Interventi a conferenze sul plugin CodeXplorer: