FreeCalypso > hg > freecalypso-reveng
annotate arm7dis/README @ 278:42575bc59702
benq-fw-disasm: dug a little into BenQ's M32 firmware
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 12 Dec 2018 07:48:48 +0000 |
parents | c883e60df239 |
children |
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 |