Task troi how the serial is checked Sunday, 07-Feb-99 16:12:11
Helo, as i found the serial is checked in 2 bytes at a time. This is done 8 times making it 16 compares. You will see what I mean if you study the listing. :0040CCD6 mov al,[ecx] one byte of the input serial is being moved into al :0040CCD8 cmp al,[edx] this byte is compared with the real serial, stored in exd :0040CCDA jnz 0040CCFA if the two are not the same you will get blown out at 004ccfda esle continue :0040CCDC or al,al set the flags :0040CCDE jz 0040CCF2 if zero then there´s nothing left to check we´re done :0040CCE1 mov al,[ecx+1] get the next byte to check :0040CCE3 cmp al,[edx+1] check it now we´ve compared two bytes so... :0040CCE5 jnz 0040CCFA if not zero not correct- better luck next time :0040CCE7 add ecx,02 ...we make TWO steps forward :0040CCE9 add edx,02 ...here too :0040CCEB or al,al set the flags :0040CCED jnz 004CD06 (back to begin) if not zero there´s still work to do so check the next two bytes else finished :0040CCEF xor eax,eax set eax to zero (for the test after this call) done! This block is made 8 times and checks 2 bytes each time. if you get the bad laydies jump, eax will be set to ffffffff by sbb eax,eax Thanks guys I´ve already learned really really much. I think NO tutorial can ever give you the badly needed experience you gain here! have a nice day Ignatz Ignatz |
Ignatz: Task uno (04-Feb-99 06:45:07) |
|
Copyright © InsideTheWeb, Inc. 1997-1999
All rights reserved.