este
January 8th, 2006, 22:24
Hi,
I'm new here and I wan't 100% sure where to post this but I read a few topics and this question seemed to fit best here.
My goal was to reverse the code and prove that it is possible for me to generate a valid key from the name and serial number entered. Sort of like a keygen in a manner, but I can assure that this has nothing to do with 'warez' or super-leet hackers. If I wanted to bypass this authorization I could do so in a heartbeat, or at least a JNZ.
I'll explain what the program does and why I'm getting hung up.
The user is asked for 3 items, a 12 digit serial number, a name, and a 16 digit key (The program treats all the letters and numbers as ASCII bytes). This info is then taken into a function where it is all compiled into an 8 byte code. Here comes the tricky part, this 8 byte is then taken into a function where it is used to generate a 16 byte key. This key is compared directly to the original key entered. If they match alls well, if not then it fails.
So,
MakeCoefficient (Name,Serial,Key) = CoeffCode
if (GenerateCompareKey(Coeff) == Key)
VALID
else
NOT VALID
The problem I am having is how to reverse this. I can't start with the 8 byte number because that is changed with whatever key I enter. I can not start with the final code generated because it is supposed to exactly match the key entered. The serial and name will only give me 2 of the 3 parts I need. Of course a brute force method is not even close to reasonable.
Its odd enough to me that the function is taking in 3 elements, generating a result that then generates 1 of the original elements.
I'm confused
I can't really get my head around the algoritm to do this.
Anyone have any advice ?
I'm new here and I wan't 100% sure where to post this but I read a few topics and this question seemed to fit best here.
My goal was to reverse the code and prove that it is possible for me to generate a valid key from the name and serial number entered. Sort of like a keygen in a manner, but I can assure that this has nothing to do with 'warez' or super-leet hackers. If I wanted to bypass this authorization I could do so in a heartbeat, or at least a JNZ.
I'll explain what the program does and why I'm getting hung up.
The user is asked for 3 items, a 12 digit serial number, a name, and a 16 digit key (The program treats all the letters and numbers as ASCII bytes). This info is then taken into a function where it is all compiled into an 8 byte code. Here comes the tricky part, this 8 byte is then taken into a function where it is used to generate a 16 byte key. This key is compared directly to the original key entered. If they match alls well, if not then it fails.
So,
MakeCoefficient (Name,Serial,Key) = CoeffCode
if (GenerateCompareKey(Coeff) == Key)
VALID
else
NOT VALID
The problem I am having is how to reverse this. I can't start with the 8 byte number because that is changed with whatever key I enter. I can not start with the final code generated because it is supposed to exactly match the key entered. The serial and name will only give me 2 of the 3 parts I need. Of course a brute force method is not even close to reasonable.
Its odd enough to me that the function is taking in 3 elements, generating a result that then generates 1 of the original elements.
I'm confused

Anyone have any advice ?