飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 9466|回复: 19

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

[复制链接]
  • TA的每日心情
    难过
    7 天前
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2005-12-25 09:41:47 | 显示全部楼层 |阅读模式
    客户王 8.1.6.103 企业版 破解(3)[算法分析]

    【破文标题】客户王 8.1.6.103 企业版 算法 分析
    【破文作者】飘云[PYG]
    【破解工具】PEID0.94,[PYG]OD,AspackDie
    【破解平台】WinXp
    【作者主页】https://www.chinapyg.com
    【作者邮箱】piaoyun04@163.com
    【软件名称】客户王 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:[ebp-4],eax
    0090E400     33C0              xor eax,eax
    0090E402     55                push ebp
    0090E403     68 7FE49000       push unpacked.0090E47F
    0090E408     64:FF30           push dword ptr fs:[eax]
    0090E40B     64:8920           mov dword ptr fs:[eax],esp
    0090E40E     A1 88F89300       mov eax,dword ptr ds:[93F888>
    0090E413     8378 20 00        cmp dword ptr ds:[eax+20],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       ; 算法call  F7 进入
    0090E42A     D80D 90E49000     fmul dword ptr ds:[90E490]   ; ×7224
    0090E430     DB7D F0           fstp tbyte ptr ss:[ebp-10]
    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:[ebp-10]
    0090E444     DEC1              faddp st(1),st               ; 将前面计算的两个结果相加
    0090E446     83C4 F4           add esp,-0C
    0090E449     DB3C24            fstp tbyte ptr ss:[esp]
    0090E44C     9B                wait
    0090E44D     8D45 FC           lea eax,dword ptr ss:[ebp-4]
    0090E450     E8 DBE7AFFF       call unpacked.0040CC30       ; 取上面两个相加的和的前12位,并四舍五入运算。
    0090E455     8B45 FC           mov eax,dword ptr ss:[ebp-4] ; 上面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:[eax],edx
    0090E471     68 86E49000       push unpacked.0090E486
    0090E476     8D45 FC           lea eax,dword ptr ss:[ebp-4]
    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:[ebp-4],eax
    00905FFD     8B45 FC           mov eax,dword ptr ss:[ebp-4]
    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:[eax]
    00906010     64:8920           mov dword ptr fs:[eax],esp
    00906013     C745 F0 00000080  mov dword ptr ss:[ebp-10],80000000>
    0090601A     C745 F4 DCDA7241  mov dword ptr ss:[ebp-C],4172DADC>
    00906021     837D FC 00        cmp dword ptr ss:[ebp-4],0   ; 比较是否有输入?
    00906025     74 35             je short unpacked.0090605C
    00906027     8B45 FC           mov eax,dword ptr ss:[ebp-4]
    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:[ebp-4]
    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:[ebp-14],ec>; 存放到[EBP-14]
    00906046     DB45 EC           fild dword ptr ss:[ebp-14]   ; 将上面取的的ascii转换成十进制数放到st(0)
    00906049     DC45 F0           fadd qword ptr ss:[ebp-10]   ; 第一次循环时 这里和常数 19770824 相加 保存到st(0),第二次的

    [EBP-10]值由后面代码赋值
    0090604C     D805 88609000     fadd dword ptr ds:[906088]   ; 又和常数 722402 相加 保存到st(0)
    00906052     DD5D F0           fstp qword ptr ss:[ebp-10]   ; 什么的和保存到[EBP-10]
    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:[ebp-10],ea>
    00906061     8945 F4           mov dword ptr ss:[ebp-C],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:[eax],edx
    0090606C     68 81609000       push unpacked.00906081
    00906071     8D45 FC           lea eax,dword ptr ss:[ebp-4]
    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

    【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2020-4-10 17:02
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2005-12-25 17:51:32 | 显示全部楼层
    好东西啊!

    详细!

    坐个沙发,慢慢学习!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2005-12-25 23:12:55 | 显示全部楼层
    新鲜出炉,收了学习。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2005-12-26 08:25:12 | 显示全部楼层
    精品教程,学习一下!!!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    昨天 09:56
  • 签到天数: 794 天

    [LV.10]以坛为家III

    发表于 2005-12-26 20:36:55 | 显示全部楼层
    学习!好东西啊!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    1 小时前
  • 签到天数: 1482 天

    [LV.10]以坛为家III

    发表于 2005-12-27 15:04:03 | 显示全部楼层
    飘云的东西这是不错。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-12-17 14:52
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2005-12-31 08:59:04 | 显示全部楼层
    认真学习算法!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2005-12-31 14:12:54 | 显示全部楼层
    收藏中,,谢谢
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-1-4 14:14:11 | 显示全部楼层
    已经收藏了,学习中
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-1-18 16:59:32 | 显示全部楼层

    太好了

    太好了,真的不愧是强人啊
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表