问题
I have an old DLL that stopped working (log2vis.dll) and I want to look inside it to see what objects it uses.
The DLL was written in C++ (not .NET). Is there a tool that will decompile/disassemble C++ files?
回答1:
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.
回答2:
Hex-Rays decompiler is probably the best in this field !!!
回答3:
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.
回答4:
There are no decompilers which I know about. W32dasm is good Win32 disassembler.
回答5:
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.
回答6:
The closest you will ever get to doing such thing is a dissasembler, or debug info (Log2Vis.pdb).
来源:https://stackoverflow.com/questions/1322194/what-tool-can-decompile-a-dll-into-c-source-code