We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
这可能是不可能的,或者至少是非常困难的。 DLL 的内容(很大程度上)不依赖于用 C++ 编写;这都是机器代码。该代码可能已经过优化,因此原始源代码中存在的许多信息都消失了。
也就是说,这里是一篇文章,其中介绍了有关执行此操作的大量材料。
This might be impossible or at least very hard. The DLL's contents don't depend (a lot) on it being written in C++; it's all machine code. That code might have been optimized so a lot of information that was present in the original source code is simply gone.
That said, here is one article that goes through a lot of material about doing this.
Hex-Rays 反编译器可能是该领域最好的!!!
Hex-Rays decompiler is probably the best in this field !!!
我认为 C++ DLL 是机器代码文件。因此反编译只会产生汇编代码。如果您可以阅读该内容并从中创建 C++,那么您就可以开始了。
I think a C++ DLL is a machine code file. Therefore decompiling will only result in assembler code. If you can read that and create C++ from that you're good to go.
据我所知,没有反编译器。
W32dasm 是很好的 Win32 反汇编程序。
There are no decompilers which I know about.
W32dasm is good Win32 disassembler.
实际上没有任何方法可以做到这一点,因为大多数有用的信息在编译过程中都被丢弃了。但是,您可能想看看这个
site 看看是否可以找到从 DLL 中提取某些内容的方法。
There really isn't any way of doing this as most of the useful information is discarded in the compilation process. However, you may want to take a look at this
site to see if you can find some way of extracting something from the DLL.
您曾经最接近做这样的事情是反汇编器,或调试信息(Log2Vis.pdb)。
The closest you will ever get to doing such thing is a dissasembler, or debug info (Log2Vis.pdb).