| | |
Preventing decompilers in .NET
Please support our C# advertiser: Intel Parallel Studio Home
![]() |
•
•
Join Date: Mar 2008
Posts: 12
Reputation:
Solved Threads: 0
Today I found 2 distinct program which can takes .exe's and gives sorce code exactly, same method names, same class names, same variables also. I am trying to find a solution which can stop this decompilers. I found solutions but they just make the decompiling job harder. I need to make it impossible to see C# source code. Do you know any solution for this ?
Not only solution, if you have any idea we can discuss it ?
I am waiting for your replies.
Not only solution, if you have any idea we can discuss it ?
I am waiting for your replies.
If you have an ASP.NET server, then create a service with a set of methods for you application that the client will call, so the "valuable" code will be stored on the server.
My point is, once the machine code is available to the client, reverse engineering is always possible.
If you're not looking for a 98% foolproof way, then there are several .NET obfuscation tools available for a charge.
My point is, once the machine code is available to the client, reverse engineering is always possible.
If you're not looking for a 98% foolproof way, then there are several .NET obfuscation tools available for a charge.
Last edited by scru; Aug 15th, 2008 at 1:13 pm.
•
•
Join Date: Aug 2008
Posts: 1,162
Reputation:
Solved Threads: 137
I'm sure you have already looked at obfuscation. That is about the best solution. If you are writing managed code, as in C#, it can be decompiled.
Here is a program that makes it harder than just plain obfuscation, but still doable, think its outdated now, but there might be something like it floating around.
http://www.remotesoft.com/salamander/protector.html
Here is a program that makes it harder than just plain obfuscation, but still doable, think its outdated now, but there might be something like it floating around.
http://www.remotesoft.com/salamander/protector.html
•
•
Join Date: Jun 2008
Posts: 58
Reputation:
Solved Threads: 9
This is a pretty big issue when it comes to .Net applications. In case you haven't, I would read up on .Net Obfuscation, which is the simplest way to protect your applications.
RemoteSoft's Protector is more advanced, but definitely more powerful. I have used it in the past and it's very good. But nowadays Xenocode is a more up-to-date company with also some impressive software.
Just watch out for simple .Net encryptors, they don't really protect applications as well as they say.
RemoteSoft's Protector is more advanced, but definitely more powerful. I have used it in the past and it's very good. But nowadays Xenocode is a more up-to-date company with also some impressive software.
Just watch out for simple .Net encryptors, they don't really protect applications as well as they say.
Visual C# Kicks - Free C# code resources and articles.
•
•
Join Date: Jun 2008
Posts: 58
Reputation:
Solved Threads: 9
Looks interesting, although I've never heard of it before. Just as long as it encrypts .Net programs by parts instead of the entire application and then running it on memory, it should be okay.
Visual C# Kicks - Free C# code resources and articles.
•
•
Join Date: Mar 2008
Posts: 12
Reputation:
Solved Threads: 0
•
•
•
•
Only potential downside to that app is that it uses native code, as a result anyone trying to use mono or such would find it wouldnt run.

Can you explain it a little bit? (I'm not a native speaker so maybe the reason of the problem is me, sory
) ![]() |
Other Threads in the C# Forum
- Previous Thread: How to display a child form within a parent form
- Next Thread: C# installer and Registry
| Thread Tools | Search this Thread |
.net access ado.net algorithm array backup barchart bitmap box broadcast buttons c# check checkbox client clock color combobox control conversion csharp custom database datagrid datagridview dataset datetime degrees development draganddrop drawing dynamiccreation encryption enum event excel file form format forms function game gdi+ httpwebrequest image index input install interface java label list listbox mandelbrot math microsystems mouseclick mysql operator password path photoshop picturebox pixelinversion post programming property radians regex remote remoting richtextbox running... serialization server sleep soap socket sql sqlserver stack statistics stream string table text textbox thread time timer update usercontrol validation visualstudio webbrowser windows winforms wpf write xml






