我有一个停止工作的旧 DLL (log2vis.dll),我想看看它内部使用了哪些对象。
DLL 是用 C++(不是 .NET)编写的。是否有可以反编译/反汇编 C++ 文件的工具?
问问题
255823 次
6 回答
33
这可能是不可能的,或者至少非常困难。DLL 的内容(很多)不依赖于它是用 C++ 编写的;都是机器码。该代码可能已经过优化,因此原始源代码中存在的许多信息都消失了。
也就是说,这里有一篇文章介绍了很多关于这样做的材料。
于 2009-08-24T12:51:53.517 回答
13
于 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 回答
-1
最接近你做这种事情的是dissasembler或调试信息(Log2Vis.pdb)。
于 2019-08-16T23:38:19.113 回答