警告メッセージ

Howtoは、Armadilloシリーズを有効に活用するための参考資料です。使用ソフトウェアのバージョンなど諸条件の差異によって、記載内容と実際の動作が異なる場合があります。また、すべての機能検証や長期の動作試験を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。

Howto : アプリケーションコードを逆アセンブルする

対象製品: Armadillo-500 FXArmadillo-500Armadillo-460Armadillo-440Armadillo-420Armadillo-300Armadillo-9Armadillo-240Armadillo-230Armadillo-220Armadillo-210Armadillo(HT1070)Armadillo-J

2つ方法があります。

1. objdumpを使う方法

objdump[1]はバイナリの情報を表示するためのツールです。いろいろな機能を持っていますが、その中で逆アセンブルの機能があります。逆アセンブルするにはオプション「-d」を指定します[2]

コンパイルされたバイナリをATDEで逆アセンブルするには(たとえばromfs/binにある busyboxのバイナリを逆アセンブルしたい場合は)、


[PC ~/atmark-dist]$ arm-linux-objdump -d romfs/bin/busybox

とします。普通は、あるアドレスや関数の一部を逆アセンブルして確認したいはずなので、lessに渡したり、リダイレクトしてファイルにしてから確認する方が良いです。

2. gdbを使う方法

もし gdbを使うなら


(gdb) disassemble main

というように、関数名を指定することができます。


[1] ARMの開発環境では、arm-linux-objdumpやarm-linux-gnueabi-objdumpになります。

[2] objdumpには他にもいろいろなオプションがあります。他のオプションについては manページを確認してください。