
IDA Pro Prozessormodule, die Disassemblierungsunterstützung für seltene CPU-, DSP- und GPU-Architekturen hinzufügen, darunter XMOS xCORE, TI C7x/PRU, MicroBlaze und NVIDIA SASS.
Eine Sammlung von Prozessormodulen, die IDA Pro um Unterstützung für ungewöhnliche und spezialisierte CPU-, DSP- und GPU-Architekturen erweitern.
Diese Projekte entstanden aus meinem Interesse am Reverse Engineering von Architekturen, die von IDA nicht nativ unterstützt werden, insbesondere solchen, die in eingebetteten Systemen, kommerzieller Firmware und spezialisierter Computerhardware anzutreffen sind.
| Architektur | Beschreibung | Repository |
|---|---|---|
| XMOS xCORE | Ereignisgesteuerte Multicore-Architektur, die in eingebetteten Audio-, USB- und Echtzeitsystemen verwendet wird. | xcore-ida |
| TI C7x / C7000 | Fortschrittliche DSP-Architektur mit Unterstützung für parallele Ausführung, Vektoroperationen und spezialisierte Verarbeitungseinheiten. | c7x-ida |
| TI PRU / PRU-ICSS | Deterministische Echtzeitprozessoren, die in industrieller Kommunikation, Automatisierung und eingebetteter Steuerung verwendet werden. | pru-ida |
| AMD/Xilinx MicroBlaze | Konfigurierbarer Soft-Core-RISC-Prozessor, der in FPGA-basierten Systemen verwendet wird. | microblaze-ida |
| NVIDIA SASS | Native NVIDIA-GPU-Maschinencode-Architektur mit generationsspezifischen Instruktionskodierungen. | sass-ida |
Jede Architektur birgt unterschiedliche Herausforderungen für das Reverse Engineering, darunter:
Die Entwicklung umfasste das Studium von Herstellerdokumentation, die Untersuchung echter Binärdateien, die Verwendung von Referenz-Disassemblern und die experimentelle Analyse von Instruktionskodierungen.
Das Ziel ist es, diese Architekturen für Forscher, die mit IDA arbeiten, zugänglicher zu machen.
Ich bin besonders an obskuren, ungewöhnlichen oder wenig unterstützten Prozessorarchitekturen interessiert, die in realer Firmware und ausführbaren Binärdateien vorkommen.
Gute Kandidaten weisen typischerweise Folgendes auf:
Bist du auf eine Architektur gestoßen, die IDA nicht unterstützt, aber du wünschtest, es wäre so?
Vorschläge, technische Diskussionen und Feedback sind willkommen.
Du kannst gerne eine GitHub Discussion oder ein Issue im entsprechenden Repository eröffnen.
Entwickelt aus Neugier auf ungewöhnliche Prozessorarchitekturen und die Herausforderungen des Reverse Engineering derselben.