2

MIPSアセンブリの学習の一環として、いくつかのCソースファイルをLCCとクロスコンパイルしてから、それらを逆アセンブルしたいと思います。Windowsで動作 するMIPS逆アセンブラを見つけましたが、説明に次のように記載されています。

純粋なメモリダンプ(生のコード)とGCCオブジェクトファイルを分解します

x86の場合、ターゲットOSに応じて複数の実行可能ファイル/オブジェクトファイル形式があることを知っています。これはMIPSの場合ですか?これでうまくいくと思いますか?または、 CodeSourceryのようなプリコンパイルされたgcc MIPSツールチェーンの1つを使用できるように、Linuxディストリビューションをインストールする必要がありますか?

4

2 に答える 2

1

アセンブリ出力を出力するコンパイラオプションをlccサポートしているようです。-Sおそらくそれはあなたにいくらかの努力を節約するでしょう?

実行可能フォーマットは、常にオペレーティングシステムとコンパイラに準拠しています(明らかに連携して動作する必要があります)。gccを使用する必要があると判断した場合は、http: //faculty.cs.tamu.edu/bettati/Courses/410/2006C/Projects/gxemulcygwin.htmlで、cygwinを介してWin32にインストールする方法について説明しているようです。

于 2012-09-27T18:28:52.707 に答える
1

元の質問に答えるために、LinuxonMIPSは実行可能ファイルと共有オブジェクトにELF形式のファイルを使用します。ベアメタルMIPSシステムは、何らかの形式のメモリダンプを使用する可能性があります。GNUコードソースツールチェーンのobjdumpユーティリティは、ELFファイルとGCC.oファイルを逆アセンブルします。

于 2012-09-28T20:46:27.887 に答える