📄 chkfiles.asm
字号:
; CHKFILES v1.5a Key Generator.
; CrackZ (05/07/98).
;
; Use tasm /zi chkfiles.asm and then tlink /v chkfiles
; to generate chkfiles.exe
; Revised 27/09/99.
.MODEL SMALL
.STACK 100h
.386
.DATA
done DB 0ah,0dh,'Your Registration Code is: ','$'
input DB 32 dup(' ')
logo DB 0ah,0dh, '-------------------------------',0ah,0dh
DB ' CHKFILES v1.5a Key Generator ',0ah,0dh
DB ' by CrackZ ',0ah,0dh
DB '-------------------------------',0ah,0dh
DB 0ah,0dh,'$'
prompt DB 'Input your Registration Name (max 20 chars): ','$'
serial DB 12 dup('$')
.CODE
START: MOV AX,@DATA
MOV DS,AX
MOV ES,AX
LEA EDX,[logo]
MOV AH,09h
INT 21h ;Display Logo.
LEA EDX,[prompt]
MOV AH,09h
INT 21h ;Prompt.
LEA EDX,[input]
MOV AH,0Ah
INT 21h ;Get registration name.
CMP BYTE PTR [input+1],00 ;Check name was entered.
JZ endprg
LEA EDI,input+2 ;Name in EDI.
XOR AX,AX ;Clear AX.
MOVZX EBX, BYTE PTR [EDI-01] ;Get length of name in EBX.
CMP EBX,14h ;Check name length for 20 dec.
JZ name20 ;Jump & calculate code.
loop1: MOV BYTE PTR [EDI+EBX],20h ;Add Spaces.
INC EBX ;Counter.
CMP EBX,14h ;Compare with 14h.
JL loop1
name20: XOR BX,BX ;BX=0 (use as loop counter).
MOV EDX,21FB2D32h ;Start of key generation loop.
MOV EAX,6B7C1929h
loop2: XOR ECX,ECX ;Clear ECX.
MOV CL, BYTE PTR [EDI+EBX] ;Pointer to name.
IMUL ECX,EAX
ADD EDX,ECX
ADD EAX,EAX
ADD EAX,1E470621h
INC EBX ;Increment loop.
CMP EBX,14h ;Check.
JL loop2
;Good code is in EDX.
MOV EAX,EDX ;Place good code in EAX.
XOR EBX,EBX
LEA EDI, serial
XOR ECX,ECX
MOV ECX,0Ah ;ECX moved to 10.
;Now to convert the result into an ASCII value for output.
loop3: XOR EDX,EDX
DIV ECX
ADD EDX,30h ;Add 30h.
PUSH EDX ;Stack it.
INC EBX ;Increment counter.
TEST EAX,EAX
JNZ loop3
loop4: POP EDX ;Get character from the stack.
MOV BYTE PTR [EDI+EAX],DL
INC EAX
TEST EBX,EBX
DEC EBX ;Decrement counter.
JNZ loop4 ;Next char.
;Output string
LEA EDX,[done]
MOV AH,09h
INT 21h ;"Your Registration Code is".
LEA EDX,[serial]
MOV AH,09h
INT 21h ;Print registration code.
endprg: MOV AX,4C00h
INT 21h
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -