Ste*_*eve 12 linux arm objdump disassembly
我有一个目标文件,我试图反汇编它.我用的时候:
objdump -d example.o
Run Code Online (Sandbox Code Playgroud)
我在代码中得到一个文件格式的程序集elf64-x86-64.
我想把它拆成ARM,我该怎么做呢?
如果你想拆解ARM代码,你最好有一个ARM工具链,这就是我得到的:
http://bb.osmocom.org/trac/wiki/toolchain
完成后,您可以使用arm-elf-objdump而不是objdump.我用的命令是
arm-elf-objdump -D -b binary -marm binaryfile.dat
Run Code Online (Sandbox Code Playgroud)
如果您查看联机帮助页,您会发现"-b"后面跟着文件类型.对不起,我不知道怎么告诉-b你想要分析一个.o文件."-marm"会告诉cpu是ARM.
希望这可以帮到你.
binutils使用正确的目标进行编译,以获取知道如何反汇编ARM的binutils objdump二进制文件.
http://www.gnu.org/software/binutils/
./configure --enable-targets=all 例如.
选择您的目标,制作并使用objdump您的目标感知的新二进制文件.有关binutils/README定位的详细信息,请参阅该文件.
objdump -D t3c # stock binary
objdump: t3c: File format not recognized
Run Code Online (Sandbox Code Playgroud)
与
./../../binutils-2.22/binutils/objdump -D t3c # latest compiled from source with all targets
In archive t3c:
t3c:arm: file format mach-o-le
Disassembly of section .text:
00002d94 <start>:
2d94: e59d0000 ldr r0, [sp]
...
Run Code Online (Sandbox Code Playgroud)
小智 5
您必须先使用交叉编译该文件以供使用arm-linux-gnueabi-gcc。您正在使用本机objdump。要反汇编手臂目标文件,请使用
arm-linux-gnueabi-objdump。希望这可以帮助