web-dev-qa-db-ja.com

exeまたはdllをアセンブリに逆コンパイルする方法

私は本当にアセンブリ言語に興味があり、DLLの実行方法などのexeファイルの動作について学びたいと思っています。私は、非常に優れたアセンブリプログラマではないため、exeをアセンブリコードに逆コンパイルするアプリケーションを作成することを考えています。 exeの内部動作に関する知識がないため、実行できませんでした。 16進数でexeを読み取ることができるので、不可能ではないと思いますが、自分のプログラムの書き方がわかりません。任意のリソースまたは任意の助けをいただければ幸いです。

11
Keshan

デコンパイラではなく逆アセンブラを探していると思います。 IDAプロは人気があるようです。古いバージョンを無料でダウンロードできます http://www.hex-rays.com/idapro/idadownfreeware.htm

19
Matt

これを見てください Decompilation Wiki 、私はそれがあなたの質問のほとんどに答えると思います。

5

既に多くの逆アセンブラが記述されていますが(上記を参照)、逆アセンブルされたコードを読むことが、より優れたアセンブリライターになるのに役立つとは思いません。これの主な理由は、コンパイラーがアセンブリーを生成する前に、多くの最適化を行うためです。多くの場合、これは非常にトリッキーなコードを読み取るのに役立ちますが、分析するのに非常に効率的なコードになります。

5
Corith Malin

コンパイルされたプログラムがアセンブラレベルでどのように見えるかに興味がある場合は、生成されたアセンブリをコンパイルして確認することで、より意味のあるアプローチが得られます。たとえば、gcc/g ++では、これにはgcc -c -S filename.cを選択すると、クリアテキストのアセンブリファイルが残ります。

3
6502