0167:0059F75E 648920 MOV [FS:EAX],ESP 0167:0059F761 33DB XOR EBX,EBX EBX=0 0167:0059F763 8B45FC MOV EAX,[EBP-04] 0167:0059F766 E8CD55E6FF CALL 00404D38 计算序列号长度 0167:0059F76B 85C0 TEST EAX,EAX 0167:0059F76D 761C JNA 0059F78B 0167:0059F76F BA01000000 MOV EDX,01 EDX=01 为计数器 0167:0059F774 8B4DFC MOV ECX,[EBP-04] 软件序列号进ecx 0167:0059F777 0FB64C11FF MOVZX ECX,BYTE [ECX+EDX-01] 逐位取序列号ASCII码到ECX 0167:0059F77C 03D9 ADD EBX,ECX EBX=EBX+ECX 0167:0059F77E 8BCB MOV ECX,EBX ECX=EBX 0167:0059F780 03C9 ADD ECX,ECX ECX=ECX*2 0167:0059F782 83C105 ADD ECX,BYTE +05 ECX=ECX+5 0167:0059F785 8BD9 MOV EBX,ECX 结果累加到EBX 0167:0059F787 42 INC EDX 计数器加1 0167:0059F788 48 DEC EAX 长度减1 0167:0059F789 75E9 JNZ 0059F774 未完继续向上取 0167:0059F78B 8BC3 MOV EAX,EBX 0167:0059F78D 33D2 XOR EDX,EDX 0167:0059F78F 52 PUSH EDX 0167:0059F790 50 PUSH EAX
keymake注册机源代码:
.const
.data szHomePage db " http://www.cn12.com",0 szEmail db " mailto:down3000@sina.com",0 szErrMess db "请输入用户名!",0 szBuffer db 50 dup (0) szHex db "%d",0
.code mov esi,eax invoke lstrlen,eax or eax,eax jz err xor EDX,edx xor ecx,ecx xor ebx,ebx N1: mov ecx,esi MOVZX ECX,byte ptr [ECX+EDX] ADD EBX,ECX MOV ECX,EBX ADD ECX,ECX ADD ECX,05 MOV EBX,ECX INC EDX DEC EAX JNZ N1 invoke wsprintf,addr szBuffer,addr szHex,ebx lea EAX,szBuffer jmp n0
err: lea eax,szErrMess
n0:
/////////////////////// ////////VB注册机/////// /////////////////////// 注册机下载: 点击浏览该文件
Private Sub Command1_Click() Dim id, sn Dim ebx, ecx id = Text1.Text If id = "" Then Exit Sub ebx = 0 For i = 1 To Len(id) ecx = Asc(Mid$(id, i)) ebx = ebx + ecx ebx = ebx + ebx ebx = ebx + 5 Next i Text2.Text = ebx End Sub 进入讨论组讨论。
|