home *** CD-ROM | disk | FTP | other *** search
- ; this baby takes about 16 minutes to get you
- ; the only valid serial, i have a p450... BTW
- ; i was on the irc while 'twas working without
- ; great speed loss (well if u compare this code
- ; with the one used in the program u can see why
- ; btw i used 32b app coz wsprintfA is quicker
- ; than coding my own dec to ascii function :)
-
- .486
- .MODEL FLAT, STDCALL
-
- wsprintfA PROTO C :DWORD,:DWORD,:DWORD
-
- .data
-
- wsdec db "%010lu",0
- output db 20 dup (0)
- fpu1 real8 0
- fpu2 real8 0
- hold dd 0
-
- .code
-
- main:
- mov [hold], 7fffffffh - 1 ; this equals to half of the possible combinations
- a: ; since i had 2 pc's one started testing from 0,
- inc dword ptr [hold] ; this one started at half (to decrease time)
- mov eax, [hold]
- push eax
- call wsprintfA, offset output, offset wsdec, eax
- pop eax
- xor ebx, ebx
- xor esi, esi
- b:
- movsx ecx, byte ptr [output+ebx]
- cmp ecx, 0
- je c
- add esi, ecx
- inc ebx
- jmp b
- c:
- cmp esi, 20Dh ; this is where laz made his mistake...
- jne a ; this way we spare some time by not executing
- mov dword ptr [fpu1], eax ; all the following code and go to next number
- fild qword ptr [fpu1]
- fsqrt
- fistp qword ptr [fpu2]
- mov eax, dword ptr [fpu2]
- mov ecx, 02
- xor edx, edx
- div ecx
- or eax, 7Bh
- shl eax, 05
- lea eax, dword ptr [eax+4*eax]
- lea eax, dword ptr [eax+4*eax]
- lea eax, dword ptr [eax+4*eax]
- lea eax, dword ptr [eax+4*eax]
- lea eax, dword ptr [eax+4*eax]
- add eax, 0322F5A4h
- mov edx, [hold]
- cmp eax, edx
- jne a
- int 3 ; when u break here ur lucky! '? edx' and u got it...
- end main