2010-12-30 17 views
8

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

答えて

17

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

+0

+1この素晴らしいdisassember。 –

+0

64ビットアプリケーションを逆コンパイルする方法はありますか? – Havnar

+0

確かにあります。 IDAの最新版では、(他の多くの人がそうであるように)それだけでは無料ではありません。 – Matt

4

このDecompilation Wikiをご覧ください。ほとんどのご質問にお答えします。

+0

私はあなたが一般教育に行くと仮定しています、btw。 –

6

既にあなたのために書かれているディスジャンクラーはたくさんありますが(上記参照)、ディスアセンブルされたコードを読むことはあなたがより良いアセンブリライターになるのを助けるでしょう。これの主な理由は、コンパイラがアセンブリを生成する前に多くの最適化を行うことです。多くの場合、これは非常に扱いにくいコードの読み込みを可能にしますが、非常に効率的なコードを解析します。

+0

+1これは、アセンブリ言語の初心者が混乱するのを助けます。 – BlackBear

+2

これは答えではなく、OPが逆アセンブルしようとするのを阻止しようとしているので、私はこの応答をダウン投票しました。もう少し考えてみると、これはやや有効なコメントなので、私は投票を元に戻したいと思っていましたが、そうしてもそれはできません。 – ssh

3

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

関連する問題