artikel:nav_common:disassemble_firmware

Firmware disassemblieren (IDA Pro)

Die Main-Software läuft auf dem HMI-Prozessor OMAP5948. Dieser enthält eine ARM9-CPU vom Typ ARM926EJ und basiert auf der ARMv5TEJ Architektur. Die CPU arbeitet im Little Endian Modus und kann sowohl 16-Bit Thumb als auch 32-Bit ARM Befehle ausführen. Die Umschaltung zwischen den Modi wird über einen Sprungbefehl (B) mit einer geraden Zieladresse (=ARM Modus) oder einer ungeraden Adresse (=Thumb Modus) durchgeführt. Bei der ungeraden Adresse wird in der Tat auf die nächste gerade gesprungen, die CPU erkennt nur diesen Umstand als Umschaltmoment auf Thumb. Im Image können also beide Befehlssätze gemischt betrieben werden.

Zum disassemblieren mit IDA Pro verwendet man beim laden des Images folgende Einstellungen:

  1. Processor type: ARM Little-endian
  2. „ARM architecture options:“
    1. „Base architecture“: ARMv5TEJ
  • artikel/nav_common/disassemble_firmware.txt
  • Zuletzt geändert: Tue. 02.11.2021 14:31
  • von go4it