Sorry for the long rambling message, but here goes... We shouldn't care if suspect "crackers" are listening on this forum. Any solution to this problem that we come up with should be good enough that it won't matter if they know what we're doing or not. Just like having the source to encryption code should not let you just go and decrypt anything you want. I like this "seed of doubt" approach. The trick is in dealing with illegal registration code generators and getting the word out that pirated software may be buggy. Maybe we could even enlist help from Palm, PilotGear, etc, to help spread the word. For the registration code problem, here's an idea. Have two levels of algorithms. For a given user name, quite a few numbers may work. Make this algorithm loose and easy to crack, but make it also leave "footprints" or special left-over result values in a number of global variables. Then, at various points in your program, you inconspicuously check the footprints, or maybe even involve them in certain calculations required by the program. If these footprint numbers are not exactly right, you'll have bugs in your program. So in the end, while several reg. codes may work to enable the full program, only the correct codes will make the program work bug-free. To the cracker, it's obvious when the reg code "works," but it's difficult trace down strange bugs, let alone notice immediately they even exist. As a devloper, this logic would have to be tested thoroughly. I wouldn't want to loose sleep over whether I've got bugs in my bugs! Think of it as two levels of protection... certain keys will start the car, but only the correct key will start the car and give you a pleasant drive without leaking oil. ;-) (I just had my car stolen last week, but the theif only drove a few blocks, as little did he know the alternator was seized). The campaign message (prominently featured on splash screen/help file/web site, etc) goes something like this: "WARNING: Recently we've been made aware of modified pirated copies of our programs and even illegal registration number generators available from certain off-shore web sites. We've heard from several unfortunate users who have experienced subtle bugs and in one case, a hard reset, caused by these modified illegal copies and illegitimate registrations codes. Please don't risk your data! Use authentic software purchased from us or trial versions downloaded from reputable sources. We cannot and will not be liable for any losses caused by illegal pirated/cracked copies of our programs or the use of registration codes we did not generate and certify to work correctly." Maybe add a little blurb about enforcing copyright law, etc. In the end, whether you've got the subtle-bug tactics or not, the possibility it could exist and even cause a hard reset should scare a lot of users into being more honest. Either way, it's a good bluff, and there's no need to distribute your own "cracked" versions to play the game. You don't even have to make intentional bugs.. your program just happens to rely on some information in the registration code to work properly - no harm in that! -- Geoff Shepherd mailto:[EMAIL PROTECTED]
