第一步:解压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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐