I guess it's time for me to get more active here :P. So yeah, just an idea for an online serial key protection system:
I just saw some game protection topics and examples. This one is my idea how to do it. It uses lacewing to manage the key interactions.
You can create new keys using the Key Server interface (though you still have to send the keys to the users who bought your application but this should not be a problem.).
If the user enters the key, the server checks if the key is already registered, not in use or if it does not exsist. This should also support all exporters since the Client only uses some extensions which are supported by most of the exporters (the server uses more non-multiplatform extensions so it doesn't support all platforms but anyway, the server shouldn't run on a mobile device :P)
The keys look like this (stored in an ini file called keys.ini, stored in the same folder as the server):
the stuff infront of the equal sign is the serial key. the number after the equal sign says if the key is used, not used or if it can be used as often as you want.
0 = not used
1 = used
-1 = unlimited
The server must be on if you want to register a key. So you need a rootserver or something if you want to use this system for your games/applications. The keys are also encrypted. It should be also possible doing this using sql/php which would be great. I'll try to come up with an example for this, too.
You could send the keys to users after they bought your game (maybe per an automatic generated e-mail after they bought the game?)
Hope this helps someone!