473,943 Members | 24,807 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 1447
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.co m> wrote in message
news:%2******** **********@TK2M SFTNGP14.phx.gb l...
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.co m> wrote in message
news:%2******** **********@TK2M SFTNGP14.phx.gb l...
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 FileDisassemble r 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******@hotma il.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
2778
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 important data was overwritten, I would be happy if I could somehow recover at least the part that I can still see. The situation is now the following. If I open the file in vi I can see :
2
2964
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 2000 Advanced Server installation but the file system is intact. I have installed a new copy of SQL Server 7 onto a new hard disk and have used the sp_attach_db system stored procedure to attach the database from the old hard drive into the new...
1
3602
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
3837
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 Oracle database means entire database, i.e.. all tablespaces (including indexes). I see only recover tablespace and recover indexspace (or index) commands in db2. Therefore, one has to specify all the tablespaces and indexspaces and recover them
3
3189
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? The manual incremental recover works just fine, but having trouble getting the automatic incremental recover to work. Thanks for your help # INCREMENTAL BACKUP
2
2256
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 the .vb file used by the application (the entire code of the file is at the end of the post): If EmissionsWebBLL.Security.ValidateLogin(txtUserName.Text,
10
5835
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 the bad backups)! We do, however still have the EXE modules.. is there a way I can somehow recover the source code from the exe?!?! Thanks!
4
1802
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) through vs.studio at all? I do have these files as they are stored on a remote site for testing. Any idea? thanks in advance. CW
0
1802
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 disk as well. I performed the following in order : 1. OFFLINE BACKUP <time#1> 2. Create table S.T (c1 smallint) 3. Insert several rows into S.T - values 1,2,3,4,5 4. ONLINE BACKUP <time#2> 5. Insert several more rows 6,7,8,9
0
9970
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
11538
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
11133
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
10666
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9866
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
8228
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 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 a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6311
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4913
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4515
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.