Re: LiXuS thread (solution of the 2 battle)
Saturday, 20-Mar-99 05:30:14 Greetings, Good job but If I ub=nderstood you correctly in the following statement, I think you are missinig an important poin. Here is what you wrote: :00401B98 8A9A35384000 mov bl, byte ptr [edx+00403835] :00401B9E 42 inc edx :00401B9F 80FB2F cmp bl, 2F :00401BA2 760D jbe 00401BB1 :00401BA4 80FB3A cmp bl, 3A :00401BA7 7308 jnb 00401BB1 :00401BA9 6BC00A imul eax, 0000000A :00401BAC 80EB30 sub bl, 30 :00401BAF 03C3 add eax, ebx : --->:00401BB1 80BA3538400000 cmp byte ptr [edx+00403835], 00 :00401BB8 75DE jne 00401B98 The jump goes to 00401BB1, that line checks if any serial was entered, if not, bad cracker!! This routine just converts the serial to hex..> Actually the location [edx+00403835] is the buffer for the data being processed and the check for 00 is to see if the end of the string was reached. the jne 0040B98 is a jump to the start of the loop. What is he doing here is eliminating any thing that is not a number between 0 and 9. Take another look and tell me if I am wrong. Best regards, Joseph Joseph |
LiXuS thread (solution of the 2 battle) (LiXuS) (19-Mar-99 11:02:53) |