Different versions of the same program
-
In my years of hacking/cracking, I discovered 1 thing. Figuring out how to generate a registration code wasn't important. Figuring out how to just trick the program into ignoring the registration code was much easier. So many application have this type of thing. if (CheckRegistration ()) exit (1) (you get the idea) So all you have to do is comment out that one line (or NOP to be more specific) and the program is broken. Things you can do to help yourself. 1. Make it such that the registration code has to set many differnent variables in the program for the program to work. 2. Set these variables in different places in the program. (Thus they have to find many pieces of code to hack.) But still, that doesn't really protect you. Just makes it a little bit harder. Side note about hacking data files. To help make data files more secure, they need to be: 1. Encoded. (Make it harder to spot key text or data) 2. If saved multiple times with the same dataset they should generate GREATLY different output. Such things as seeding an encoder with a random variable works. (This help to protect against the "change 1 thing and compare data files to see what changed" attack. 3. Use multiple encoding/crytography systems. (This just really makes a hackers day. 99% of them are expecting 1 level of encoding.) In our data files for our program, we use standard crytography, random seed encoding and positional encoding. It makes for very hard to decode data files. Good hackers can always locate your code that reads and writes the files. So ultimately, your data files can be hacked. As long as the hacker has the program that can read/write the data, there is NOTHING you can ever do to protect yourself 100%. A hacker can always break your program at ::WriteFile and then track backwards. Tim Smith Descartes Systems Sciences, Inc.
Hi Tim, Your comments are spot on and are some of the things I do in ED for Windows. The ïf (Registered()) .. issue is a serious problem with many commercial schemes. ie. "Protect your app with only 2 lines of code". I don't agree about the Registration code though. It is my understanding that many applications are cracked using Key Generators, so if for no other reason you need to make this as difficult as possible. The other issue is where someone posts a valid registration key on a Web site, enabling anyone to turn your app into a fully working version. I've taken measures against this as well. Neville Franks, Author of ED for Windows. Version 4.01 just released, with a C++ Class View that actually works. www.getsoft.com
-
Hi Tim, Your comments are spot on and are some of the things I do in ED for Windows. The ïf (Registered()) .. issue is a serious problem with many commercial schemes. ie. "Protect your app with only 2 lines of code". I don't agree about the Registration code though. It is my understanding that many applications are cracked using Key Generators, so if for no other reason you need to make this as difficult as possible. The other issue is where someone posts a valid registration key on a Web site, enabling anyone to turn your app into a fully working version. I've taken measures against this as well. Neville Franks, Author of ED for Windows. Version 4.01 just released, with a C++ Class View that actually works. www.getsoft.com
In the end you're spending time on a feature that's not used by your "paying" cutomers. I think you just need a simple protection scheme that prevents casual copying of your program. Since any program can be cracked what's the point of spending time on writting protection code? my .02
Todd Smith
-
In the end you're spending time on a feature that's not used by your "paying" cutomers. I think you just need a simple protection scheme that prevents casual copying of your program. Since any program can be cracked what's the point of spending time on writting protection code? my .02
Todd Smith
But where does "casual copying" end? If a company purchases two licenses and has five or ten people using a product, is that "casual copying"? It isn't in my opinion, and this is one of the issues that I face on a regular basis. I can't afford to forgo this lost revenue, especially when all 5/10 users request and expect support. We may need to agree to disagree on this. Neville Franks, Author of ED for Windows. Version 4.01 just released, with a C++ Class View that actually works. www.getsoft.com