
Guerra psicologica nell'ingegneria inversa
: Guerra psicologica nel Reverse Engineering
github.com/xoreaxeaxeax/repsych // domas // @xoreaxeaxeax
Il toolset REpsych è una prova di concetto che illustra la generazione di immagini attraverso il grafo di flusso di controllo (CFG) di un programma.
| CFG di una funzione tipica | Un CFG generato da REpsych |
|---|---|
![]() | ![]() |
Non c'è uno scopo specifico nel progetto (a parte dimostrare che può essere fatto), ma possibili applicazioni (non serie) sono delineate nella presentazione DEF CON.
Il programma funziona in modo affidabile con tutte le versioni testate dello strumento di reverse engineering IDA Pro, e semi-affidabilmente con altri visualizzatori di CFG (Hopper, BinNavi, radare2, ecc.).
Il toolset traduce le immagini sorgente in programmi funzionanti, in modo che il grafo di flusso di controllo del programma generi l'immagine sorgente.
Per generare un nuovo programma da un'immagine:
Verranno creati due programmi funzionanti: repsych_v1 e repsych_v2. Ciascuno usa una strategia diversa per garantire che il renderer CFG posizioni correttamente i nodi del CFG.
Lo strumento creerà un blocco di base (nodo CFG) per ogni pixel dell'immagine sorgente; pertanto, dovresti provare a usare immagini sorgente piccole (non più grandi di 100x100), e potresti dover aumentare il numero di nodi consentiti nel tuo visualizzatore di CFG.
Quando usi un'immagine di testo come input per lo strumento, converti prima l'immagine in una bitmap in bianco e nero a 2 BPP, poi in una bitmap a 24 BPP; questo rimuoverà i colori non bianco e nero e darà i migliori risultati nel grafo di flusso di controllo.





La tecnica è descritta in dettaglio nella presentazione DEF CON.
Le slide della presentazione sono disponibili qui.
REpsych è una prova di concetto di Christopher Domas (@xoreaxeaxeax).