34

動作を停止した古い DLL (log2vis.dll) があり、その内部を調べて、使用しているオブジェクトを確認したいと考えています。
DLL は (.NET ではなく) C++ で作成されました。C++ ファイルを逆コンパイル/逆アセンブルするツールはありますか?

4

6 に答える 6

33

これは不可能か、少なくとも非常に難しいかもしれません。DLL の内容は、C++ で書かれていることに (大きく) 依存していません。それはすべてマシンコードです。そのコードは最適化されている可能性があるため、元のソース コードに存在していた多くの情報が失われています。

そうは言っても、これを行うことについて多くの資料を扱っている記事の 1 つを次に示します

于 2009-08-24T12:51:53.517 に答える
13

Hex-Rays デコンパイラーは、この分野ではおそらく最高です!!!

于 2009-08-24T16:26:54.377 に答える
9

C++ DLL はマシン コード ファイルだと思います。したがって、逆コンパイルすると、アセンブラー コードのみが生成されます。それを読んで、そこから C++ を作成できれば、問題ありません。

于 2009-08-24T12:52:22.237 に答える
5

私が知っている逆コンパイラはありません。 W32dasmは優れた Win32 逆アセンブラーです。

于 2009-08-24T12:53:34.720 に答える
4

有用な情報のほとんどはコンパイルプロセスで破棄されるため、これを行う方法は実際にはありません。ただし、このサイトを見て、DLL から何かを抽出する方法を見つけられるかどうかを確認することをお勧めします。

于 2009-08-24T12:52:24.157 に答える