第一步:解压boot.img,从而得到 文件“kernel”
在windows中解压boot.img的方法请参考:
http://www.anzhuo2.com/thread-4391-1-1.html
在linux中的方法,请参考:http://bluedrum.sinaapp.com/archives/202.html
第二步:使用objdump反汇编,dump “kernel”文件,得到汇编代码。
使用arm-linux 工具链里面的arm-linux-objdump 就能反汇编
cd到bin文件所在的目录, 在命令行下输入:
arm-linux-objdump -D -b binary -m arm xxx.bin > xxx.asm
参数:
-D 反编译所有代码
-m 主机类型, arm
-b 文件格式, binary
对于ELF格式的文件只要一个-D参数即可
就可以把xxx.bin反汇编到xxx.asm文件
如果你有android的源码和开发环境,可以使用预编译目录下的“arm-eabi-objdump”
如下: # androidroot/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin$
./arm-eabi-objdump-D -b binary -m arm ~/kernel >~/armkernel.asm