I'm looking for a software to decompile DLLs into readable code. I want to be able to view classes, explore and analyze the DLL. Is there a program like this out there?
Looking for software to analyze and decompile DLL
It's not possible(1) to decompile object code to source code. Inspecting an interface is another matter altogether; there are tools that exist but I don't know of any offhand.
(1) - well, OK, it is possible for some languages and under certain conditions but the code produced won't exactly be readable...
(1) - well, OK, it is possible for some languages and under certain conditions but the code produced won't exactly be readable...
The only readable code you'll get is assembly language (there are many programs for this). There are some languages that can be decompiled to original (or close to) source code, such as Visual Basic 3. But who writes programs in VB3 nowadays? Nobody. As far as seeing the imports/exports of the DLL, you can use the Dependency walker program from:
http://www.dependencywalker.com/
Hope this helped, feel free to ask any questions you may have.
http://www.dependencywalker.com/
Hope this helped, feel free to ask any questions you may have.
One of the more obvious problems with decompiling is this:
(This is written in a pseudo-language!)
For this code, almost all modern compilers will remove the if clauses depending on the debug constant. This means that the executable can never be reversed to the source code.
(This is written in a pseudo-language!)
| Code: |
| const debug = true;
if(debug){ ... } ... if(!debug){ ... } |
For this code, almost all modern compilers will remove the if clauses depending on the debug constant. This means that the executable can never be reversed to the source code.
| qscomputing wrote: |
| It's not possible(1) to decompile object code to source code. Inspecting an interface is another matter altogether; there are tools that exist but I don't know of any offhand.
(1) - well, OK, it is possible for some languages and under certain conditions but the code produced won't exactly be readable... |
(1) For some languages, for example Visual Basic or C#, you can get readable source-code if you use a good decompiler and the code is not obfuscated (which it most of the time isn't)
Check this site if you're interested in decompiling:
http://www.program-transformation.org/Transform/DecompilationPossible
especially: http://www.program-transformation.org/Transform/DotNetDecompilers
I found a good decompiler for .NET. It's called Reflector by Lutz Roeder. It's quite nice and works quite well. You can analyze .NET assemblies in C#, Visual Basic and IL. Quite impressive.
Yeah. And the only real "decompiling" you can do is disassembling the DLL into assembly.
| qscomputing wrote: |
| It's not possible(1) to decompile object code to source code. Inspecting an interface is another matter altogether; there are tools that exist but I don't know of any offhand.
(1) - well, OK, it is possible for some languages and under certain conditions but the code produced won't exactly be readable... |
