
IDA-Plugin zur Verbesserung des (U)EFI-Binary-Reversings mit Batch-Analyse, GUID-Datenbank und Service-Nutzungsstatistiken für die Forschung zur Firmware-Sicherheit.
Ein IDA-Plugin zur Verbesserung des (U)EFI-Reversings
Copyright (C) 2016, 2017 Pedro Vilaça (fG!) - [email protected] - https://reverse.put.as
Dies ist ein IDA-Plugin zur Unterstützung beim Reversing von (U)EFI-Binaries. Es basiert auf der ursprünglichen Arbeit von Snare - https://github.com/snare/ida-efiutils Da ich Python hasse, habe ich etwas Neues in C geschrieben und einige zusätzliche Funktionen hinzugefügt, die ich haben wollte.
Getestet mit IDA 6.9/6.95 Mac OS X Version.
Zum Kompilieren für OS X verwenden Sie das Makefile oder das XCode-Projekt.
Sie müssen das XCode-Projekt bearbeiten und die Pfade zum SDK festlegen. (Standard ist /Applications/IDA Pro 6.95/idasdk695)
Sie sollten config.h bearbeiten und die Log- und Datenbankpfade ändern.
Kopieren Sie EFISwissKnife.pmc64 nach /Applications/IDA Pro 6.95/idaq.app/Contents/MacOS/plugins/
Standardmäßig wird das Plugin nur für die 64-Bit-Version von IDA kompiliert. Wenn Sie das Plugin für die 32-Bit-Version möchten, müssen Sie das Xcode-Projekt bearbeiten und EA64=1 auf 0 ändern.
Um es aus IDA heraus aufzurufen, verwenden Sie Shift+F2 und dann
Das Plugin unterstützt den Batch-Modus, falls Sie EFI-Binaries massenhaft analysieren und Statistiken über die Dienstnutzung sammeln möchten.
Sie sollten wahrscheinlich die GUIDs aktualisieren, die in efi_guids.h verfügbar sind.
Dieser Code zielt auf Mac OS X EFI-Binaries ab. Er sollte mit UEFI-Binaries anderer Plattformen ohne Probleme oder mit geringfügigen Änderungen und Aktualisierungen funktionieren.
Es werden nur PE-Binaries unterstützt, TE-Binaries werden noch nicht unterstützt.
Das war's! Viel Spaß :-)
fG!
v1.0 - Erste Version
IDA-FEHLER: Ein weiterer Fehler hängt mit dem PLUGIN_UNL-Flag zusammen. Es wird verwendet, um "das Plugin unmittelbar nach dem Aufruf von 'run' zu entladen.". Wenn diese Option gesetzt ist, stürzt die Windows-Version ab. Die Mac-Version scheint damit gut zurechtzukommen.