飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5231|回复: 6

[原创] 鼠标打字 高级版iii 之 爆破分析

[复制链接]
  • TA的每日心情
    开心
    2016-11-3 14:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2019-11-16 20:56:35 | 显示全部楼层 |阅读模式
    鼠标打字 高级版iii  

    看到群里在讨论的一个微博话题 脑瘫患者因更换新电脑后无法联系到作者 导致无法使用该工具进行网上交流 于是发起了网上求助

    现在 www.hoabc.com 该域名已被热心网友注册 并分享了绿色破解版和软件分析文章:https://weibo.com/ttarticle/p/show?id=2309404438205989519536

    这里仅对软件验证部分的分析做一个笔记和整理。

    OD载入调试发现在VB6里打转,猜测是P-CODE编译,查壳果然如此。之前看别人玩过,基本没接触过过p-code,就现学一下好了。

    BranchF: 机器码1C  类似jnz/jne  如果堆栈为0就跳            
    BranchT: 机器码1D  类似je/jz     如果堆栈为-1就跳
    Branch:  机器码1E   类似jmp      无条件跳

    ---------------------------------------------------------------------

    下载vbdebug,动态分析下,win7好像还用不了,于是塞到虚拟机里跑,研究了一下才找到怎么下断点,比较好的是界面上还给出了所有的p-code指令表。

    ns-2.jpg

    后来突然想起还有一个静态分析工具VB Decompiler,于是去看雪下载了一份。这样看起来就比较方便了。

    先说下这个程序的限制,启动的时候有一个时间判断,如果超时,就建议去官网下载最新版,软件两个窗体上共有两处验证:

    第一处:
      loc_451C14: If ((var_9A <= &H1E) And (var_9A >= 0)) Then
      loc_451C3B:   MsgBox CVar("该版本还有" & CStr(var_9A) & "天即将失效"), 0, var_128, var_148, var_168
      loc_451C40:   var_170 = "" = "" 'Ignore this
      loc_451C47:   var_108 = "": var_128 = "": var_148 = "" = "" 'Ignore this
      loc_451C52: End If
      loc_451C58: If (var_9A <= 0) Then
      loc_451C69:   var_F8 = "请到http://www.hoabc.com更新最新版本"
      loc_451C74:   MsgBox var_F8, 0, var_128, var_148, var_168
      loc_451C79:   var_108 = "": var_128 = "": var_148 = "" = "" 'Ignore this
      loc_451C84:   End
      loc_451C86: End If

    第二处:
      loc_451030: If ((var_9A <= &H1E) And (var_9A >= 0)) Then
      loc_451057:   MsgBox CVar("还有" & CStr(var_9A) & "天"), 0, var_124, var_144, var_164
      loc_45105C:   var_16C = "" = "" 'Ignore this
      loc_451063:   var_104 = "": var_124 = "": var_144 = "" = "" 'Ignore this
      loc_45106E: End If
      loc_451074: If (var_9A <= 0) Then
      loc_451085:   var_F4 = "请到http://www.hoabc.com更新最新版本"
      loc_451090:   MsgBox var_F4, 0, var_124, var_144, var_164
      loc_451095:   var_104 = "": var_124 = "": var_144 = "" = "" 'Ignore this
      loc_4510A0:   End
      loc_4510A2: End If

    把 451074 和 451C58 两处的跳转修改为 JMP ==> Branch 0x1E

    然后运行程序,看到了注册提示框:

    1.png 2.png

    在反编译工具中也找到了该字符串:

    3.png

    跟进验证函数看一下:

    4.png

    该函数中会返回 1 or 2,目前我们不了解返回 1 2 4 中哪个值才是有效的,于是我们先让其返回 2,不弹出窗体看下效果。
    我们将 450700 这里的 BranchF 0x1C ==> BranchT 0x1D,保存运行,发现在界面胡乱点击后,又现弹框:

    5.png

    这里看来 全局赋值为2还有功能限制,2 应该代表的是未过期的功能限制版,我们回想下验证的时候有赋值1 和 2 两个分支,于是我们将其修改为赋值 = 1

    loc_450730:         var_E6 = 2  <<==  修改为 1

    再保存,发现功能没问题了。

    后续论坛网友反馈,重新安装后,又开始弹需要注册的窗口了 。。。看来我们之前修改 1C=>1D 触发了弹框条件。

    所以我们需要修改为 JMP 跳转, Branch 指令后跟两个参数,参数代表跳转偏移:

    6.png

    中断后:

    7.png

    我也没找到资料,后面的参数是如何计算偏移的,所以这里大家就口算一下好了(不了解格式的话计算这个偏移有点难)。
    可以OD加载后,直接修改,对比如下:

    9.png

    看完网友的分析文章后,发现关键call下方的函数若返回成功,对全局赋值为4,该函数返回t=trial,返回r=registered。直接在该函数修改也OK,这样逻辑会更清晰,目前赋值为1也未发现其他问题,本文的修改方案也算一种参考思路。








    评分

    参与人数 2威望 +2 飘云币 +2 收起 理由
    gaosld + 1 + 1 PYG有你更精彩!
    dryzh + 1 + 1 分享精神,是最值得尊敬的!

    查看全部评分

    本帖被以下淘专辑推荐:

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-7-9 22:48
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    发表于 2019-11-16 21:30:34 | 显示全部楼层
    VB P-Code看着有点花眼
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-29 14:47
  • 签到天数: 175 天

    [LV.7]常住居民III

    发表于 2019-11-18 10:12:32 | 显示全部楼层
    好厉害的分析,赞一个
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2024-4-3 08:34
  • 签到天数: 114 天

    [LV.6]常住居民II

    发表于 2019-11-18 11:09:15 | 显示全部楼层
    谢谢哦~~~~~~~~这个不错哦
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-1-15 09:10
  • 签到天数: 106 天

    [LV.6]常住居民II

    发表于 2019-11-18 19:43:00 | 显示全部楼层

    后面的参数是如何计算偏移的,所以这里大家就口算一下好了
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-5 22:38
  • 签到天数: 770 天

    [LV.10]以坛为家III

    发表于 2019-11-20 09:25:13 | 显示全部楼层
    萌萌懂!有些还是不懂
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    前天 20:39
  • 签到天数: 560 天

    [LV.9]以坛为家II

    发表于 2020-2-27 17:04:01 | 显示全部楼层
    初学,先做个记号,谢谢分享~!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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