2015年3月26日 星期四

[轉] 反彙編android的「boot.img」鏡像裡的「kernel」文件的方法

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

沒有留言:

張貼留言