您的位置:首页精文荟萃破解文章 → 龙文输入通1.5的注册码算法

龙文输入通1.5的注册码算法

时间:2004/10/15 0:55:00来源:本站整理作者:蓝点我要评论(1)

 
本文参照了Maomao[CCG]的1.34版文章

   软件注册时可以看到机器码,每台机子都是不同的.共有六组.请记下来,下边要用到的.

   先进行第一步:

打开系统自带的计算器,在菜单中选择科学型.因为要用到十六进制

依次计算出你的注册码,每段单独计算

假设我的机器码为:3A22-B4D5-C6C2-C7CE-5079-6A65

注册码为:7444-3CFE-E1CA-1F38-97D5-A2D1 

注册码(1)第一段=机器码第一段*2    (3A22*2=7444,可以复制3A22*2=到计算机可得到结果)

注册码(1)第二段=机器码第二段*6    (B4D5*6=43CFE,只保留后四位,即3CFE)

注册码(1)第三段=机器码第三段*5    (C6C2*5=3E1CA,只保留后四位,即E1CA)

注册码(1)第四段=机器码第四段*4    (C7CE*4=31F38,只保留后四位,即1F38)

注册码(1)第五段=机器码第五段*9    (5079*9=2D441,只保留后四位,即D441)

注册码(1)第六段=机器码第六段*7    (6A65*7=2E8C3,只保留后四位,即E8C3)

得到注册码(1)为:7444-3CFE-E1CA-1F38-D441-E8C3

   下来进行第二步

把计算得来的注册码进行第二次运算,只算第五段和第六段

注册码(2)第一段至第四段不变

注册码(2)第五段=注册码(1)第三段*2+注册码(1)第五段

   (E1CA*2+D441=297D5,保留后四位,即97D5)

注册码(2)第六段=注册码(1)第六段*3+注册码(1)第一段*2

   (E8C3*3+7444*2=3A2D1,保留后四位,即A2D1)

最后连起各段就是最终结果了.

附注册机编写机代码:

   首先感谢好友对我的鼓励,使我写成这个注册机.他迄而不舍的精神值得我来学习.

   由于对这个软件不熟,而且语法检测很严格,所以代码有很多冗余.有兴趣的朋友可以精简不少.

.const

.data
szHomePage db "http://21066.126.com",0
szEmail db "mailto:21066@163.com",0
szErrMess db "输入的序列号不正确!",0
buffer db 200 dup(0)
duiqi db 0
a1 dd 0
a2 dd 0
a3 dd 0
a4 dd 0
a5 dd 0
a6 dd 0

.code
mov esi,eax ;保存序列号地址
mov ecx,5 ;检查五个连字符
mov ebx,4 ;每组四位数字
_SnChack: ;3A22-B4D5-C6C2-C7CE-5079-6A65
;7444-3CFE-E1CA-1F38-97D5-A2D1
cmp byte ptr [esi+ebx],"-" ;检查序列号格式
jnz err ;不等转出错
add ebx,5 ;检查下一个连字符
dec ecx ;记数减一
jnz _SnChack
push ds
pop es


;-----------------------------------------------------
;转换字符串为十六进制数,保存到变量中
push esi
mov ecx,byte ptr 6 ;循环六段
lea ebx,a1 ;保存十六进制数到变量
s2h_loop1:
push ecx
xor edx,edx ;初始化
xor eax,eax
mov ecx,4 ;循环四位
s2h_loop2: ;转换并保存值到变量中
lodsb
sub al,30h
cmp al,9
jbe s2h_n1
sub al,7
cmp al,0fh ;序列号非法
jg err
s2h_n1:
or edx,eax
shl edx,4
loop s2h_loop2
shr edx,4
mov word ptr [ebx],dx
add ebx,2
inc esi
pop ecx
loop s2h_loop1


;-----------------------------------------------------
;计算注册码,第一步
lea esi,a1
lea edi,a1
;第一段,乘2
lodsw
shl eax,1
and eax,0ffffh
stosw
;第二段,乘6
lodsw
mov edx,eax
shl eax,2
shl edx,1
add eax,edx
and eax,0ffffh
stosw
;第三段,乘5
lodsw
mov edx,eax
shl eax,2
add eax,edx
and eax,0ffffh
stosw
;第四段,乘4
lodsw
shl eax,2
and eax,0ffffh
stosw
;第五段,乘9
lodsw
mov edx,eax
shl eax,3
add eax,edx
and eax,0ffffh
stosw
;第六段,乘7
lodsw
mov edx,eax
shl eax,2
add eax,edx
shl edx,1
add eax,edx
and eax,0ffffh
stosw


;-----------------------------------------------------
;计算注册码,第二步
lea ebx,a1
xor eax,eax
;第一段至第四段不变
;第五段,(3)*2+(5)
mov ecx,byte ptr 4
mov ax,word ptr [ebx+ecx]
shl eax,1
mov ecx,byte ptr 8
mov dx,word ptr [ebx+ecx]
add eax,edx
and eax,0ffffh
mov word ptr [ebx+ecx],ax
;第六段,(6)*3+(1)*2
mov ecx,byte ptr 10
mov ax,word ptr [ebx+ecx]
mov edx,eax
shl eax,1
add eax,edx
mov dx,word ptr [ebx]
shl edx,1
add eax,edx
and eax,0ffffh
mov word ptr [ebx+ecx],ax


;-----------------------------------------------------
;转换十六进制数到字符串格式
lea esi,a1
pop edi ;取目标地址
push edi ;保存源地址
mov ecx,byte ptr 6
h2s_loop1:
push ecx
mov ecx,byte ptr 4
lodsw
mov edx,eax
h2s_loop2:
rol dx,4
mov eax,edx
and al,0fh
cmp al,9
jbe h2s_n1
add al,7
h2s_n1:
add al,30h
stosb
loop h2s_loop2
pop ecx
inc edi
loop h2s_loop1
pop eax ;恢复源地址
jmp gameover


;-----------------------------------------------------
;显示出错信息
err:
lea eax,szErrMess ;序列号出错
jmp gameover


;-----------------------------------------------------
;程序结束处
gameover:


    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程