4

I don't know if this is the correct place to post this question, so sorry if it is in the incorrect place.

Question:

How easy is it for a third-party person to decompile my vb.net application? I mean is it even possible?

For example, I have an .exe, would someone just put that .exe into a decompiler and... BAAM!!, they can see all the code? Speaking of code, when compiling, does the code get encrypted? If not, is there a way to encrypt the code?

I have used SWF decompiler to decompile a .SWF to .FLA, and to decompile an SWF is really really easy with this tool. Would it be this easy to decompile an .exe?

Thanks.

user959631
  • 1,004
  • 2
  • 14
  • 34
  • Thanks for both answers, very informative, but as @hometoast told me how to obfuscate code and answered first, I will accept his answer, and vote up the other one. Thanks again. – user959631 Oct 12 '12 at 18:58
  • 1
    Obfuscation will not guarantee that someone cannot decompile your code it just helps. With Reflector you can still reconstruct the obfuscated code. – Michael Eakins Oct 12 '12 at 19:21
  • 1
    See these questions [.Net Obfuscation](http://stackoverflow.com/questions/1988451/net-obfuscation) and [VB.Net source code protection](http://stackoverflow.com/questions/4765545/source-code-protection) and [simple .Net obfuscation tool](http://stackoverflow.com/questions/7189942/simple-net-obfuscation-tool) and [best .Net obfuscation strategy](http://stackoverflow.com/questions/2525/best-net-obfuscation-tools-strategy) and [free obfuscation tools](http://stackoverflow.com/questions/805549/free-obfuscation-tools-for-net) – MarkJ Oct 13 '12 at 07:45

2 Answers2

7

Yes. You can decompile your code very easily. .Net Reflector is an excellent tool to do exactly as you describe.

Imagine if you encrypted the code. The runtime on the users computer would still need to decrpyt it to understand it.

Best you could do would be to obfuscate your code.

hometoast
  • 11,522
  • 5
  • 41
  • 58
  • Ohh, so is there any way of encrypting the code? Thanks again. – user959631 Oct 12 '12 at 18:46
  • There are third-party tools which will encrypt your assemblies. – Steven Doggart Oct 12 '12 at 18:52
  • 1
    Ahh, yeah, that's true, so then there is no way of preventing a third party person to have a look at your code, I was just testing out .Net Reflector and I just looked and I saw all the code for everything -.- That sucks! – user959631 Oct 12 '12 at 18:54
4

.net reflector is not free anymore, I recommend telerik JustDecompile, free and very easy to use, a great tool http://www.telerik.com/products/decompiler.aspx . It's able to decompile everything the way you described

eloycm
  • 404
  • 2
  • 12
  • Yeah, but I don't want to decompile my application, I want to find a way to prevent people from decompiling my application =] – user959631 Oct 12 '12 at 18:55
  • 2
    Another free alternative to Reflector is [dotPeek by JetBrains](http://www.jetbrains.com/decompiler/). @user959631: you cannot prevent anybody from decompiling your application if it is .NET. Obfuscating is process where you make it difficult to understand your code for somebody with average programming skills. A true professional will be able to steal your code anyways. – Victor Zakharov Oct 12 '12 at 19:03
  • Hmm, I think Microsoft should work on a way to prevent decompiling or you need a security code to decompile it, or something more secure. Lol, anyways, I don't know if that's possible, or they probably would have already done it. Anyways, thanks =] – user959631 Oct 12 '12 at 19:08
  • 1
    You can still get .NEt reflector for free you just need to know where to look for it. You can get it for free from Red Gate's website still. – Michael Eakins Oct 12 '12 at 19:23
  • @Neolisk And dotPeek advertise on StackOverflow – MarkJ Oct 13 '12 at 07:52