
Plugin IDA pour améliorer le reverse engineering des binaires (U)EFI grâce à une analyse par lots, une base de données GUID et des statistiques d'utilisation des services pour la recherche en sécurité des firmwares.
__.
_ __/_ /| |
| ) | ) | |
| \ | \ | |
/ / _ / ||
/ /
_________ . ____ . . _____
/ / _ || ______ ______ | |/ _| ____ ||/ _
_ \ / / / |/ // / | < / | \ / __
/ \ /| |_ \ _ \ | | | | \ || | \ /
/ / /_/ |/ > > |____| _| /||| _ >
/ / / / / /
EFI Swiss Knife Un plugin IDA pour améliorer le reverse engineering (U)EFI
Copyright (C) 2016, 2017 Pedro Vilaça (fG!) - [email protected] - https://reverse.put.as
Ceci est un plugin IDA pour assister au reverse engineering de binaires (U)EFI. Il est basé sur le travail original de Snare - https://github.com/snare/ida-efiutils Comme je déteste Python, j'ai fait quelque chose de nouveau en C en ajoutant quelques fonctionnalités supplémentaires que je voulais.
Testé avec IDA 6.9/6.95 version Mac OS X.
Pour compiler sous OS X, utilisez le Makefile ou le projet XCode.
Vous devrez modifier le projet XCode et définir les chemins vers le SDK. (par défaut vers /Applications/IDA Pro 6.95/idasdk695)
Vous devriez modifier config.h et adapter les chemins des journaux et de la base de données.
Copiez EFISwissKnife.pmc64 vers /Applications/IDA Pro 6.95/idaq.app/Contents/MacOS/plugins/
Par défaut, le plugin ne compile que pour la version 64 bits d'IDA. Si vous voulez le plugin pour la version 32 bits, vous devez modifier le projet Xcode et changer EA64=1 en 0.
Pour l'appeler depuis IDA, utilisez Shift+F2 puis
Le plugin prend en charge le mode batch au cas où vous voudriez analyser en masse des binaires EFI et collecter des statistiques sur l'utilisation des services.
Vous voudrez probablement mettre à jour les GUID disponibles dans efi_guids.h.
Ce code cible les binaires EFI Mac OS X. Il devrait fonctionner avec les binaires UEFI d'autres plateformes sans problème ou avec des modifications et mises à jour mineures.
Seuls les binaires PE sont pris en charge, pas encore les binaires TE.
C'est tout ! Profitez :-)
fG!
v1.0 - Version initiale
BUGS D'IDA : Un autre bug est lié au drapeau PLUGIN_UNL. Il est utilisé pour « Décharger le plugin immédiatement après l'appel de 'run' ». Si cette option est définie, elle fait planter la version Windows. La version Mac semble bien la supporter.