web-dev-qa-db-ja.com

DLLをC ++ソースコードに逆コンパイルできるツールは何ですか?

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

28
Lea Cohen

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

とは言うものの、 here はこれを行うための多くの資料を通過する1つの記事です。

27
unwind
11
Malkocoglu

C++ DLLはマシンコードファイルです。したがって、逆コンパイルの結果はアセンブラーコードのみになります。

8
RvdK

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

5
Szczepan

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

4
anon

そのようなことを行うのに最も近いeverは、dissasembler、またはデバッグ情報(Log2Vis.pdb)です。

0
Naim Arnold