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