473,322 Members | 1,504 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,322 software developers and data experts.

recover source from DLL?

Hard drive failure recently caused me to loose a little data that hadn't
been backed up yet. One of the things was a small custom web control I was
writing -- not very fancy, but it took me all day, and I don't have the
time to rewrite it. I didn't obfuscate the code -- is it possible to recover
some semblance of the source? The DLL is only 4K in size.
Thanks
Mike
Nov 19 '05 #1
5 1429
You can use the IldAsm.exe tool that comes with the .Net platform to view
the MSIL in the DLL or executable. that's not exactly your source code, but
with some work, you might be able to rebuild the source code from the MSIL.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
What You Seek Is What You Get.

"Mike" <Mi**@nospam.com> wrote in message
news:%2******************@TK2MSFTNGP14.phx.gbl...
Hard drive failure recently caused me to loose a little data that hadn't
been backed up yet. One of the things was a small custom web control I was
writing -- not very fancy, but it took me all day, and I don't have the
time to rewrite it. I didn't obfuscate the code -- is it possible to
recover
some semblance of the source? The DLL is only 4K in size.
Thanks
Mike

Nov 19 '05 #2
There are some decompilers available for free, you can google for them. One
is called Anakrino. You can at least get something that way.

"Mike" <Mi**@nospam.com> wrote in message
news:%2******************@TK2MSFTNGP14.phx.gbl...
Hard drive failure recently caused me to loose a little data that hadn't
been backed up yet. One of the things was a small custom web control I was
writing -- not very fancy, but it took me all day, and I don't have the
time to rewrite it. I didn't obfuscate the code -- is it possible to
recover
some semblance of the source? The DLL is only 4K in size.
Thanks
Mike

Nov 19 '05 #3
Hello Mike,

You could take a look at .NET Reflector [1], which provides the functionality
you're looking for. Granted, the source doesnt have the same variable names
inside the methods and some blocks (ie: foreach and using) will be completely
expanded, but the code will be there.

[1] http://www.aisto.com/roeder/dotnet/

--
Matt Berther
http://www.mattberther.com
Hard drive failure recently caused me to loose a little data that
hadn't
been backed up yet. One of the things was a small custom web control I
was
writing -- not very fancy, but it took me all day, and I don't have
the
time to rewrite it. I didn't obfuscate the code -- is it possible to
recover
some semblance of the source? The DLL is only 4K in size.
Thanks
Mike

Nov 19 '05 #4
I second Matt's nomination.

There is a nifty plugin for Reflector named FileDisassembler that can
be used to dump the decompiler output to files of any Reflector
supported language (C#, VB.NET, Delphi).

http://www.denisbauer.com/NETTools/

--
Scott
http://www.OdeToCode.com/blogs/scott/

On Thu, 07 Apr 2005 09:48:11 -0700, Matt Berther
<mb******@hotmail.com> wrote:
Hello Mike,

You could take a look at .NET Reflector [1], which provides the functionality
you're looking for. Granted, the source doesnt have the same variable names
inside the methods and some blocks (ie: foreach and using) will be completely
expanded, but the code will be there.

[1] http://www.aisto.com/roeder/dotnet/


Nov 19 '05 #5
Matt,

You might be interested in our commercial Decompiler.NET product. We do
retain local variable names when you have the pdb files, and we include
better optimizations than other decompilers so we do find foreach,
using, lock statements, etc. We also include obfuscation features and
some automatic refactoring capabilities. You can download a free trial
version from our web site at http://www.junglecreatures.com/

Jonathan Pierce
President
Jungle Creatures, Inc.
http://www.junglecreatures.com/

Nov 19 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Maurizio Berlusconi | last post by:
Hi all I have (my mistake) overwritten the beginning of a file where a long dictionary was pickled with another (pickled and much smaller) dictionary. Since only 10% or so of the original and...
2
by: Nate | last post by:
Hello, I am trying to recover a SQL Server 7 database from another hard disk drive that has a corrupted Windows 2000 Advanced Server installation. I am not able to repair the corrupted Windows...
1
by: KoliPoki | last post by:
Folks. I screwed up big time, I deleted a very long and smart stored proc (pls don't ask how). Is there anyway I can recover it? Any advice appreciated.
5
by: Prem K Mehrotra | last post by:
I come from Oracle background. In Oracle, when one wants to do a point in time recovery, one can specify recover database until timestmap. Oracle's database maps to a db2 subsystem, i.e., in...
3
by: apple | last post by:
UDB v8 fp 6a on AIX 5.1.0.0 Below is a manual incremental recover from compressed backup datasets. With external compress backup datasets, can it be coded to do an automatic incremental recover?...
2
by: Maellic | last post by:
Hi, I'm currently updating a website written with ASP.NET. The original programmer is overseas, there is no documentation, and files are all over the place. Here is a code snippet from one of...
10
by: James Radke | last post by:
Hello, I have an emergency question - it was just determined that our backups were incomplete, and we do not have the source code for an application we developed (due to some system delete, and...
4
by: C.W. | last post by:
I lost my laptop as well as my backup server. I am wondering if there is a way to step through the code without the source code, but only with the dll and pdb (which are compiled in debug mode)...
0
by: mike_dba | last post by:
I have been testing the db2 recover command on a DB2 V8.2 Linux database. The database contains a single partition. I am not archiving logs but retaining them on disk. the backup image is to...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.