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

📄 cddae.asm

📁 破解很多程序的序列号算法程序
💻 ASM
字号:
; Easy CD-DA Extractor 3 Key Generator.
; @Author: CrackZ.
; @Date: 01/01/2000.
; TASM cddae.asm
; TLINK /3 /t cddae

; Nice scheme, uses a prefix and a fair amount of maths 
; to generate a 3 part code.

codesg segment
  assume cs:codesg
  assume ds:codesg
  org 100h

.386

start:	jmp begin

;-----DATA-----

Copyofname DB 32 dup('$')
Firstcode DD 0
GetName DB '[?] Please Insert Your Name: ','$'
Logo DB 10,13,'[Easy CD-DA Extractor 3 Key Generator] ',10,13
     DB '[Key Generator by CrackZ - 01/01/2000] ',10,13,10,13,'$'
Namebuff DB 32 dup('$')
Outbuff DB 38 dup('$')
Outcode DB 10,13,'[i] Your Registration Code is: ','$'
Prefix DB "EZCDDAX3-",0
Secondcode DD 0

;-----END DATA-----

begin:	MOV EDX, offset Logo
	MOV AH, 09h
	INT 21h
	MOV EDX, offset Getname
	MOV AH, 09h
	INT 21h
	MOV EDX, offset Namebuff
	MOV AH, 0Ah
	INT 21h
	MOVZX EBX, BYTE PTR Namebuff+1
	MOV BYTE PTR [EBX+EDX+1], 20h
	MOV ESI, offset Namebuff+2
	ADD ESI, EBX
	MOV ECX, 20h
	SUB ECX, EBX
	XOR EAX, EAX

extendnamespaces:
	MOV AL, 20h
	MOV BYTE PTR [ESI+ECX-1], AL
	LOOP extendnamespaces
	MOV CX, 20h
	SUB ESI, EBX
	CALL lowercase
	CALL makecopyofname
	XCHG EAX, ESI
	XOR EBX, EBX

@00401309:
	ADD BYTE PTR [EAX], BL
	XOR EDX, EDX
	MOV ECX, EBX
	MOV DL, BYTE PTR [EAX]
	SUB ECX, 12h
	INC EBX
	IMUL EDX, ECX
	MOV BYTE PTR [EAX], DL
	XOR BYTE PTR [EAX], 0AAh
	ADD BYTE PTR [EAX], 45h
	INC EAX
	CMP EBX, 20h
	JB @00401309
	MOV EDI, offset Namebuff+2

@00401326:
	MOV ECX, DWORD PTR [EDI+0Ch]
	MOV EAX, DWORD PTR [EDI+4h]
	IMUL ECX, DWORD PTR [EDI+10h]
	IMUL ECX, DWORD PTR [EDI+14h]
	IMUL ECX, DWORD PTR [EDI+18h]
	IMUL DWORD PTR [EDI+8h]
	IMUL ECX, DWORD PTR [EDI+1Ch]
	MOV EDX, DWORD PTR [EDI]
	XOR EAX, EDX
	XOR EAX, ECX
	IMUL EAX, 094F5A133h
	MOV [Firstcode], EAX ; Store first result.
	MOV ESI, offset Copyofname
	MOV ECX, 20h
	REPZ
	MOVSB ; Restore copy.
	SUB EDI, 20h
	XOR BYTE PTR [EDI], 0B1h
	MOV EBX, 1h
	XCHG EAX, EDI

@004013A5:
	MOV DL, BYTE PTR [EAX]
	XOR ECX, ECX
	ADD BYTE PTR [EAX+1h], DL
	XOR EDX, EDX
	MOV DL, BYTE PTR [EAX]
	MOV CL, BYTE PTR [EAX+1h]
	ADD EDX, 69h
	INC EBX
	IMUL ECX, EDX
	MOV BYTE PTR [EAX+1h], CL
	MOV CL, BYTE PTR [EAX]
	ADD CL, 0AAh
	XOR BYTE PTR [EAX+1h], CL
	MOV DL, BYTE PTR [EAX]
	IMUL DX, WORD PTR [EAX+1h]
	MOV BYTE PTR [EAX+1h], DL
	INC EAX
	CMP EBX, 20h
	JB @004013A5
	MOV EDI, offset Namebuff+2
	MOV EAX, DWORD PTR [EDI]
	MOV ECX, DWORD PTR [EDI+4h]
	XOR EAX, ECX
	MOV EDX, DWORD PTR [EDI+8h]
	XOR EAX, EDX
	MOV ECX, DWORD PTR [EDI+0Ch]
	IMUL ECX, DWORD PTR [EDI+10h]
	XOR EAX, ECX
	MOV EDX, DWORD PTR [EDI+14h]
	XOR EAX, EDX
	MOV ECX, DWORD PTR [EDI+18h]
	XOR EAX, ECX
	MOV EDX, DWORD PTR [EDI+1Ch]
	XOR EAX, EDX
	IMUL EAX, 012449812h
	XOR EAX, 0AAAABBCCh
	MOV [Secondcode], EAX ; Store second result.
	MOV ESI, offset Copyofname
	MOV ECX, 20h
	REPZ
	MOVSB ; Restore copy.
	SUB EDI, 20h
	XOR EBX, EBX
	XOR ESI, ESI

@00401430:
	XOR EAX, EAX
	MOV AL, BYTE PTR [EDI]
	MOV EDX, EAX
	INC EBX
	SHL EDX, 4h
	INC EDI
	ADD EDX, EAX
	LEA EDX, [EAX+4*EDX]
	SHL EDX, 4h
	ADD EDX, EAX
	SHL EDX, 4h
	ADD EDX, EAX
	ADD EDX, ESI
	CMP EBX, 20h
	MOV ESI, EDX
	JB @00401430
	MOV EAX, ESI
	MOV ECX, 03E8h
	CDQ
	IDIV ECX
	MOV EAX, EDX ; Store 3rd.
	MOV EDI, offset Outbuff+2
	MOV ESI, offset Prefix
	MOV ECX, 9h
	REPZ
	MOVSB
	MOV EDX, ECX
	XOR ESI, ESI
	MOV EBX, [Firstcode]
	CALL outputhex
	MOV BYTE PTR [ESI+EDI], 02Dh ; Add the hyphen.
	INC ESI
	MOV EBX, [Secondcode]
	CALL outputhex
	MOV BYTE PTR [ESI+EDI], 02Dh ; Add 2nd hyphen.
	XOR EBX, EBX
	MOV ECX, 0Ah
	INC ESI
	CALL outputnum
	MOV EDX, offset Outcode
	MOV AH, 09h
	INT 21h
	MOV EDX, offset Outbuff+2
	MOV AH, 09h
	INT 21h
	JMP endprg

;-----FUNCTIONS-----

lowercase:
	MOV AL, BYTE PTR [ESI+ECX-1]
	CMP AL, 5Ah
	JA lowercasenextletter
	CMP AL, 39h
	JB lowercasenextletter
	ADD AL, 20h
	MOV BYTE PTR [ESI+ECX-1], AL

lowercasenextletter:
	DEC ECX
	JNZ lowercase
	RET

makecopyofname:
	MOV EDI, offset Copyofname
	MOV ECX, 20h
	REPZ
	MOVSB
	SUB ESI, 20h
	RET

outputhex:
	MOV ECX, 8h
        
outputhex1:
	ROL EBX,04h
        MOV DL,BL
        AND DL,0Fh
        ADD DL,'0'
        CMP DL,'9'
        JBE outputhex2
        ADD DL,07h

outputhex2:
	MOV BYTE PTR [ESI+EDI], DL
	INC ESI
	LOOP outputhex1
	RET

outputnum:
	XOR EDX,EDX
	DIV ECX
	ADD EDX,30h
	PUSH EDX
	INC EBX
	TEST EAX,EAX
	JNZ outputnum

outputnum2:
	POP EDX
	MOV BYTE PTR [ESI+EDI],DL
	INC EDI
	DEC EBX
	JNZ outputnum2
	RET

endprg:	MOV AX,4C00h ;Exit
	INT 21h

codesg ends
end start

⌨️ 快捷键说明

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