飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 7806|回复: 17

[已解决] 小软件爆破遇到问题

[复制链接]
  • TA的每日心情
    开心
    2019-9-11 08:24
  • 签到天数: 614 天

    [LV.9]以坛为家II

    发表于 2015-3-27 12:26:47 | 显示全部楼层 |阅读模式
    本帖最后由 wzgangwzgang 于 2015-4-11 11:39 编辑

    出于兴趣和学习破解,网上下了一个小软件
    官网:http://www.tenset.co.uk/pedscope/download_windows.html

    打开程序后会弹出信息框,内容为:(30天试用期)
        The 30 day free trial period for this product has ended.Please upgrade to the full version to continue using this software.
        若关闭则直接退出程序。
    输入Registration name:   
          Registration code:
         点OK后,弹出警告信息框,内容为:(注册码或名无效或过期)
         Invalid(or expired)registration code and/or name
    用Peid查壳,显示 什么都没找到! [Overlay] *。
    改用 深度扫描,显示 Microsoft Visual C++ 6.0 - 8.0 [Overlay] *。好象是无壳。
    用OD载入后搜索字符串搜不到上述相关字符串。                        
          通过对软件的分析:注册码中可能应包含软件的使用时限,过期后需继续申请注册码!
    用OD分析原程序:
    弹出试用天数、是输入注册码还是继续试用的信息框:
    调用堆栈:     主线程
    地址       堆栈       函数过程 / 参数                                  调用来自                      结构
    00A8D2B0   75AA0927   ntdll.ZwWaitForMultipleObjects                   KernelBa.75AA0921             00A8D430
    00A8D434   7594B6E5   KernelBa.WaitForMultipleObjectsEx                user32.7594B6DF               00A8D430
    00A8D438   00000000     nObjects = 0x0
    00A8D43C   00A8D458     pObjects = 00A8D458
    00A8D440   00000000     WaitForAll = FALSE
    00A8D444   FFFFFFFF     Timeout = INFINITE
    00A8D448   00000001     Alertable = TRUE
    00A8D48C   5E2739B6   user32.MsgWaitForMultipleObjectsEx               QtCore4.5E2739B0              00A8D488
    00A8D490   00000000     Count = 0x0
    00A8D494   00A8D530     pHandles = 00A8D530
    00A8D498   FFFFFFFF     Timeout = INFINITE
    00A8D49C   00000000     WakeMask = 0
    00A8D4A0   00000064     Flags = MWMO_INPUTAVAILABLE|60
    00A8F260   5BDF679F   QtCore4.QEventDispatcherWin32::processEvents     QtGui4.5BDF6799               00A8F25C
    00A8F268   5E24D5FE   包含QtGui4.5BDF679F                                QtCore4.5E24D5FB              00A8F2A0
    00A8F2A4   5C173B34   QtCore4.QEventLoop::exec                         QtGui4.5C173B2E               00A8F2A0
    00A8F2E4   0146BAD3   QtGui4.QDialog::exec                             pedscope.0146BACD             00A8F2F4           nop后,“试用天数、提示注册信息框”没有了,直接进入了程序。
    00A8F340   0146B618   ? pedscope.0146B7D0                              pedscope.0146B613
    00A8F438   01444F04   pedscope.0146B210                                pedscope.01444EFF             00A8F434
    00A8F5F8   014054EC   pedscope.01444EA0                                pedscope.014054E7             00A8F5F4
    00A8FC7C   014978AD   pedscope.01404E90                                pedscope.014978A8             00A8FC78
    00A8FC9C   014970A0   pedscope.01497810                                pedscope.0149709B             00A8FCE4


    输入注册名、码并确定后弹出的注册码不正确的信息框:
    调用堆栈:     主线程
    地址       堆栈       函数过程 / 参数                                   调用来自                      结构
    008FA5D0   75AA0927   ntdll.ZwWaitForMultipleObjects                    KernelBa.75AA0921             008FA750
    008FA754   7594B6E5   KernelBa.WaitForMultipleObjectsEx                 user32.7594B6DF               008FA750
    008FA758   00000000     nObjects = 0x0
    008FA75C   008FA778     pObjects = 008FA778
    008FA760   759476DC     WaitForAll = TRUE
    008FA764   7594B6EE     Timeout = 1972680430. ms
    008FA768   00000003     Alertable = TRUE
    008FA7AC   5ADA39B6   user32.MsgWaitForMultipleObjectsEx                QtCore4.5ADA39B0              008FA7A8
    008FA7B0   00000000     Count = 0x0
    008FA7B4   008FA850     pHandles = 008FA850
    008FA7B8   FFFFFFFF     Timeout = INFINITE
    008FA7BC   00000000     WakeMask = 0
    008FA7C0   00000068     Flags = 68
    008FC580   5AF8679F   QtCore4.QEventDispatcherWin32::processEvents      QtGui4.5AF86799               008FC57C
    008FC588   5AD7D5FE   包含QtGui4.5AF8679F                                 QtCore4.5AD7D5FB              008FC5C0
    008FC5C4   5B303B34   QtCore4.QEventLoop::exec                          QtGui4.5B303B2E               008FC5C0
    008FC604   0146E19C   QtGui4.QDialog::exec                              pedscope.0146E196                            nop后,“输入注册名、码并确定后弹出的注册码不正确的信息框”、进入程序打开文件后弹出的“此软件为免费试用版的提示信息框”、关闭程序后弹出的“此软件为免费试用版的提示信息框”没有了。
    008FC62C   0146D1D8   ? pedscope.0146E0E0                               pedscope.0146D1D3
    008FC67C   0144AFA0   pedscope.0146D060                                 pedscope.0144AF9B             008FC678
    008FC6B0   0144AEEA   pedscope.0144AF00                                 pedscope.0144AEE5             008FC6AC
    008FC6D4   01456465   pedscope.0144AEC0                                 pedscope.01456460             008FC6D0
    008FC720   014559A4   可能 pedscope.01456270                              pedscope.014559A2             008FC71C
    008FC754   5AD8DE6F   pedscope.01455980                                 QtCore4.5AD8DE6C              008FC750
    008FC7CC   5B2570BF   包含QtCore4.5AD8DE6F                                QtGui4.5B2570BD               008FC7C8
    008FC7F8   5AD8DE6F   包含QtGui4.5B2570BF                                 QtCore4.5AD8DE6C              008FC86C
    008FC870   5B45CDC5   QtCore4.QMetaObject::activate                     QtGui4.5B45CDBF               008FC86C
    008FC88C   5B22FCDB   QtGui4.QAbstractButton::clicked                   QtGui4.5B22FCD6
    008FC8BC   5B22FBC5   QtGui4.5B22FC80                                   QtGui4.5B22FBC0
    008FC8E0   5B230687   QtGui4.5B22FAD0                                   QtGui4.5B230682
    008FC8F0   5AF6A124   包含QtGui4.5B230687                                 QtGui4.5AF6A121
    008FC9F8   5B22FFB6   QtGui4.QWidget::event                             QtGui4.5B22FFB1
    008FCA08   5B2AA286   QtGui4.QAbstractButton::event                     QtGui4.5B2AA281
    008FCA1C   5AF306E9   包含QtGui4.5B2AA286                                 QtGui4.5AF306E7
    008FCA30   5AF2F36F   QtGui4.QApplicationPrivate::notify_helper         QtGui4.5AF2F36A

        上面先分两次调试运行,分别找出两处弹出窗口的堆栈调用。
    ★★上述两处一次同时nop后保存,则各种试用弹出提示窗口均不再弹出!!!但在about中还是试用版,且应还有试用天数和500条记录限制!!!
    用PYG-OD分析原程序:
    od载入,F9运行。打开一个超过500条记录的系谱文件,弹出限制500条记录信息框。
    搜索上面字串搜不到。查看调用越整越不明白。
    因此请热心大牛帮看看我分析的对不对,如何解除这500条记录限制!


    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2015-8-23 23:49
  • 签到天数: 27 天

    [LV.4]偶尔看看III

    发表于 2015-3-27 13:24:01 | 显示全部楼层
    对于500条的限制,可以试着搜索下常量0x1f4看看。。。

    当然,没有源程序来调试,我是随便说的。不解释,不负责哈,错了也别找我{:soso_e154:}
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-9-11 08:24
  • 签到天数: 614 天

    [LV.9]以坛为家II

     楼主| 发表于 2015-3-27 14:09:16 | 显示全部楼层
    GGLHY 发表于 2015-3-27 13:24
    对于500条的限制,可以试着搜索下常量0x1f4看看。。。

    当然,没有源程序来调试,我是随便说的。不解释, ...

    非常感谢G版回复。
    我试了一下,找到好几十处,全改完也不行。我还在找,应是其中确定的某几个。
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2024-2-17 10:46
  • 签到天数: 927 天

    [LV.10]以坛为家III

    发表于 2015-3-27 16:37:43 | 显示全部楼层
    厉害,真的牛
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-9-11 08:24
  • 签到天数: 614 天

    [LV.9]以坛为家II

     楼主| 发表于 2015-3-27 17:35:19 | 显示全部楼层
    GGLHY 发表于 2015-3-27 13:24
    对于500条的限制,可以试着搜索下常量0x1f4看看。。。

    当然,没有源程序来调试,我是随便说的。不解释, ...

    找了一下午,还是找不准地方。
    提示的信息内容已经改了,但还是提示不可用,是试用版。是验证的地方多,还是通过“试用版”来验证的呢?
    要是能通过注册码或,解除试用版,变成完全版,这个问题全都解了。但目前我还不会分析算法。
    热心大牛能抽空帮看看吗?
    文件官网就能下,32 bit editions,2.4.0.1。

    PYG19周年生日快乐!
  • TA的每日心情
    难过
    2024-3-10 19:49
  • 签到天数: 473 天

    [LV.9]以坛为家II

    发表于 2015-3-27 17:47:13 | 显示全部楼层
    xp sp3安装完成后 无法打开32位的
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-9-11 08:24
  • 签到天数: 614 天

    [LV.9]以坛为家II

     楼主| 发表于 2015-3-27 17:49:41 | 显示全部楼层
    Dxer 发表于 2015-3-27 17:47
    xp sp3安装完成后 无法打开32位的

    是有这种情况,可能是软件支持问题。
    但win7、win8都可以。谢谢关注。

    点评

    还有你这个软件是QT的,我很难帮助到你。怕在外围绕来绕去 头晕目眩  详情 回复 发表于 2015-3-27 17:50
    PYG19周年生日快乐!
  • TA的每日心情
    难过
    2024-3-10 19:49
  • 签到天数: 473 天

    [LV.9]以坛为家II

    发表于 2015-3-27 17:50:42 | 显示全部楼层
    wzgangwzgang 发表于 2015-3-27 17:49
    是有这种情况,可能是软件支持问题。
    但win7、win8都可以。谢谢关注。

    {:soso_e147:}还有你这个软件是QT的,我很难帮助到你。怕在外围绕来绕去 头晕目眩
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2024-1-15 22:57
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2015-3-27 18:06:07 | 显示全部楼层
    本帖最后由 zaas 于 2015-3-27 18:13 编辑
    1. 0029XXXX      B0 01         MOV     AL, 0x1
    2. 0029XXXX      C3            RETN
    复制代码


    动态基址?你自己找找。。。

    关键call直接这样处理就OK了。。。
    再提示下,注册码形式为XXXX-XXXX-XXXX-XXXX-XXXX


    本帖子中包含更多资源

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

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

    [LV.3]偶尔看看II

    发表于 2015-3-27 18:06:43 | 显示全部楼层
    童鞋,你先换个简单的原生程序做研究吧,等玩熟了再来QT
    QT不可怕,搞清楚几个指针就可以了

    点评

    Qt只要弄懂几个指针?有点意思。赶紧去研究研究  详情 回复 发表于 2015-3-28 22:28
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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