Help with generating serial
Hi guys,
I'm currently working on a piece of software and it is driving me crazy. I am able to 'register/activate' it by fudging all of the jumps at the serial key checker. However, I cannot for the life of me figure out the routine that actually creates the serial numbers.. Would any of you like to check this out and possibly give me an idea of how to do it? I don't really want the company looking this direction by mentioning the name of it, but here is the link to the installer. (It's used for Nissan cars) Link to the software: Code:
https://nisscan.com/NDSI/index.php?content=download Code:
Private Sub btnUnlock_Click() '53DC71 |
Hello,
try to look at loc_0052cf95 maybe this is what you looking for |
Hi Xobor,
I appreciate your help with this! What made you look at that address? It's almost the very first thing that's done right after the entry point - I don't see anything about activation or registration? Sorry, I'm not the greatest with this stuff yet, but am learning! |
Hello
in this function application reads ActivKey from registry and does some checks it came interesting to me best regards |
It seems Proc_23_0_565AB7 is calculating something relevant. What does the decompilation show for that part?
|
Quote:
|
Hi,
The procedure to generate the RegistrationCode aka RegCode in the version 1.63 with modified date 13.05.2013 is as follows: Code:
1. Generate 16 radom numbers of base 256=Res1 From my investigation so far, I could not find the RegName and Email(no syntax check) been used or referenced anywhere during the check of the activation key. They are however mandatory and the user will be promted to fill the corresponding empty field(s) before the RegistrationCode will be generated. Anyways, the ActivationKey does the same thing but with Key="Tomasz" instead of "Lilys". It should be noted however that both the initial 16 RadomNumbers(Res1) and the VolumeID (Res2) are in the resulted Regcode and are thus used to generate the ActivationKey, so that the 3 compares it does after decoding and decrypting the ActivationKey will match the original values. Regards, TemPoMat PS: If I have time I will try to write a Keygen for it |
Quote:
3. ConcatSeveralStrings("*",Res2,"#")=Res3 just a note, the volume serial number is in number format, not hex format |
Quote:
and for the 2.Step it would have been clearer if I had written it as: 2. Hex2SignedDec(VolumeInfoA("C:\"))=Res2 |
1 Attachment(s)
The Activation Key is calculated as follows:
Code:
1. AK1 = the 16 RandomBytes from Res1 3. ConcatSeveralStrings("*", Res2 ,"#")=Res3 Cheers |
Actually, "#" and "*" to be removed to create Activation Code.
Code:
string pass_1 = "?????"; |
Thank you, everyone, for helping me out with this.
I will have some free time on Thursday night to check it out again, with all of your notes by my side! I appreciate all of you :) @raduga_fb - is there a certain module that you used when using RC4? Visual Studio only has RC2 by default, from what I can remember. |
RC4
Code:
public class RC4 |
Hi @raduga_fb
I really appreciate all of the help you've given me! I compiled the code that you have given me, but am still receiving an error message stating that the activation key is incorrect. Here is a screenshot of the source, the activation code generated and the error on activation: https://f0il.com/datascan.png Am I doing something wrong in all of that? I'm still trying to wrap my head around how you figured all of this out in the first place lol sorry for my ignorance! |
:) You need to eat much more bread.
Who said that pass_1 & pass_2 should be name & email? They are already mentioned above. string pass_1 = "?????" <- 5 digits = Li*** string pass_2 = "??????" <- 6 digits = To**** |
All times are GMT +8. The time now is 19:59. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX