DBPE 注册码判断核心
作者:IceWorld
网址:http://iceworld.126.com/
注意:装载请注明出处
MOV EAX,1
XOR EBX,EBX
MOV ESI,4086EE
ADD ESI,EBP
A_1: MOV BL,[ESI] 取经过换算的注册码
CMP BL,00 到末尾了吗?
JZ A_2
MUL EBX
INC ESI
JMP A_1
A_2: XOR EAX,[EBP+40A01F]
XOR EAX,[EBP+4084CF]
XCHG AH,AL
MOV EBX,EAX 这时EBX为正确的注册码
MOV ESI,408702
ADD ESI,EBP
CALL Check_Serial 判断注册码正确与否
CMP EBX,EAX
JZ Serial_OK 如果正确则AX=1
MOV AX,0 如果错误则AX=0
RET
Serial_OK: MOV AX,1
RET
标 题:GOOD~~~~ (964字)
发信人:D.Boy
时 间:2000-7-7 12:32:05
详细信息:
不知道IceWorld对付的是哪一版本呢? 1.2版本的得到算法代码不难,如果是
1.5的话实在佩服! :) 1.5在前面部分的算法和1.2有些不同!
文章中有点地方有误:
A_1: MOV BL,[ESI] 取经过换算的注册码
CMP BL,00 到末尾了吗?
JZ A_2
MUL EBX
INC ESI
JMP A_1
这是对输入的名字进行换算,得CRC到EAX
A_2: XOR EAX,[EBP+40A01F]
XOR EAX,[EBP+4084CF]
xor register key和硬件代码。
XCHG AH,AL
MOV EBX,EAX 这时EBX为正确的注册码
MOV ESI,408702
ADD ESI,EBP
CALL Check_Serial 判断注册码正确与否
这个CALL是Str to int,把输入号放到EAX.
CMP EBX,EAX
JZ Serial_OK 如果正确则AX=1
MOV AX,0 如果错误则AX=0
RET
|