Reverse engineering a project from the binaries after losing the source code – level 300

I just did this today, and it actually didn’t take long.  I inherited a project, and the source code did not come with it.  It’s a side project, not at my company, but I originally thought that I might have to start from scratch.  Normally, I probably would have, but by using Reflector I was able to leverage many of the existing objects.  The project is a web site with SQL Server behind it, and there are several controls that pull and display data from the website.  After putting my new website framework in place (EZWeb), I made plugins (user controls that are dynamically loaded) to house the existing controls.  I made a template (a user controls that works with my master page controls) to mimick the look of the original site.  Then I added the individual controls to my plugins.  Even when I received errors, I was able to use Reflector to drill down the call stack and figure out what was going wrong.  Now, I have the site on my EZWeb framework while leveraging the existing code.  It will be very easy to extend the site from here in the new direction, and I didn’t have to start from scratch. 


Scott, if you’re reading this, yes, it’s what you’re thinking of.