FreeCalypso > hg > freecalypso-reveng
view arm7dis/README @ 270:41edb6ec565e
dsample-fw-disasm: cinit for magic1 tables
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 19 Jan 2018 08:03:10 +0000 |
parents | c883e60df239 |
children |
line wrap: on
line source
The present package is a basic standalone disassembler for the ARMv4T instruction set implemented on the ARM7TDMI CPU core, commonly used in classic cellular phone baseband processors. The armdis utility interprets an arbitrary raw binary image (i.e., one being reverse-engineered) as 32-bit ARM instructions; thumbdis interprets the same image as 16-bit Thumb instructions. The form in which the disassembly output is presented is a look-and-feel copycat of GNU objdump: armdis is meant to replace objdump -b binary -m arm -EL -M reg-names-std -D unknown-firmware.bin and thumbdis is meant to replace objdump -b binary -m arm -EL -M reg-names-std -M force-thumb -D unknown-fw.bin Aside from sparing the operator from having to remember all those options every single time, and aside from being an independent from-scratch implementation (lean and mean, only knows how to disassemble those instructions which are meaningful on ARM7TDMI), these tools have one other feature which partly prompted me to write them: whenever *dis disassembles a PC-relative ldr instruction, it shows the value pulled from the literal pool on that ldr line. In the reverse engineering jobs I've had to do, it has been a very valuable feature for me. Happy hacking, Spacefalcon the Outlaw