搜索文章:

首页  |  Java技术  |  Asp.net  |  Asp编程  |  VC/C++  |  Delphi  |  VB编程

DBPE 注册码判断核心

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

相关文章:
© 2006   www.java-asp.net