How do I decompile a .dll file?

2019-01-26 12:55发布

问题:

I have a .dll I would like to decompile to make some improvements to the code. What are some tools out there that will allow me to do this?

It's written in VB, I believe.

回答1:

The answer depends on what language the DLL was written in.

If it was a .NET language then, as pointed out, you can use .NET Reflector.

If it's the older Visual Basic (pre-.NET), then the DLL is compiled as what's called p-code and there are a few options for doing some variations on decompiling.

Finally, if it's written in a language like C++, there is no direct way to obtain the source code. Such a DLL is compiled to machine language and can only be directly decompiled to assembly language.

So, again, it depends on the language used. And the answer might be that it's just not possible to get anything resembling the original source code.



回答2:

.NET Reflector!!!

http://www.red-gate.com/products/dotnet-development/reflector/

It is even free, you won't need the pro version to see the dissassembled code.



回答3:

JetBrain's dotPeek billed as the Free .NET Decompiler and Assembly Browser worked great for me: quick, easy, and of course best of all, free!