
Plugin IDA per migliorare il reverse engineering dei binari (U)EFI con analisi batch, database GUID e statistiche sull'uso dei servizi per la ricerca sulla sicurezza del firmware.
__.
_ __/_ /| |
| ) | ) | |
| \ | \ | |
/ / _ / ||
/ /
_________ . ____ . . _____
/ / _ || ______ ______ | |/ _| ____ ||/ _
_ \ / / / |/ // / | < / | \ / __
/ \ /| |_ \ _ \ | | | | \ || | \ /
/ / /_/ |/ > > |____| _| /||| _ >
/ / / / / /
EFI Swiss Knife Un plugin IDA per migliorare il reversing (U)EFI
Copyright (C) 2016, 2017 Pedro Vilaça (fG!) - [email protected] - https://reverse.put.as
Questo è un plugin IDA per assistere nel reversing di binari (U)EFI. Si basa sul lavoro originale di Snare - https://github.com/snare/ida-efiutils Poiché odio Python ho fatto qualcosa di nuovo in C aggiungendo alcune funzionalità extra che volevo.
Testato con IDA 6.9/6.95 versione Mac OS X.
Per compilare su OS X usa il Makefile o il progetto XCode.
Dovrai modificare il progetto XCode e impostare i percorsi all'SDK. (predefinito è /Applications/IDA Pro 6.95/idasdk695)
Dovresti modificare config.h e modificare i percorsi di log e database.
Copia EFISwissKnife.pmc64 in /Applications/IDA Pro 6.95/idaq.app/Contents/MacOS/plugins/
Di default compila solo il plugin per la versione a 64 bit di IDA. Se vuoi il plugin per la versione a 32 bit devi modificare il progetto Xcode e cambiare EA64=1 in 0.
Per chiamarlo da IDA usa Shift+F2 e poi
Il plugin supporta la modalità batch nel caso tu voglia analizzare in massa binari EFI e raccogliere alcune statistiche sull'uso dei servizi.
Probabilmente vorrai aggiornare i GUID disponibili in efi_guids.h.
Questo codice è mirato ai binari EFI di Mac OS X. Dovrebbe funzionare con binari UEFI di altre piattaforme senza problemi o con modifiche e aggiornamenti minori.
Solo binari PE supportati, nessun binario TE supportato ancora.
Questo è tutto! Divertiti :-)
fG!
v1.0 - Versione iniziale
BUG DI IDA: Un altro bug è relativo al flag PLUGIN_UNL. Viene usato per "Scaricare il plugin immediatamente dopo aver chiamato 'run'.". Se questa opzione è impostata, causa un crash nella versione Windows. La versione Mac sembra gestirla bene.