home *** CD-ROM | disk | FTP | other *** search
- ; This wasn't meant to be released as source.. but wtf....
- ; enjoy it! ;) - oh btw.. this was spread thru Stone's homepage - find me :)
-
- .MODEL SMALL
- .STACK 100h
- .386
-
- .DATA
- input DB 22h,0 ; Allow usernames up till 16 Chars - disregard more
- sentence DB 22h dup ('$') ; buffer to store real input at
- stat1 DW 0 ; Statistic no.1. - (half the serial)
- stat2 DW 0 ; Statistic no.2. - (other half the serial)
- count DW 0ffFFh ; byte need to count with
- flaf DB 0
- rightkeytxt DB 'The key is: '
- rightkey DB '12345678',10,13,'$' ; Store the generated key here
-
- introtxt DB 'Enter your name: ','$'
- lnfd DB 10,13,'$' ; Line feed
- reginfo DB 'Username: $'
- UCF DB '─────────────────────────────────────────',10,13
- DB ' ▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄ ',10,13
- DB ' ███ ███ ███ ███▄▄▄ ',10,13
- DB ' ███▄ ███ ███▄ ███ ',10,13
- DB ' ▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀ ▀▀▀ ',10,13
- DB '─────────────────────────────────────────',10,13
- DB ' u N I T E D c R Æ C K I N G f O R C E ',10,13
- DB '─────────────────────────────────────────',10,13
- DB ' WinZip 6.2 & 6.3 Beta 5 Keymaker',10,13
- DB ' By Drone [F4CG] & Stone [UCF] (C) 1997',10,13,10,13,'$'
-
-
- .CODE
- START:
- MOV AX, @DATA ; Make DS&ES point to the DATA
- MOV DS,AX
- MOV ES,AX
-
- LEA EDX, [ucf] ; Prime example of non efficient coding :)
- MOV AH,9h
- INT 21h
-
- LEA EDX,[introtxt] ; Write the introductory text
- MOV AH,9h
- INT 21h
-
- LEA EDX,[input] ; Fetch Input
- XOR EBX,EBX
- MOV AH,0ah
- INT 21h
-
- CMP BYTE PTR [input+1],0 ; did the sucker type nothing?
- JZ nokey
-
- MOVZX EBX, BYTE PTR [input +1] ; zero-terminate
- MOV BYTE PTR [sentence+EBX],0h
-
-
- LEA EDX, [lnfd] ; Write a linefeed
- MOV AH,9h
- INT 21h
-
-
- XOR EBX,EBX
- genstat1:
- INC WORD PTR [count] ; Increase counter
- INC EBX
- LEA EAX,[sentence+EBX-1]
- MOVZX EAX,BYTE PTR [EAX]
- TEST EAX,EAX
- JZ endstat1
- LEA EAX,[sentence+EBX-1]
- MOVZX EAX,BYTE PTR [EAX]
- MOVZX ECX,WORD PTR [count]
- IMUL EAX,ECX
- MOVZX ECX,WORD PTR [stat1]
- ADD EAX,ECX
- MOV [stat1],AX
- JMP genstat1
- endstat1:
-
- XOR EBX,EBX
- MOV WORD PTR [count],0ffffh
- genstat2:
- INC DWORD PTR [count] ; Counter - ini =0
- INC EBX
- LEA EAX,[Sentence+EBX-1] ; username
- MOVZX EAX,BYTE PTR [EAX]
- TEST EAX,EAX
- JZ endstat2
- PUSH 00001021h
- LEA EAX,[Sentence+EBX-1]
- MOVZX AX,BYTE PTR [EAX]
- PUSH EAX
- PUSH DWORD PTR [STAT2] ; ebp-8 = stat2
- CALL c40AF3C
-
- ADD ESP,0Ah ;?
- MOV WORD PTR [STAT2],AX
- JMP genstat2
- endstat2:
-
- MOV AX, WORD PTR [STAT2]
- ADD AX, 63h
- SHL EAX,16
- MOV AX, WORD PTR [stat1]
- MOV ESI,EAX
-
- LEA EBX, [rightkey+8]
- CALL al1
-
- MOV EAX, ESI ; Fetch ax
- SHR EAX,4
- CALL al1
-
-
- MOV EAX, ESI ; Fetch ax
- SHR EAX, 8
- CALL al1
-
-
- MOV EAX, ESI ; Fetch ax
- SHR EAX, 12
- CALL al1
-
- MOV EAX, ESI ; Fetch ax
- SHR EAX, 16
- CALL al1
-
- MOV EAX, ESI ; Fetch ax
- SHR EAX, 20
- CALL al1
-
-
- MOV EAX, ESI ; Fetch ax
- SHR EAX, 24
- CALL al1
-
-
- MOV EAX, ESI ; Fetch ax
- SHR EAX, 28
- CALL al1
-
- LEA EDX, [reginfo]
- MOV AH,9
- INT 21h
-
- LEA EDX,[sentence]
- MOV AH,9h
- INT 21h
-
-
- LEA EDX, [lnfd]
- MOV AH,9
- INT 21h
-
- LEA EDX, [rightkeytxt]
- MOV AH,9h
- INT 21h
-
- nokey:
- MOV AH,4ch
- INT 21h
-
- al1:
- DEC EBX
- SHL AL,4 ; fetch first half byte
- SHR AL,4
- ADD AL,055d ; make it a letter
- CMP AL,41h ; was it really a number?
- JGE endal1
- SUB AL,7
- endal1:
- MOV BYTE PTR [EBX],AL
-
- RET
-
-
- c40AF3C:
- PUSH EBP
- MOV EBP,ESP
- ADD ESP,04
- SUB EBP,2
- PUSH EBX
- PUSH ESI
- PUSH EDI
- SHL WORD PTR [EBP+0Ch],08
- MOV DWORD PTR [EBP-04],00000000
- JMP d40AF59
- d40af56:
- INC DWORD PTR [EBP-04]
- d40af59:
- CMP DWORD PTR [EBP-04],08
- JGE d40AF98
- MOVZX EAX,WORD PTR [EBP+0Ch]
- MOVZX ECX,WORD PTR [EBP+08]
- XOR EAX,ECX
- TEST AH,080h
- JZ d40AF8B
- MOVZX EAX,WORD PTR [EBP+08]
- ADD EAX,EAX
- MOVZX ECX,WORD PTR [EBP+010h]
- XOR EAX,ECX
- MOV [EBP+08],AX
- JMP d40AF8F
- d40af8b:
- SHL WORD PTR [EBP+08],1
- d40af8f:
- SHL WORD PTR [EBP+0Ch],1
- JMP d40AF56
- d40af98:
- MOV AX,[EBP+08]
- POP EDI
- POP ESI
- POP EBX
- RET
-
-
- END START
-
-
-
-
-