Preventing software piracy and reverse engineering

Sep 12, 2009 at 8:00pm
I'm going to be selling some encryption software and a lotto # generator program to try and raise a little bit of extra cash for school. But given my limited knowledge of computer science I'm afraid I'll be an easy target for someone stealing my software, selling it as their own, and especially software piracy. What easy (if any) precautions should I take to mitigate these risks?

Is there source code thats easy to implement that would prevent a user from copying the .exe to a different machine? Is there anyway I can make a 'trial' verson? How could I prevent a hacker from getting my source code?

Just a few questions. I know there may not be solutions to all of them, but I appreciate any help.
Sep 12, 2009 at 8:55pm
1. The program generates a key based on some parameter in the computer.
2. The program sends the key to your server, which can decide whether or not to activate the program. I think a simple method could be to have a key file in the intallation medium which you generated previously. The key will be forever linked on your server to the information the program used to generate the key.
3. If the program was activated, write the encrypted information somewhere. If it's on Windows, the registry, otherwise a regular file. You'll use this to verify whether the program is activated before step 1.

http://www.no-ip.com/

EDIT: As for the source code, faithfully decompiling a program is considered more or less impossible.
Last edited on Sep 12, 2009 at 9:24pm
Sep 13, 2009 at 10:53am
Although the no-ip program is a good example on simple communication between a home machine and an internet server, the code is badly written and almost unmaintainable.
Sep 13, 2009 at 11:01am
I agree with helios on decompiling, I had a decompiler I was playing with and I tried decompiling one of my own programs.
Topic archived. No new replies allowed.