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

📄 quintcd.asm

📁 破解很多程序的序列号算法程序
💻 ASM
字号:
; Quintessential CD v1.0/v1.1 Key Generator.
; CrackZ (30/06/98) - Updated (21/07/98).
;
; Use tasm /zi quintcd.asm and then tlink /v quintcd
; to generate quintcd.exe

.MODEL SMALL
.STACK 100h
.386

.DATA

input   DB 22h,0                   
prompt  DB 'Input your Registration Name (min 6 chars): ','$'
done    DB 'Your Registration Code is: ','$'
lf      DB 0ah,0dh,'$'
logo    DB 0ah,0dh, '--------------------------------------',0ah,0dh
	DB          ' Quintessential CD v1.x Key Generator ',0ah,0dh
        DB          '     by CrackZ                        ',0ah,0dh
	DB          '--------------------------------------',0ah,0dh
	DB 0ah,0dh,'$'
        
.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.
	LEA EDX,[lf]
	MOV AH,09h
	INT 21h                     
	LEA EDX,input+2		;Name.
	XOR EAX,EAX
	XOR EBX,EBX		;Clear some registers.

func1:  MOVZX ECX, BYTE PTR [EDX-01]	;Get length of name.
	CMP ECX, 6h			;Check name was at least 6.
	PUSH ECX			;Push name length on stack.
	JB endprg			;Jump name is short.

loop1:  MOV CL, BYTE PTR [EDX]		;1st character of name.
	XOR ESI,ESI
	XOR EDI,EDI			;Clean more registers.
	MOV EAX, 1h			;EAX=1h.

loop2:	CMP CL, 20h			;Check for space.	
	JZ check
	MOVSX ECX,CL
	MOV EBX,EAX
	LEA EAX,[EAX+2*EAX]
	IMUL EBX,ECX
	ADD EBX,ESI
	ADD EDI,EBX
	ADD ESI,ECX			;Maths part of key generator.

check:	POP ECX				;Retrieve name length from stack.
	DEC ECX				;Decrement.
	TEST ECX,ECX
	JZ func2			;Jump name done. 

rpt:	PUSH ECX
	INC EDX				;Else point at next character of name.
	MOV CL, BYTE PTR [EDX]
	JMP loop2			;Loop.

func2:	XOR EDX,EDX
	MOV ECX,0FFFFh
	DIV ECX
	MOV EAX,EDI
	MOV EDI,0FFFFh
	MOV ECX,EDX
	CDQ
	IDIV EDI
	MOV EAX,ESI
	MOV ESI,0FFh
	SHL EDX,10h
	OR ECX,EDX
	CDQ
	IDIV ESI
	OR ECX,EDX			;Good code is now ECX.
	MOV EBX,ECX			;Place result in EBX for output.	

	LEA EDX,[done]
	MOV AH,09h
	INT 21h				;"Your Registration Code is".

;Output HEX.

	PUSHA				;Save all registers.
	MOV CX,8
	
loop3:	ROL EBX,4
	MOV DL,BL
	AND DL,0Fh
	ADD DL,'0'
	CMP DL,'9'
	JBE loop4
	ADD DL,7

loop4:	MOV AH,2
	INT 21h
	LOOP loop3
	POPA 
		
endprg:	LEA EDX,[lf]
	MOV AH,09h
	INT 21h
	MOV AX,4C00h
	INT 21h
	
END START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -