
Plugin de IDA para mejorar la ingeniería inversa de binarios (U)EFI con análisis por lotes, base de datos de GUID y estadísticas de uso de servicios para la investigación de seguridad de firmware.
__.
_ __/_ /| |
| ) | ) | |
| \ | \ | |
/ / _ / ||
/ /
_________ . ____ . . _____
/ / _ || ______ ______ | |/ _| ____ ||/ _
_ \ / / / |/ // / | < / | \ / __
/ \ /| |_ \ _ \ | | | | \ || | \ /
/ / /_/ |/ > > |____| _| /||| _ >
/ / / / / /
EFI Swiss Knife Un plugin de IDA para mejorar la ingeniería inversa de (U)EFI
Copyright (C) 2016, 2017 Pedro Vilaça (fG!) - [email protected] - https://reverse.put.as
Este es un plugin de IDA para asistir en la ingeniería inversa de binarios (U)EFI. Está basado en el trabajo original de Snare - https://github.com/snare/ida-efiutils Como odio Python, hice algo nuevo en C añadiendo algunas características extra que quería.
Probado con IDA 6.9/6.95 versión Mac OS X.
Para compilar en OS X usa el Makefile o el Proyecto XCode.
Necesitarás editar el proyecto XCode y establecer las rutas al SDK. (por defecto está en /Applications/IDA Pro 6.95/idasdk695)
Deberías editar config.h y modificar las rutas de log y base de datos.
Copia EFISwissKnife.pmc64 a /Applications/IDA Pro 6.95/idaq.app/Contents/MacOS/plugins/
Por defecto solo compila el plugin para la versión de 64 bits de IDA. Si quieres el plugin para la versión de 32 bits necesitas editar el Proyecto Xcode y cambiar EA64=1 a 0.
Para llamarlo desde IDA usa Shift+F2 y luego
El plugin soporta modo batch en caso de que quieras analizar en masa binarios EFI y recopilar estadísticas sobre el uso de servicios.
Probablemente quieras actualizar los GUIDs disponibles en efi_guids.h.
Este código está orientado a binarios EFI de Mac OS X. Debería funcionar con binarios UEFI de otras plataformas sin problemas o con modificaciones menores y actualizaciones.
Solo se soportan binarios PE, aún no se soportan binarios TE.
¡Eso es todo! Disfruta :-)
fG!
v1.0 - Versión inicial
ERRORES DE IDA: Otro error está relacionado con la bandera PLUGIN_UNL. Se usa para "Descargar el plugin inmediatamente después de llamar a 'run'.". Si esta opción está establecida, bloquea la versión de Windows. La versión de Mac parece manejarlo bien.