![]() ![]() Server combines Purchase Key and Machine ID into a string and signs it with its certificate and returns it to user.Software sends Purchase Key and unique Machine ID to server.User enters "Purchase Key" into software. ![]() Order-fulfillment software tells Server to generate "Purchase Key" and send to user.assuming you want "activation", then when the user purchases your software, the following process needs to happen: If all you want to do is have two strings that mean "demo" and "purchased", then they will be decrypted and distributed within hours (assuming your product is valuable). Product Activation commonly means that the software must be activated on a given machine. I've also separately written a C# activation system using RSA keys, but never deployed it. server, database, e-commerce integrations. ![]() But nothing is and this could make it harder for crackers.īackground: I've deployed an activation based system built on top of a third-party license system, i.e. Use imagination and think of some weird self-checking method nobody used before :)Īs mentioned - none of this is secure from cutting the authentication part off.Try to make some protocol that your server would use to ask questions about the app ("gimme the value of 293 byte of yourself") and check answers.Do some tricks with pointers (point to the activation function, go to 7th bit and change value of it for something based on value of another pointer in some weird places change hard-coded values to those based on occurrence of some bits in other places of the code generally - make it more difficult to break than by simply changing bits in executable with hex editor).Make executable self-verifying (signed by you, self-checking based on hard-coded public key (one thing: you must skip this value when self-checking)).So you can only assume (or make) this is hard enough not to be worth the effort (this is the same as for cryptography - when you make the cost of breaking the message greater then the profit of gaining it you can say it is well secured). ![]() In general someone could take functionality and put it in his/hers own app and thus eliminate any possible activation algorithm.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |