Link to home
Start Free TrialLog in
Avatar of panspermia
panspermia

asked on

Just Need Advice on Obfuscation

I'm tired of getting my programs decompiled.  I'm just a small time guy and I write a couple useful programs, but then they show up on hack sites.  

So I get Visual Studio professional and it has a 'dotfuscator' built in.  I'd like to know....how good is this program?

considering that my budget is small, can anyone give me some good tips on how to make my VB.NET compiled code hack-proof?  If not 100% hack proof, I just need advice on obfuscating it down as much as possible given that I'm a newbie to this.  Can a program like Salamander look inside a dotfuscatoed community edition VB program and see everything?

what do I do to protect my code?

if more than one person posts some very useful advice, I'll split the points.  
Avatar of fulscher
fulscher

panspermia,

Obfuscation is just a way to alter the source code to make it less readable. The compiled executable will be exactly the same for most languages. For .NET, the assemblies DO contain variable names - using the obfuscator, you'll make the task of decompiling just a bit more difficult.

So, here's my pet theorie about copy protection: It's not worth the effort. For some people, it's a challenge to hack the copy protection - and they will do it if they encounter any copy protection mechanism. Don't try to protect the code - if there's no protection, it's no challenge to hackers. So - don't use copy protection. Instead, make the _honest_ user (most of them) feel guilty if they do not pay for the software.

Add a startup message like the following: "This software has not been paid for and you're not allowed to use it. The author tries to make a living of writing software - please pay for this software if it's worthwile to you". Also, add the user's name to the startup message: "This software is registered to ...". If the user has copied the software from somebody else, he or she will notice this every time when they run the program.

Users compare value and price - it the value is good, but the price very high, more people will steal the software as if they can afford to pay for it. Make the price reasonable.

Hope this helps a bit
J
I agree with Fulscher on his theory on make honest people feeling guilty if they do not pay. However, we use the pro version of the dotfuscator to "protect" our code. The I,L as the output of the VB.net compiler is almost human readable. Dotfuscated output is definately not. Your competitor (or its reverse engineering department) won't touch a dotfuscated code, whereas plain (not obfuscated) code coud be an invitation to copy some of your algorythms.
Obfuscation also makes your code a bit smaller.
Jack.net


Avatar of panspermia

ASKER

i really want to protect my work as best i can.  can someone tell me the quality/difference between all those obfuscators?  .NET pro has one free, but i can also spend like 3k for soemthing like salamander .NET protector.

is the 3k package really superior to the .NET built-in dotfuscator?
ASKER CERTIFIED SOLUTION
Avatar of jrscherer
jrscherer
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial