Go4Expert (http://www.go4expert.com/)
-   Ethical hacking Tips (http://www.go4expert.com/articles/ethical-hacking-tutorials/)
-   -   Introduction to Cracking - (Part I) (http://www.go4expert.com/articles/introduction-cracking-part-i-t17368/)

SaswatPadhi 6May2009 11:20

Introduction to Cracking - (Part I)


This is my first article here. I hope it would be useful to everyone. Please not that this article is ONLY for educational purposes and in no way I encourage illegal cracking of applications.

Now as this is the first part, I would start with something very basic. Let's start with decompiling -- the process of extracting the source code from the compiled exe. Yes, you heard it right, source from exe ! Let me clear it first that exact decompilation is not possible for many programming languages like C++, VB 6.0 etc.. But there are a few that can be quite satisfactorily decompiled to source-code e.g. Java, .NET (VB, C#, J#, VC++, Delphi.NET), Flash (decompilation from swf to fla) etc...

In this article, I will only talk about decompiling .NET programs (if I get good response then I will continue other decompilation techniques in next parts).


For decompiling .NET apps, the only tool you need is .NET Reflector. It's an excellent decompiler by Red Gate and best of all, it's available for FREE. You can just google for .NET Reflector by Red Gate and the first result is what you need. You can grab a free copy with some plug-ins which I think are necessary. So, here is a summary of what you need :

  1. .NET Reflector by Red Gate
  2. The app you want to decompile (let's call it XYZ.exe)
Plugins :
  1. Snippy
  2. Code Search
  3. Reflexil
  4. Deblector
  5. SilverlightLoader (if you want to decompile Silverlight)

Setup ...

Now, after downloading Reflector, you've to set it up (won't take long).
  1. Extract the zip file to any directory you like.
  2. Now extract the plugins to the sub-folder "Plugins".
  3. Open Reflector.exe and goto View -> Add-Ins.
  4. Click "Add..." and navigate to plugins directory.
  5. CodeSearch and Snippy come with only 1 dll, so you can add them right away :pleased:.
  6. But Reflexil and some others come with multiple dll files. You will have to add the correct dll. For ease, generally they are named in the format "<plugin-name>.dll" or "Reflector.<plugin-name>.dll. E.g. Reflexil's plugin is "Reflexil.dll" and Snippy's is "Reflector.Snippy.dll". So add such files. Adding wrong dlls would result in an error, but Reflector won't crash.

After adding plugins to Reflector, it's ready for you to decompile any .NET app ;).


Before you start decompiling apps, take a look at the small list box below the menu-bar. You can choose the language into which Reflector will decompile the exe. .NET apps built with any .NET language can be decompiled into any other .NET language :).

Now, File -> Open -> <select your exe>. Reflector will decompile it for you !
You get the almost EXACT source-code of the app. Decompilation by Reflector is so exact that sometimes, you can directly copy the code from Reflector and re-build the app !

Possible Uses

  1. You have lost the source-code of your c00L .NET app and badly want it back !
  2. You want to crack the serial for a software built with .NET. When you get the source, you know how the software expects the serial to be, so you can easily crack it. (Details will be in next part ..)
  3. Check if your code obfuscation is good enough to protect it from target users. (I will talk in details about obfuscation in next parts...)


Several obfuscation schemes can protect .NET apps from being easily decompiled (but they can't make make it totally un-decompilable ;)). I will talk about cracking some obfuscations in next parts ...

Till then .. take care 'n' good bye.

Thanks for reading this.

hanleyhansen 6May2009 19:14

Re: Introduction to Cracking - (Part I)
Excellent info!! Looking forward to the upcoming parts.

SaswatPadhi 6May2009 19:36

Re: Introduction to Cracking - (Part I)
Glad to know that you liked it :smile:.

Next parts will be posted soon.

jatinpreet 7May2009 21:45

Re: Introduction to Cracking - (Part I)
Nice article, keep them coming!

kiddo 8May2009 11:57

Re: Introduction to Cracking - (Part I)
It's good for a newbie like me, thx... keep going

mainac 8May2009 14:21

Re: Introduction to Cracking - (Part I)
what does it entail mostly on?

mainac 8May2009 14:32

Re: Introduction to Cracking - (Part I)
can't wait for the next article on part 1

mainac 8May2009 14:34

Re: Introduction to Cracking - (Part I)
i loved the part can't wait for the upcoming one

kisanka 8May2009 15:19

Re: Introduction to Cracking - (Part I)
excellent! the best article so far I read on g4e. keep other parts coming regularly..

SaswatPadhi 8May2009 15:27

Re: Introduction to Cracking - (Part I)
Thanx everyone for the overwhelming response ! :happy:

I've submitted the Part-II today. I hope you would like that too.

All times are GMT +5.5. The time now is 17:50.