任意のx86の機械語ファイルをndisasmを使って逆アセンブルして表示する

自作エミュレータで学ぶx86アーキテクチャ
スポンサーリンク

この記事では機械語ファイルをndisasmを使って逆アセンブルし、それを表示する方法を書いています。

スポンサーリンク

機械語ファイルをndisasmで逆アセンブルして表示

前回はC言語ファイルから機械語ファイルを作成しました。その続きです。

作成した機械語ファイルを逆アセンブルしてみます。

前回と同じようにバッチファイルからコマンドプロンプトを起動します。

次のコマンドを実行してアセンブリ言語を表示してみます。

ndisasm -b 32 casm-c-sample.bin

ndisasmは逆アセンブラをするプログラムです。NASMというパッケージに含まれています。

ツールセットの以下の場所にあります。 

-b 32 とオプションが指定されていますが、これは逆アセンブルする機械語がx86アーキテクチャの32ビットモードであることを指定しています。

-b 32をつけないとndisasmは与えられた機械語を16ビットモードで解釈します。

下のコマンドのように -b 32をつけないで逆アセンブラを表示してみます。

ndisasm casm-c-sample.bin

実行結果は下の画像のようになります。

32ビットモードでの逆アセンブラとは違う逆アセンブラが出力されているのがわかります。

ndisasmを使って任意の機械語をアセンブリ言語に変換して読めるようになりました。





この記事ではC言語ファイルからndisasmを使って逆アセンブルした結果を表示しました。




この記事は以上です。