
Kit de ensamblador en Python puro para crear código shell, parchear dinámicamente binarios e instrumentar imágenes de firmware para depuración y fuzzing en arquitecturas ARM, PPC, RISC-V e IA-32.
Flopz es un conjunto de herramientas ensamblador escrito en Python puro. Úsalo para:
Si deseas ver otra arquitectura implementada, no dudes en contactarnos en cualquier momento: ¡nos gusta hacer esto!
En lugar de simplemente convertir cadenas de ensamblador en bytes, Flopz tiene como objetivo facilitar el parcheo interactivo y la instrumentación de firmware. Para ello, proporciona una API de bajo nivel de instrucciones y registros que te permite construir shellcode, módulos y funciones directamente en Python, sin lidiar con cadenas de sintaxis de ensamblador.
En las pruebas de seguridad embebida, ningún dispositivo es igual a otro: debido a esto, proporcionamos un enfoque orientado a objetos para definir objetivos personalizados, de modo que tantos componentes como sea posible puedan reutilizarse en proyectos que involucren diferentes dispositivos y arquitecturas de procesadores.
Dado que Flopz ha sido escrito desde cero en Python puro, puede que no soporte tantas arquitecturas como otras herramientas (como las basadas en Clang/LLVM). Sin embargo, nuestro objetivo es cubrir exactamente aquellas arquitecturas que son importantes para las personas de seguridad embebida y que quizás no estén cubiertas por otras herramientas. Además, extender Flopz es menos desafiante gracias a un conjunto mantenido de pruebas unitarias y documentación de código.
Flopz está diseñado para funcionar junto con otras herramientas. En particular, hay una Extensión para Ghidra que te ayuda a instrumentar firmware directamente en Ghidra.
La documentación proporcionada facilita el trabajo con Flopz y el uso de su interfaz en tus proyectos.