飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 6434|回复: 21

黑夜彩虹申请加入[PYG]成员破文(五)

[复制链接]

该用户从未签到

发表于 2006-7-4 09:54:27 | 显示全部楼层 |阅读模式
【破文标题】销售王进销存软件 单机版 V2006.07.03算法分析
【破文作者】黑夜彩虹
破解工具】OD
【破解平台】Win9x/NT/2000/XP/2003
【软件名称】销售王进销存软件 单机版 V2006.07.03
【更新时间】2006-07-03 15:15:31
【原版下载】http://www.skycn.com/soft/25450.html
【保护方式】试用版+注册码
【软件简介】销售王进销存软件主要帮助企业全面有效管理采购、销售、库存以及应收应付往来帐。其中包括:进货

管理系统、库存管理系统、销售管理系统、应收应付系统及报表统计系统。销售王进销存软件广泛适用于

各类市场商户、超市、贸易公司和各类生产企业。其软件特点如下:
> 1.功能强大的一体化系统:集进货、销售、库存、往来帐务、固定资产和工资功能于一身,进销存与

往来帐务实现一体化,大量重复烦琐工作均由系统自动完成,操作过程简化,大大降低使用人员的工作量


> 2.友好清晰的导航界面:软件在每个功能界面上提供了图形化的导航界面,使业务操作变得一目了然

。即使未经过培训的操作人员,只要具备基本的计算机知识和一定的业务能力,就可以很快上手。
> 3.方便快捷的报表查询:软件提供了丰富的报表种类和格式,包括:采购报表、销售报表、库存报表

、应收应付报表等。可以为管理者提供自身业务情况的各方面统计数据,为管理者提供决策依据。  
> 4.实用高效的自定义系统:软件提供了丰富的自定义功能,包括定义界面风格,修改单据字段名称,

重新设计报表格式等方面,极大满足使用者的个性化需求。
> 5.及时便利的网络化管理:网络版基于客户机/服务器(C/S)体系结构开发而成,各站点录入的数据

实时通过网络传递给服务器保存,管理人员可以随时查看最新的数据,极大提高了企业的管理效率。  
> 6.安全可靠的数据保护:软件使用多层数据加密技术,并提供备份/恢复和系统日志功能,最大程度保

障业务数据的安全与稳定要求。  
  主要功能简介:
> 1.进货管理:包括商品采购订单、采购入库、采购退货、采购付款、库存查询、采购单据查询等功能
> 2.销售管理:包括商品销售订单、销售出库、销售退货、销售收款、库存查询、销售单据查询等功能
> 3.库存管理:包括库存领/退料、库存调拨、盘点、变动、组装拆卸、报损报溢、存货调价等功能。
> 4.报表分析:包括订单报表、销售报表、采购报表、库存报表、应收应付报表。
> 5.基本资料:设置地区、客户、供应商、商品、仓库等基础信息。
> 6.系统设置:设置用户权限、密码、单据界面、操作日志、数据备份等功能。

【算法分析】

一、PEiD查无壳。软件是Borland Delphi 6.0 - 7.0编写。

运行,注册名:vxin   试练码:123456

看到菜单中的注册选项是灰色不可用,用资源修改工具激活。

object dxBarButton115: TdxBarButton
      Caption = '正版注册'
      Category = 12
      Enabled = True                             //激活注册
      Hint = '正版注册'
      Visible = ivAlways
      ImageIndex = 114
      OnClick = dxBarButton115Click


二、OD载入后,超级ASCII参串

超级字串参考+        ,项目 3374
地址=006AB7EB
反汇编=mov eax,KingSale.006AB8E4
文本字串=注册成功,谢谢你购买我们的软件!                  //双击


006AB791     E8 DEF5DDFF  call KingSale.0048AD74
006AB796     8B45 F8      mov eax,dword ptr ss:[ebp-8]      ; 机器码402279721
006AB799     50           push eax                          ; 保存EAX
006AB79A     8D55 F4      lea edx,dword ptr ss:[ebp-C]
006AB79D     8B83 3803000>mov eax,dword ptr ds:[ebx+338]
006AB7A3     E8 CCF5DDFF  call KingSale.0048AD74
006AB7A8     8B45 F4      mov eax,dword ptr ss:[ebp-C]      ; 用户名
006AB7AB     8D4D FC      lea ecx,dword ptr ss:[ebp-4]
006AB7AE     5A           pop edx                           ; 机器码 UNICODE "279721"
006AB7AF     E8 04831F00  call KingSale.008A3AB8            ; 机器码402279721存入EDX F7
006AB7B4     8D55 F0      lea edx,dword ptr ss:[ebp-10]     ; 用户名入EDX
006AB7B7     8B45 FC      mov eax,dword ptr ss:[ebp-4]      ; 注册码 "yBSY-RMdW-2N"
006AB7BA     E8 8DE8D5FF  call KingSale.0040A04C            ; 注册码 "yBSY-RMdW-2N" 入EAX
006AB7BF     8B45 F0      mov eax,dword ptr ss:[ebp-10]
006AB7C2     50           push eax                          ; 真码压入EAX
006AB7C3     8D55 E8      lea edx,dword ptr ss:[ebp-18]
006AB7C6     8B83 4003000>mov eax,dword ptr ds:[ebx+340]
006AB7CC     E8 A3F5DDFF  call KingSale.0048AD74
006AB7D1     8B45 E8      mov eax,dword ptr ss:[ebp-18]     ; 试练码
006AB7D4     8D55 EC      lea edx,dword ptr ss:[ebp-14]     ; 试练码入EAX
006AB7D7     E8 70E8D5FF  call KingSale.0040A04C
006AB7DC     8B55 EC      mov edx,dword ptr ss:[ebp-14]     ; 试练码
006AB7DF     58           pop eax                           ; 注册码
006AB7E0     E8 FB9AD5FF  call KingSale.004052E0            ; 注册码入EAX
006AB7E5     0F85 8200000>jnz KingSale.006AB86D             ; 真假码比较,不等则跳,跳则over
006AB7EB     B8 E4B86A00  mov eax,KingSale.006AB8E4         ; 注册成功,谢谢你购买我们的软件!


++++++++++++++++++++++++进入算法CALL1+++++++++++++++++++++++++++++++++++++++++++

008A3AD0     8955 F8      mov dword ptr ss:[ebp-8],edx      ; 机器码402279721
008A3AD3     8945 FC      mov dword ptr ss:[ebp-4],eax      ; 用户名vxin
008A3AD6     8B45 FC      mov eax,dword ptr ss:[ebp-4]      ; 入EAX
008A3AD9     E8 A618B6FF  call KingSale.00405384
008A3ADE     8B45 F8      mov eax,dword ptr ss:[ebp-8]
008A3AE1     E8 9E18B6FF  call KingSale.00405384            ; 机器码402279721 入EAX
008A3AE6     33C0         xor eax,eax
008A3AE8     55           push ebp
008A3AE9     68 043C8A00  push KingSale.008A3C04
008A3AEE     64:FF30      push dword ptr fs:[eax]
008A3AF1     64:8920      mov dword ptr fs:[eax],esp
008A3AF4     8D45 F0      lea eax,dword ptr ss:[ebp-10]
008A3AF7     E8 C813B6FF  call KingSale.00404EC4
008A3AFC     8D55 EC      lea edx,dword ptr ss:[ebp-14]
008A3AFF     8B45 F8      mov eax,dword ptr ss:[ebp-8]
008A3B02     E8 4565B6FF  call KingSale.0040A04C
008A3B07     8D45 EC      lea eax,dword ptr ss:[ebp-14]
008A3B0A     50           push eax
008A3B0B     8D55 E8      lea edx,dword ptr ss:[ebp-18]
008A3B0E     8B45 FC      mov eax,dword ptr ss:[ebp-4]
008A3B11     E8 3665B6FF  call KingSale.0040A04C
008A3B16     8B55 E8      mov edx,dword ptr ss:[ebp-18]
008A3B19     58           pop eax
008A3B1A     E8 7D16B6FF  call KingSale.0040519C
008A3B1F     8B45 EC      mov eax,dword ptr ss:[ebp-14]     ; 机器码+用户名
008A3B22     8D4D F4      lea ecx,dword ptr ss:[ebp-C]      ; 存入EAX
008A3B25     BA 1C3C8A00  mov edx,KingSale.008A3C1C         ; ASCII "MraketSoft62095231"
008A3B2A     E8 99FBFFFF  call KingSale.008A36C8            ; 算法CALL F7
008A3B2F     8D55 E4      lea edx,dword ptr ss:[ebp-1C]     ; 机器码+用户名
008A3B32     8B45 F4      mov eax,dword ptr ss:[ebp-C]      ; ASCII "'yBSYRMd]W'#$2'N[^'"
008A3B35     E8 02010000  call KingSale.008A3C3C            ; 存入EAX F7
008A3B3A     8B55 E4      mov edx,dword ptr ss:[ebp-1C]     ; ASCII "yBSYRMdW2N"
008A3B3D     8D45 F4      lea eax,dword ptr ss:[ebp-C]      ; 入 EDX
008A3B40     E8 1714B6FF  call KingSale.00404F5C
008A3B45     8B45 F4      mov eax,dword ptr ss:[ebp-C]      ; ASCII "yBSYRMdW2N"
008A3B48     E8 4716B6FF  call KingSale.00405194            ; 入EAX
008A3B4D     8BF0         mov esi,eax
008A3B4F     85F6         test esi,esi
008A3B51     7E 46        jle short KingSale.008A3B99
008A3B53     BB 01000000  mov ebx,1
008A3B58     8D45 E0      lea eax,dword ptr ss:[ebp-20]
008A3B5B     50           push eax
008A3B5C     B9 01000000  mov ecx,1
008A3B61     8BD3         mov edx,ebx
008A3B63     8B45 F4      mov eax,dword ptr ss:[ebp-C]      ; ASCII "yBSYRMdW2N"
008A3B66     E8 8918B6FF  call KingSale.004053F4
008A3B6B     8B55 E0      mov edx,dword ptr ss:[ebp-20]
008A3B6E     8D45 F0      lea eax,dword ptr ss:[ebp-10]
008A3B71     E8 2616B6FF  call KingSale.0040519C
008A3B76     8BC3         mov eax,ebx
008A3B78     25 03000080  and eax,80000003
008A3B7D     79 05        jns short KingSale.008A3B84


++++++++++++++++++++++++进入算法CALL2+++++++++++++++++++++++++++++++++++++++++++

008A36DB     8955 F8      mov dword ptr ss:[ebp-8],edx      ; ASCII "MraketSoft62095231"
008A36DE     8945 FC      mov dword ptr ss:[ebp-4],eax      ; 机器码+用户名 ASCII "402279721vxin"
008A36E1     8B45 FC      mov eax,dword ptr ss:[ebp-4]
008A36E4     E8 9B1CB6FF  call KingSale.00405384
008A36E9     8B45 F8      mov eax,dword ptr ss:[ebp-8]      ; 入EAX
008A36EC     E8 931CB6FF  call KingSale.00405384
008A36F1     33C0         xor eax,eax                       ; ASCII "MraketSoft62095231"
008A36F3     55           push ebp
008A36F4     68 9E378A00  push KingSale.008A379E
008A36F9     64:FF30      push dword ptr fs:[eax]
008A36FC     64:8920      mov dword ptr fs:[eax],esp
008A36FF     BB 01000000  mov ebx,1
008A3704     8BC6         mov eax,esi
008A3706     E8 B917B6FF  call KingSale.00404EC4
008A370B     8B45 FC      mov eax,dword ptr ss:[ebp-4]      ; 机器码+用户名 ASCII "402279721vxin"
008A370E     E8 811AB6FF  call KingSale.00405194            ; 存入EAX
008A3713     8BF8         mov edi,eax
008A3715     85FF         test edi,edi
008A3717     7E 49        jle short KingSale.008A3762
008A3719     C745 F4 0100>mov dword ptr ss:[ebp-C],1
008A3720     8D45 F0      lea eax,dword ptr ss:[ebp-10]
008A3723     8B55 FC      mov edx,dword ptr ss:[ebp-4]      ; 机器码+用户名 ASCII "402279721vxin"
008A3726     8B4D F4      mov ecx,dword ptr ss:[ebp-C]      ; 入EDX
008A3729     8A540A FF    mov dl,byte ptr ds:[edx+ecx-1]    ; 循环取 机器码+用户名16进制
008A372D     8B4D F8      mov ecx,dword ptr ss:[ebp-8]      ; 循环取 MraketSoft62095231  16进制
008A3730     8A4C19 FF    mov cl,byte ptr ds:[ecx+ebx-1]    ; 存放CL
008A3734     32D1         xor dl,cl                         ; 异或
008A3736     E8 7119B6FF  call KingSale.004050AC
008A373B     8B55 F0      mov edx,dword ptr ss:[ebp-10]
008A373E     8BC6         mov eax,esi
008A3740     E8 571AB6FF  call KingSale.0040519C
008A3745     8B45 F8      mov eax,dword ptr ss:[ebp-8]      ; ASCII "MraketSoft62095231"
008A3748     E8 471AB6FF  call KingSale.00405194            ; 入EAX
008A374D     8D53 01      lea edx,dword ptr ds:[ebx+1]      ; 入EDX

++++++++++++++++++++++++进入算法CALL3+++++++++++++++++++++++++++++++++++++++++++
008A33E0     8A4418 FF    mov al,byte ptr ds:[eax+ebx-1]    ; 循环取yBSYRMd]W  16进制
008A33E4     04 E0        add al,0E0
008A33E6     2C 60        sub al,60                         ; 减60
008A33E8     73 1C        jnb short KingSale.008A3406
008A33EA     8D45 F4      lea eax,dword ptr ss:[ebp-C]
008A33ED     8B55 FC      mov edx,dword ptr ss:[ebp-4]
008A33F0     8A541A FF    mov dl,byte ptr ds:[edx+ebx-1]    ; 入DL
008A33F4     E8 B31CB6FF  call KingSale.004050AC
008A33F9     8B55 F4      mov edx,dword ptr ss:[ebp-C]
008A33FC     8D45 F8      lea eax,dword ptr ss:[ebp-8]
008A33FF     E8 981DB6FF  call KingSale.0040519C             //是否第4算法CALL,晕死这么多算法
008A3404     EB 4F        jmp short KingSale.008A3455
008A3406     837D F8 00   cmp dword ptr ss:[ebp-8],0        ; ASCII "yBSYRMd]W"
008A340A     74 1D        je short KingSale.008A3429
008A340C     8D55 F0      lea edx,dword ptr ss:[ebp-10]
008A340F     8B45 F8      mov eax,dword ptr ss:[ebp-8]
008A3412     E8 ED6CB6FF  call KingSale.0040A104            ; ASCII "yBSYRMd]W" 入EAX
008A3417     8B55 F0      mov edx,dword ptr ss:[ebp-10]
008A341A     8BC7         mov eax,edi                       ; 存入EDX
008A341C     E8 7B1DB6FF  call KingSale.0040519C
008A3421     8D45 F8      lea eax,dword ptr ss:[ebp-8]
008A3424     E8 9B1AB6FF  call KingSale.00404EC4
008A3429     8D45 EC      lea eax,dword ptr ss:[ebp-14]
008A342C     50           push eax
008A342D     8B45 FC      mov eax,dword ptr ss:[ebp-4]
008A3430     0FB64418 FF  movzx eax,byte ptr ds:[eax+ebx-1]
008A3435     8945 E4      mov dword ptr ss:[ebp-1C],eax
008A3438     C645 E8 00   mov byte ptr ss:[ebp-18],0
008A343C     8D55 E4      lea edx,dword ptr ss:[ebp-1C]
008A343F     33C9         xor ecx,ecx
008A3441     B8 B0348A00  mov eax,KingSale.008A34B0         ; ASCII "#$%x"
08A3446     E8 AD83B6FF  call KingSale.0040B7F8

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
机器码:402279721
用户名:vxin
注册码:yBSY-RMdW-2N

++++++++++++++++++++++++++++++++++++++++++++++
小结,算法好像很复杂:

1、机器码+用户名
2、循环取机器码+用户名的 ASCII值 16进制
3、循环取MraketSoft 的ASCII值 16进制
4、过滤yBSYRMd]W'#$2'N[^  只保留字母、数字
5、yBSY-RMdW- //这是固定的
6、只分析到这里~~~  :(

[ 本帖最后由 黑夜彩虹 于 2006-7-5 10:32 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入我们

x
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-12-1 11:04
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2006-7-4 11:01:05 | 显示全部楼层
    原帖由 黑夜彩虹 于 2006-7-4 09:54 发表
    【破文标题】销售王进销存软件 单机版 V2006.07.03算法分析
    【破文作者】黑夜彩虹
    【破解工具】OD
    【破解平台】Win9x/NT/2000/XP/2003
    【软件名称】销售王进销存软件 单机版 V2006.07.03
    【更新时间】2006-0 ...


    1. 哈~~这个不错!
    2. 提交KeyGen & Code 就OK
    复制代码
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-5-6 16:27
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2006-7-4 11:46:18 | 显示全部楼层
    原帖由 飘云 于 2006-7-4 11:01 发表
    哈~~这个不错!
    提交KeyGen & Code 就OK


    预祝兄弟!

    在KeyGen源码还没出来之前,咱想问下:

    1. 过滤yBSYRMd]W'#$2'N[^  只保留字母、数字
    复制代码


    这个在Delphi,VB和易语言里怎么实现?

    [ 本帖最后由 野猫III 于 2006-7-10 16:09 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-7-4 22:33:14 | 显示全部楼层
    快了,快了
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-7-4 22:44:21 | 显示全部楼层
    厉害啊,这么多CALL都搞定了,恭喜了
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-7-5 08:49:05 | 显示全部楼层
    进销存类软件一扫光。。。。。。。。。
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2006-7-5 10:55:53 | 显示全部楼层
    原帖由 caterpilla 于 2006-7-5 08:49 发表
    进销存类软件一扫光。。。。。。。。。


    对进销存情有独钟。。。 /:D
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2006-7-5 11:57:59 | 显示全部楼层
    原帖由 飘云 于 2006-7-4 11:01 发表



    哈~~这个不错!
    提交KeyGen & Code 就OK


    提交KeyGen,如果算号错误,请跟贴说明~~~

    +++++++++++++++++++++++++++++++++++++++++
    keygen已更新...


    [ 本帖最后由 黑夜彩虹 于 2006-7-5 20:04 编辑 ]

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2006-7-5 13:45:20 | 显示全部楼层
    现提交注册机大家帮忙测试一下,算号错误请跟贴,说明,谢谢!

    另:PY老大,由于想写个CrackMe(用这个软件的算法),代码稍晚再贴过来,可否?

    [ 本帖最后由 黑夜彩虹 于 2006-7-5 21:07 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-7-5 15:40:31 | 显示全部楼层
    找了好半天,终于在TfrmMainWindow找到了下面这个东东修改
    object dxBarButton115: TdxBarButton
          Caption = '正版注册'
          Category = 12
          Enabled = True                             //激活注册
          Hint = '正版注册'
          Visible = ivAlways
          ImageIndex = 114
          OnClick = dxBarButton115Click
    -----------------------------------------------------
    小黑你的是怎么显示中文的呀,我的显示是符号的
        object dxBarButton115: TdxBarButton
          Caption = #27491#29256#27880#20876
          Category = 12
          Enabled = True
          Hint = #27491#29256#27880#20876
          Visible = ivAlways
          ImageIndex = 114
          OnClick = dxBarButton115Click
        end
    --------------------------------------------------------------------------------------

    我试了注册机可用,但用中文名字不行
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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