⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chkfiles.asm

📁 破解很多程序的序列号算法程序
💻 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 + -