Friday, February 27, 2009

objdump 反組譯

objdump 反組譯是一個很實用的功能,但有時候我們拿到的不是執行檔,而是 binary image 或者是自行從記憶體 dump 下來的內容。在這種情況,要手動給 objdump 足夠的資訊,它才能完成它的工作。事實上,它需要的只是簡單的:
$ arm-angstrom-linux-gnueabi-objdump -b binary -m arm -D bootrom.bin

或者也可以先利用 objcopy 將 binary image 轉成 ELF 格式:
$ arm-angstrom-linux-gnueabi-objcopy -I binary -O elf32-littlearm -B arm --rename-section .data=.text bootrom.bin bootrom.elf

這樣也可以照本來的習慣去使用 objdump。