1

私はあなたがC++dllを持つことができず、それをソースコードとして持つことを期待できないことを知っています、私は正しいですか?しかし同時に、DUMPBINを使用してC ++ dllを生データに戻すと、それを解釈するために実行できることがいくつかありますよね?たとえば、最も人気のある演算子とすべての基本的なマッピングを知っています。

その生のマシンデータを、コードや命令に似たものに大まかに解釈できるツールはありますか?問題は、自分でスクラッチするのに十分な時間がないことです。だから私はそれを行うためのツールか何かを探しています。

4

3 に答える 3

0

DUMPBIN / DISASSのコードセクションを逆アセンブルできますが、C ++のような「コード」が必要な場合は、逆コンパイラが必要です。ただし、それらは優れたものとはほど遠いものであり、多くの場合、非常に判読できないコードを作成します。そうです、コンパイラにフィードできるものですが、私が「人間が読める」と呼ぶものはほとんどありません。

于 2013-01-03T09:48:30.877 に答える
0

逆アセンブラーが必要です。これは、バイナリ オブジェクト (コンパイルされたファイル、ライブラリ、または実行可能ファイルなど) を受け取り、その内容をアセンブリとして再解釈しようとするツールです。

そのようなツールを使用すると、通常は内部シンボルの名前を取得できます (もちろん、バイナリ イメージが削除されている場合を除きますが、これは動的に好まれるライブラリには当てはまりません)。

また、C++ の場合、これは名前マングリングのために少し難しくなります。

Objdumpを一瞥してみてください。

于 2013-01-03T08:20:56.083 に答える
0

私の偏った意見では、最高の逆アセンブラーは IDA (Interactive Disassemblyr) です。プロの使用を対象としているため、やや高価ですが、試すことができるフリーウェア (古い) バージョンがあります。

http://www.hex-rays.com/products/ida/support/download_freeware.shtml

Hex-Rays Decompiler (IDAのアドオン) は逆アセンブリから C 疑似コードを生成でき、多くの場合、再コンパイルできます。

于 2013-01-03T13:09:00.727 に答える