Click here to Skip to main content
15,888,190 members
Please Sign up or sign in to vote.
4.20/5 (5 votes)
See more:
How can I protect my C# program from being decompiled and/or being reverse engineered?

Thanks in advance!
Posted
Updated 22-Jan-11 9:44am
v3

Use an obfuscator. It's not 100% decompile-proof but it will make it harder for people to do it.

This SO thread lists several popular ones: http://stackoverflow.com/questions/1988451/net-obfuscation[^]
 
Share this answer
 
v2
As Nishant Said, There is not any absolute way to protect your program. you can only make your code difficult and more difficult.
 
Share this answer
 
v2
Everyone worries about this. The odds that you've created something so groundbreaking that people will be trying to steal it, are low, but if that's really the case, then there's no real protection. You'd be better off to use C++, if you're that worried.
 
Share this answer
 
Comments
Shahin Khorshidnia 22-Jan-11 14:03pm    
I think you mean to use unManaged code.
Yusuf 22-Jan-11 22:58pm    
CG, I agree that most of the fear is unfounded. But even C++ is not fool proof. Of course it will make it that much harder. So, there is no real solution. If that was the case no company would have released their binaries. Of course one needs to secure their source code, but let them not worry much when it comes to binaries.
My answer is just same like the given answers you need to use Obfuscator because some protection is much better than no protection. so if you worry about protection of your code then you should use strong programming against reverse engineering you need to use Encryption,code splitting,multiple level of protection like Symbol renaming,string encryption,control flow which can make provide protection of your code.
you can navigate this link[^] having same question with some solution which embedding some perfect links like this one[Protecting .net code with SLPS][^]
you can also take a look on CP article. have go there[Protect your Code from Prying Eyes and Theft]
[^]
 
Share this answer
 
v2
Comments
Shahin Khorshidnia 22-Jan-11 13:58pm    
Good
Yusuf 22-Jan-11 23:02pm    
Yes, all what you describe helps, but unless you have the next killer app, do you think people will spend that much time reverse-engineering your code. What is the likely issue is for people to release torrent app than reverse engineer your code.

Never-the-less there is no harm for people to incorporate encryption etc in order to elevate their sense of security.
EazFuscator

Brilliant product totally customizable.

possible to decompile but near impossible to figure out what the code does.

It encrypts, clear text string it can merge assemblies, embed you assemblies all in one go.

and the best part it is 100% free and easy to use. but plz donate software like this needs support
 
Share this answer
 
Comments
vishnulalr 13-Mar-11 10:08am    
thank u very much for the answer .yes its true
You need to obfuscate your .net assemblies to prevent this.

Use Crypto Obfuscator - good protections, easy to use and has advanced features like msbuild support, resigning, etc.
 
Share this answer
 
I would recommend using AuthGuru as it encrypts the exe code and is much better than using obfuscation.

UNPROTECTED http://i.stack.imgur.com/hI15Y.png

PROTECTED http://i.stack.imgur.com/dbVui.png
 
Share this answer
 
Comments
CHill60 25-Jan-14 12:04pm    
Answering 3 year old questions with recommendations for software from a company of whom you are a director is considered spamming.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900