annotate arm7dis/README @ 277:5c47d916255e

compal/c156-boot.disasm: GPIO comments were wrong
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 05 Nov 2018 23:18:42 +0000
parents c883e60df239
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
107
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 The present package is a basic standalone disassembler for the ARMv4T
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2 instruction set implemented on the ARM7TDMI CPU core, commonly used in classic
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 cellular phone baseband processors. The armdis utility interprets an arbitrary
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 raw binary image (i.e., one being reverse-engineered) as 32-bit ARM
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 instructions; thumbdis interprets the same image as 16-bit Thumb instructions.
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 The form in which the disassembly output is presented is a look-and-feel copycat
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 of GNU objdump: armdis is meant to replace
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10 objdump -b binary -m arm -EL -M reg-names-std -D unknown-firmware.bin
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
11
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
12 and thumbdis is meant to replace
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
13
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
14 objdump -b binary -m arm -EL -M reg-names-std -M force-thumb -D unknown-fw.bin
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
15
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
16 Aside from sparing the operator from having to remember all those options
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
17 every single time, and aside from being an independent from-scratch
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
18 implementation (lean and mean, only knows how to disassemble those instructions
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
19 which are meaningful on ARM7TDMI), these tools have one other feature which
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
20 partly prompted me to write them: whenever *dis disassembles a PC-relative
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
21 ldr instruction, it shows the value pulled from the literal pool on that ldr
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
22 line. In the reverse engineering jobs I've had to do, it has been a very
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
23 valuable feature for me.
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
24
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
25 Happy hacking,
c883e60df239 arm7dis: README and header comments added
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
26 Spacefalcon the Outlaw