Protecting your software - A good aproche?
Posted: Tue Dec 02, 2008 9:17 pm
I've been reading allover about how to protect you apllications. I came up with a strategy to protect mine:
1.At compilation time the program creates a var with compilation date. This will became the program serial number
2.This var is converted to HEX
3.At installation time / first run, this Hex var along with the actual installation date (in HEX) are written to a not obvious Registry key with also not obvious value names
4.When the user runs the program, it checks if the days after the installation are within the trial period if any, or tif he program is registered
5.If the the program is over the trial period, the user is offered the option to register
6.The user is given a product ID
7.This product ID is (in my case): the HD serial number (not the volume serial number) converted to an MD5 string, plus the HEX compilation date referred before
8.The user then connects to a Web Server, call the vendor or send an e-mail, with this product ID and the user / company name
9.At the web server (a spreadsheet or a piece of paper) the compilation date is extracted from the product ID and recorded along with the product ID and user / company name
10.This information will form a string to be converted to MD5
11.This MD5 string, in a whole or just part of it (MID function is very useful here) is given to the user as the validation code
12.The process is repeated at the application and the result validation code compared with the one supplied by the user
13.The validation code is written in the registry in an obvious key with an also obvious value name.
14.Every time the program starts will check for this validation code.
15.If it exists, the program is registered. If not checks the installation date and trial period
It shure does not make it Hacker fullproof, but gives them an hard time to crack the application. An the aplication only runs in a computer. Does not run if it is not registered, and can only be registered once. If the user (in my case) replaces the HD, well, it will have to call you and give a good explanation for you to give him a new validation code
Hope this has any value for anyone
1.At compilation time the program creates a var with compilation date. This will became the program serial number
2.This var is converted to HEX
3.At installation time / first run, this Hex var along with the actual installation date (in HEX) are written to a not obvious Registry key with also not obvious value names
4.When the user runs the program, it checks if the days after the installation are within the trial period if any, or tif he program is registered
5.If the the program is over the trial period, the user is offered the option to register
6.The user is given a product ID
7.This product ID is (in my case): the HD serial number (not the volume serial number) converted to an MD5 string, plus the HEX compilation date referred before
8.The user then connects to a Web Server, call the vendor or send an e-mail, with this product ID and the user / company name
9.At the web server (a spreadsheet or a piece of paper) the compilation date is extracted from the product ID and recorded along with the product ID and user / company name
10.This information will form a string to be converted to MD5
11.This MD5 string, in a whole or just part of it (MID function is very useful here) is given to the user as the validation code
12.The process is repeated at the application and the result validation code compared with the one supplied by the user
13.The validation code is written in the registry in an obvious key with an also obvious value name.
14.Every time the program starts will check for this validation code.
15.If it exists, the program is registered. If not checks the installation date and trial period
It shure does not make it Hacker fullproof, but gives them an hard time to crack the application. An the aplication only runs in a computer. Does not run if it is not registered, and can only be registered once. If the user (in my case) replaces the HD, well, it will have to call you and give a good explanation for you to give him a new validation code
Hope this has any value for anyone