| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 943 人关注过本帖
标题:[求助]这个注册机应该怎么写
只看楼主 加入收藏
LGMGW
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-27
收藏
 问题点数:0 回复次数:1 
[求助]这个注册机应该怎么写
CALL <JMP.&kernel32.GetLogicalDrives> ; 取逻辑硬盘名
0040153E |. A3 B0324000 MOV DWORD PTR DS:[4032B0],EAX ; 放入4032B0
00401543 |. 33C0 XOR EAX,EAX
00401545 |. E8 F2020000 CALL <JMP.&kernel32.GetVersion> ; 取系统Windows版本
0040154A |. A3 B4324000 MOV DWORD PTR DS:[4032B4],EAX ; 放入4032B4,EAX=0A280105
0040154F |. 33C0 XOR EAX,EAX
00401551 \. C3 RETN
00401552 /$ 33C0 XOR EAX,EAX ; EAX清空
00401554 |. 33DB XOR EBX,EBX ; EBX清空
00401556 |. 33C9 XOR ECX,ECX ; ECX清空
00401558 |> 0FB683 803240>/MOVZX EAX,BYTE PTR DS:[EBX+403280] ; 403280中放着注册码
0040155F |. 83F8 00 |CMP EAX,0 ; 是否为0
00401562 |. 74 17 |JE SHORT KeyMe2.0040157B ; 如果是0就跳过下面这段计算,即只有特征码前面部分参与计算
00401564 |> 3081 B0324000 |/XOR BYTE PTR DS:[ECX+4032B0],AL ; 异或取得的逻辑硬盘值后放回ECX+4032B0
0040156A |. 41 ||INC ECX ; ECX从0累加
0040156B |. D289 B0324000 ||ROR BYTE PTR DS:[ECX+4032B0],CL ; 结果循环右移CL位后放回ECX+4032B0
00401571 |. 83F9 08 ||CMP ECX,8 ; 是否达到8
00401574 |.^ 75 EE |\JNZ SHORT KeyMe2.00401564
00401576 |. 33C9 |XOR ECX,ECX
00401578 |. 43 |INC EBX
00401579 |.^ EB DD \JMP SHORT KeyMe2.00401558
0040157B |> 33C0 XOR EAX,EAX
0040157D |. 33DB XOR EBX,EBX
0040157F |. 33C9 XOR ECX,ECX
00401581 |> 0FB683 903240>/MOVZX EAX,BYTE PTR DS:[EBX+403290] ; 逐个取特征码后面部分注册码的ASCII
00401588 |> 3081 B0324000 |XOR BYTE PTR DS:[ECX+4032B0],AL ; 异或上次计算后ECX+4032B0中的值
0040158E |. 41 |INC ECX ; ECX累加
0040158F |. D289 B0324000 |ROR BYTE PTR DS:[ECX+4032B0],CL ; 结果循环右移CL位后放回ECX+4032B0
00401595 |. 83F9 08 |CMP ECX,8 ; 是否达到8
00401598 |.^ 75 EE |JNZ SHORT KeyMe2.00401588
0040159A |. 33C9 |XOR ECX,ECX
0040159C |. 43 |INC EBX ; EBX累加
0040159D |. 83FB 10 |CMP EBX,10 ; 是否达到10位
004015A0 |.^ 75 DF \JNZ SHORT KeyMe2.00401581 ; 没有则循环
004015A2 \. C3 RETN
004015A3 /$ A1 B0324000 MOV EAX,DWORD PTR DS:[4032B0] ; [4032B0]的值放入EAX
004015A8 |. 0305 B4324000 ADD EAX,DWORD PTR DS:[4032B4] ; 加取系统Windows版本后的参数,DS:[004032B4]=475F492D
004015AE |. 50 PUSH EAX ; EAX=3E5E5723就是要求的结果
搜索更多相关主题的帖子: EAX 注册机 JMP PTR 
2006-05-27 09:18
LGMGW
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-27
收藏
得分:0 
这样??
#ASM_START
INVOKE GetLogicalDrives,eax
MOV DWORD PTR DS:[4032B0],EAX
XOR EAX,EAX
INVOKE GetVersion,eax
MOV DWORD PTR DS:[4032B4],EAX
XOR EAX,EAX
XOR EBX,EBX ; EBX清空
XOR ECX,ECX ; ECX清空
label3
MOVZX EAX,str ; 逐个取特征码前面部分注册码的ASCII
CMP EAX,0 ; 是否为0
JE label1 ; 如果是0就跳过下面这段计算,即只有特征码前面部分参与计算
label2:
XOR BYTE PTR DS:[ECX+4032B0],AL ; 异或取得的逻辑硬盘值后放回ECX+4032B0
INC ECX ; ECX从0累加
ROR BYTE PTR DS:[ECX+4032B0],CL ; 结果循环右移CL位后放回ECX+4032B0
CMP ECX,8 ; 是否达到8
JNZ label2
lanbel:
XOR ECX,ECX
INC EBX
JMP label3
XOR EAX,EAX
XOR EBX,EBX
XOR ECX,ECX
label4:
MOVZX EAX,str2 ; 逐个取特征码后面部分注册码的ASCII
label5:
XOR BYTE PTR DS:[ECX+4032B0],AL ; 异或上次计算后ECX+4032B0中的值
INC ECX ; ECX累加
ROR BYTE PTR DS:[ECX+4032B0],CL ; 结果循环右移CL位后放回ECX+4032B0
CMP ECX,8 ; 是否达到8
JNZ label4
XOR ECX,ECX
INC EBX ; EBX累加
CMP EBX,10 ; 是否达到10位
JNZ label5 ; 没有则循环
MOV EAX,DWORD PTR DS:[4032B0] ; [4032B0]的值放入EAX
ADD EAX,DWORD PTR DS:[4032B4] ; 加取系统Windows版本后的参数,DS:[004032B4]=475F492D
PUSH EAX ; 取出结果EAX=3E5E5723
ret
#ASM_END
2006-05-27 10:02
快速回复:[求助]这个注册机应该怎么写
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050173 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved