飘云 发表于 2005-12-25 09:41:47

客户王 8.1.6.103 企业版 破解(3)[算法分析]

客户王 8.1.6.103 企业版 破解(3)[算法分析]

【破文标题】客户王 8.1.6.103 企业版 算法 分析
【破文作者】飘云
【破解工具】PEID0.94,OD,AspackDie
【破解平台】WinXp
【作者主页】https://www.chinapyg.com
【作者邮箱】[email protected]
【软件名称】客户王 8.1.6.103 企业版
【原版下载】http://hn.onlinedown.net/soft/38499.htm
【软件简介】一个现代化的企业,对于客户资源的关注,已经成为决定企业长久发展的基础。《客户王》客
户资源管理系统将整个企业的客户关系统一管理,并且通过不同的权限设定,来区别每个角色对资
源的操作范围。有了良好的客户数据基础,即使销售人员的变动,客户资料也能够一目了然
.
.
.
【破解分析】

1.脱壳+去自效验:https://www.chinapyg.com/viewthread.php?tid=2967&extra=page%3D1
2.主程序破解:https://www.chinapyg.com/viewthread.php?tid=2971&extra=page%3D1

这里直接入题:
0090E3F4   55                push ebp
0090E3F5   8BEC            mov ebp,esp
0090E3F7   83C4 F0         add esp,-10
0090E3FA   53                push ebx
0090E3FB   33C0            xor eax,eax
0090E3FD   8945 FC         mov dword ptr ss:,eax
0090E400   33C0            xor eax,eax
0090E402   55                push ebp
0090E403   68 7FE49000       push unpacked.0090E47F
0090E408   64:FF30         push dword ptr fs:
0090E40B   64:8920         mov dword ptr fs:,esp
0090E40E   A1 88F89300       mov eax,dword ptr ds:[93F888>
0090E413   8378 20 00      cmp dword ptr ds:,0
0090E417   75 04             jnz short unpacked.0090E41D
0090E419   33DB            xor ebx,ebx
0090E41B   EB 4C             jmp short unpacked.0090E469
0090E41D   A1 88F89300       mov eax,dword ptr ds:[93F888>
0090E422   8B40 48         mov eax,dword ptr ds:[eax+48>; 用户代码
0090E425   E8 CA7BFFFF       call unpacked.00905FF4       ; 算法callF7 进入
0090E42A   D80D 90E49000   fmul dword ptr ds:   ; ×7224
0090E430   DB7D F0         fstp tbyte ptr ss:
0090E433   9B                wait
0090E434   A1 88F89300       mov eax,dword ptr ds:[93F888>
0090E439   8B40 4C         mov eax,dword ptr ds:[eax+4C>; 经过连接之后的软件序列号
0090E43C   E8 B37BFFFF       call unpacked.00905FF4       ; 算法call和前面的是同一call不必分析了
0090E441   DB6D F0         fld tbyte ptr ss:
0090E444   DEC1            faddp st(1),st               ; 将前面计算的两个结果相加
0090E446   83C4 F4         add esp,-0C
0090E449   DB3C24            fstp tbyte ptr ss:
0090E44C   9B                wait
0090E44D   8D45 FC         lea eax,dword ptr ss:
0090E450   E8 DBE7AFFF       call unpacked.0040CC30       ; 取上面两个相加的和的前12位,并四舍五入运算。
0090E455   8B45 FC         mov eax,dword ptr ss: ; 上面CALL不要跟踪了,直接看返回值就知道
0090E458   8B15 88F89300   mov edx,dword ptr ds:[93F888>; unpacked.00944820
0090E45E   8B52 50         mov edx,dword ptr ds:[edx+50>
0090E461   E8 9672AFFF       call unpacked.004056FC       ; 在这里已经是明码比较了
0090E466   0F94C3            sete bl
0090E469   33C0            xor eax,eax
0090E46B   5A                pop edx
0090E46C   59                pop ecx
0090E46D   59                pop ecx
0090E46E   64:8910         mov dword ptr fs:,edx
0090E471   68 86E49000       push unpacked.0090E486
0090E476   8D45 FC         lea eax,dword ptr ss:
0090E479   E8 626EAFFF       call unpacked.004052E0
0090E47E   C3                retn

****************************************call unpacked.00905FF4*****************************************
00905FF4   55                push ebp
00905FF5   8BEC            mov ebp,esp
00905FF7   83C4 EC         add esp,-14
00905FFA   8945 FC         mov dword ptr ss:,eax
00905FFD   8B45 FC         mov eax,dword ptr ss:
00906000   E8 9BF7AFFF       call unpacked.004057A0
00906005   33C0            xor eax,eax
00906007   55                push ebp
00906008   68 7A609000       push unpacked.0090607A
0090600D   64:FF30         push dword ptr fs:
00906010   64:8920         mov dword ptr fs:,esp
00906013   C745 F0 00000080mov dword ptr ss:,80000000>
0090601A   C745 F4 DCDA7241mov dword ptr ss:,4172DADC>
00906021   837D FC 00      cmp dword ptr ss:,0   ; 比较是否有输入?
00906025   74 35             je short unpacked.0090605C
00906027   8B45 FC         mov eax,dword ptr ss:
0090602A   E8 81F5AFFF       call unpacked.004055B0       ; 取长度
0090602F   85C0            test eax,eax
00906031   7E 31             jle short unpacked.00906064
00906033   BA 01000000       mov edx,1
00906038   8B4D FC         mov ecx,dword ptr ss:
0090603B   0FB64C11 FF       movzx ecx,byte ptr ds:[ecx+e>; 逐位取ascii送ecx
00906040   0FB7C9            movzx ecx,cx               ; ECX低位移到CX
00906043   894D EC         mov dword ptr ss:,ec>; 存放到
00906046   DB45 EC         fild dword ptr ss:   ; 将上面取的的ascii转换成十进制数放到st(0)
00906049   DC45 F0         fadd qword ptr ss:   ; 第一次循环时 这里和常数 19770824 相加 保存到st(0),第二次的

值由后面代码赋值
0090604C   D805 88609000   fadd dword ptr ds:   ; 又和常数 722402 相加 保存到st(0)
00906052   DD5D F0         fstp qword ptr ss:   ; 什么的和保存到
00906055   9B                wait
00906056   42                inc edx
00906057   48                dec eax
00906058   ^ 75 DE             jnz short unpacked.00906038; 循环
0090605A   EB 08             jmp short unpacked.00906064
0090605C   33C0            xor eax,eax
0090605E   8945 F0         mov dword ptr ss:,ea>
00906061   8945 F4         mov dword ptr ss:,eax
00906064   33C0            xor eax,eax
00906066   5A                pop edx
00906067   59                pop ecx
00906068   59                pop ecx
00906069   64:8910         mov dword ptr fs:,edx
0090606C   68 81609000       push unpacked.00906081
00906071   8D45 FC         lea eax,dword ptr ss:
00906074   E8 67F2AFFF       call unpacked.004052E0
00906079   C3                retn

【算法总结】
不是很复杂,懒得总结了,自己看吧嘿嘿~~

【算法注册机】

Dim code1, code2 As String
Dim reg, sum1, sum2 As Double
Const str1 = 19770824
Const str2 = 722402
Const str3 = 7224

code1 = Text1.Text
code2 = Text2.Text
sum1 = str1
sum2 = str1
If code1 <> "" And code2 <> "" Then
   
    If Len(code2) < 32 Then
    MsgBox "序列号需32位!建议用默认字符串!", 64, "提示"
    Exit Sub
    End If
'计算开始
For I = 1 To Len(code1)
    sum1 = sum1 + Asc(Mid(code1, I, 1))
    sum1 = sum1 + str2
    Next
    'Text3.Text = sum1
    sum1 = sum1 * str3
    For I = 1 To Len(code2)
      sum2 = sum2 + Asc(Mid(code2, I, 1))
      sum2 = sum2 + str2
      Next
      reg = sum1 + sum2
      Text3.Text = reg
Else:
Text3.Text = "请输入完整信息!"
End If

【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!

冷血书生 发表于 2005-12-25 17:51:32

好东西啊!

详细!

坐个沙发,慢慢学习!

渔歌子 发表于 2005-12-25 23:12:55

新鲜出炉,收了学习。

kfm 发表于 2005-12-26 08:25:12

精品教程,学习一下!!!

yuwei 发表于 2005-12-26 20:36:55

学习!好东西啊!

xingbing 发表于 2005-12-27 15:04:03

飘云的东西这是不错。

=随风= 发表于 2005-12-31 08:59:04

认真学习算法!

阿才 发表于 2005-12-31 14:12:54

收藏中,,谢谢

夜之魂 发表于 2006-1-4 14:14:11

已经收藏了,学习中

hooye2000 发表于 2006-1-18 16:59:32

太好了

太好了,真的不愧是强人啊
页: [1] 2
查看完整版本: 客户王 8.1.6.103 企业版 破解(3)[算法分析]