RPN registration help needed
Posted: Fri Nov 18, 2005 2:59 pm
Hi to you all,
I am back again: the game I develop "3DStar Racer" is realy close to the end (a few more weeks / or days, depends on my present problem):
I read both threads on your forum dealing with RPN problems (hello to you BeyondTheTech!) and looked at several external websites in order to understand how RPN protection works. I achieve to understand 90% of the mechanism. Nevertheless, I have a problem: let's look at the following script (given by BeyondTheTech):
actualcode = strcpy(text, GetUnlockKey("key + c","Will P");
if (strcmp(actualcode, codeenteredbyuser) == 0) {registered=1;}
I have 3 questions on this:
1. (tell me if I am wrong) the sole thing I should have to do is to transmit to Handango my RPN algorithm (here: "key + c", or a more complicated one, but I have no idea... If you have, I am interested in). Then, based on the name the user declared to Handango, the Handango site may automatically send to the user his individual key: then, the script above checks the correspondance between the usermane and the key: is it right?
2. Most important point: in that example, "Will P" is the user’s name. Then this script associates a key to this user's name (PUN) and, then, checks if this is the same as the one entered by the user. Nevertheless, the PUN changes with the user, so that the string "Will P" must change with every user: the only way here is that the user enters himself his own user name (here "Will P") in my application... But, then, there is no verification procedure (in the registry I imagine) that such name corresponds to the real "owner's info", so that, hackers may simply disclose on the web both infos one name + an associated key. Have you any idea to deal with this problem (of course, the best thing would be that GE has a new function in GE (lets call it "GetPUNfromRegistry()"), so the new script becomes:
PUN_Info = strcpy(text, GetPUNfromRegistry());
actualcode = strcpy(text, GetUnlockKey("key + c",PUN_info));
if (strcmp(actualcode, codeenteredbyuser) == 0) registered=1;
Makslane told me this feature may be implemented in the future, but, meanwhile, I would be very intererested in an alternative solution, even if this is through a third party protection software... But I don"t know any and I don't see how to link them with my GE application? Even I do like coding, my skills in software protection are somewhat low.
3. The last problem is Handango works with RegCodes derived from PUN, whereas the registry only contains the PUN, not the RegCode. Am I wrong?
I am not sure all this is very clear (my English may not be as good enough to deal with such technical issues).
Good continuation to you all and many thanks in advance for your help
Régis
I am back again: the game I develop "3DStar Racer" is realy close to the end (a few more weeks / or days, depends on my present problem):
I read both threads on your forum dealing with RPN problems (hello to you BeyondTheTech!) and looked at several external websites in order to understand how RPN protection works. I achieve to understand 90% of the mechanism. Nevertheless, I have a problem: let's look at the following script (given by BeyondTheTech):
actualcode = strcpy(text, GetUnlockKey("key + c","Will P");
if (strcmp(actualcode, codeenteredbyuser) == 0) {registered=1;}
I have 3 questions on this:
1. (tell me if I am wrong) the sole thing I should have to do is to transmit to Handango my RPN algorithm (here: "key + c", or a more complicated one, but I have no idea... If you have, I am interested in). Then, based on the name the user declared to Handango, the Handango site may automatically send to the user his individual key: then, the script above checks the correspondance between the usermane and the key: is it right?
2. Most important point: in that example, "Will P" is the user’s name. Then this script associates a key to this user's name (PUN) and, then, checks if this is the same as the one entered by the user. Nevertheless, the PUN changes with the user, so that the string "Will P" must change with every user: the only way here is that the user enters himself his own user name (here "Will P") in my application... But, then, there is no verification procedure (in the registry I imagine) that such name corresponds to the real "owner's info", so that, hackers may simply disclose on the web both infos one name + an associated key. Have you any idea to deal with this problem (of course, the best thing would be that GE has a new function in GE (lets call it "GetPUNfromRegistry()"), so the new script becomes:
PUN_Info = strcpy(text, GetPUNfromRegistry());
actualcode = strcpy(text, GetUnlockKey("key + c",PUN_info));
if (strcmp(actualcode, codeenteredbyuser) == 0) registered=1;
Makslane told me this feature may be implemented in the future, but, meanwhile, I would be very intererested in an alternative solution, even if this is through a third party protection software... But I don"t know any and I don't see how to link them with my GE application? Even I do like coding, my skills in software protection are somewhat low.
3. The last problem is Handango works with RegCodes derived from PUN, whereas the registry only contains the PUN, not the RegCode. Am I wrong?
I am not sure all this is very clear (my English may not be as good enough to deal with such technical issues).
Good continuation to you all and many thanks in advance for your help
Régis