什么工具可以将DLL反编译成C ++源代码?

时间:2009-08-24 12:48:14

标签: c++ dll decompiling

我有一个停止工作的旧DLL(log2vis.dll),我想查看它内部以查看它使用的对象。
DLL是用C ++(而不是.NET)编写的。有没有可以反编译/反汇编C ++文件的工具?

6 个答案:

答案 0 :(得分:26)

这可能是不可能的,或者至少是非常困难的。 DLL的内容不依赖于(很多)用C ++编写的内容;这是所有的机器代码。该代码可能已经过优化,因此原始源代码中存在的大量信息都已消失。

尽管如此,here是一篇关于这样做的文章。

答案 1 :(得分:10)

答案 2 :(得分:8)

我认为C ++ DLL是一个机器代码文件。因此,反编译只会导致汇编代码。如果你可以阅读并创建C ++那么你就可以了。

答案 3 :(得分:5)

我不知道有任何反编译器。 W32dasm是一个很好的Win32反汇编程序。

答案 4 :(得分:4)

由于大多数有用信息在编译过程中被丢弃,因此实际上没有任何方法可以做到这一点。但是,您可能需要查看this site以查看是否可以找到从DLL中提取内容的某种方法。

答案 5 :(得分:0)

您要做的最接近的事情是 dissasembler 或调试信息(Log2Vis.pdb)。