views:

137

answers:

2
+1  Q: 

.dll decompiler

I have inherited a project from a previous developer. All the ASP .NET code behind files are contained within a .dll and the original files are unavailable. Is there any reliable decompiler out there that produces fairly readable code? I've heard mixed responses while browsing other forums - some say there are applications that will decompile .dll files, others say they just produce practically unusable assembly code. Thoughts?

Thanks!

+5  A: 

You could try Red Gate's Reflector with the FileDisassembler plugin. Also your heritage seems a little strange. What did the previous developer do with the source code? Didn't he use source control, performed backups? The usability of the source code produced by disassembling a .NET assembly will depend on whether the person that wrote the source code obfuscated it when compiling.

Darin Dimitrov
And if that works, SVN. =)
George
A: 

You cannot produce maintainable, properly-designed source code by reverse-engineering a DLL. With clever hacking, you'll be able to alter it to do specific things. Typically, you'll find tutorials on how to bypass licensing/registration checks. (Some of them for stealing my software!) But your effort will be probably 10x harder than if you had the source code. IMO, you're probably better off treating it as a black box, studying the inputs/outputs, behavior, design documents (if any), etc.. Reverse-engineer REQUIREMENTS from what you see the DLL doing and what the host application needs to do with it. And then get funding/approval for a new project to build a new one. With source code!

Otherwise, your "inheritance" is a liability that you should quickly distance yourself from.

Edit: I missed the part about .net. I don't know much about that, your mileage may be better than a native binary.

-- Chris

Chris Thornton
@Darin: No, the previous developer made a mess of our system. Apparently the consulting company went under and didn't provide us with any native files...so I'm stepping into a very frustrating environment.
ellenchristine