锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
[原创] 【wonderzdh】-逆向学习笔记第五篇 -飘零商业3.5-分析并爆破飘零

作者: 佚名  日期:2013-10-27 12:00:42   来源: 本站整理


【文章标题】: 飘零商业3.5破解笔记
【文章作者】: wonderzdh
【作者主页】: http://hi.baidu.com/chicken
【下载地址】: 自己搜索下载
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
本套教程至少得更新到10课,由于没有事先安排,内容可能会比较乱,但是每字每句都是心得。

为什么我要把这些心得发出来,而不自己藏着。因为我发的东西本身就是我对学习逆向的一个梳理和总结。

赠人玫瑰,手有余香。至于你们回不回复,评不评分,我一点所谓也没有。

后续课程不会继续在【逆缘论坛】首发,【吾爱破解】转帖的形式存在,而是两个站同时更新。

也希望我的帖子在吾爱不是归类转帖,而是属于原创,本人可是吾爱未来的“原创精英”+“论坛大牛”呀。

如果想求破,可直接来逆缘免费求破,网址什么的就不发了,自己百度一下。  

  【前言】

  大家好!我是【wonderzdh】,一个正在努力学习电脑技术的男人。

  此系列文章一到四篇在吾爱首发,以后我会将我的学习笔记在【逆缘论坛】与大家分享。

  还请各位大牛赐教,当然也希望那些初入门的同学能和我一同进步,有问必答!

  【正文】

  由于是自己搭建服务器研究一下,所以先打开“WEB服务器.exe”配置服务器。

  然后OD载入“客户端.exe”,F9直接运行。

  【处理飘零按钮事件断点】

  飘零有循环调用子程序,以便干扰我们在按钮事件出下断,处理方法有二。

  一、

  OD载入F9运行后,打开“XueTr.exe”,选择客户端进程-右键-查看...-查看进程定时器。

  会出现两个,我们选中-右键-移除即可。

  如果你一个都没出现,请检查你的客户端是否已经运行,没运行时钟是不会被创建,自然也就没有定时器。


  二、

  OD载入后-Ctrl+N-输入SetTimer-在上边的跳转直接修改为JMP,然后再F9运行。

  此处不能下断然后修改,因为飘零有检测时间,断下时间过长就会退出。

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

  0042FB5F     /75 19             jnz short 客户端.0042FB7A

  修改为:

  0042FB5F     /EB 19             jmp short 客户端.0042FB7A

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

  0042F9AA     /7E 1F             jle short 客户端.0042F9CB

  修改为:

  0042F9AA     /EB 1F             jmp short 客户端.0042F9CB

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

  当然,我们还可以直接处理这个退出事件,因为到后边暂停时间过程一样要退出。

  当程序退出后,我们查看堆寨窗口,找到第一个返回到程序领空的代码-右键-反汇编窗口跟随-段首改retn。

  对于这个程序,这样修改非常不好,估计是一些事件已经被触发,程序会变卡,还会蓝屏,应该再到上边几层的CALL里去修改。

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

  00442F50      55            push ebp

  修改为:

  00442F50      C3            retn

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

  【分析登录按钮事件】

  现在我们在CPU窗口按下Ctrl+G-输入“00401000”(来到程序领空代码段最上方)-然后按Ctrl+B搜索二进制-“FF55FC5F5E”(易语言事件特征码)

  00442B6D  |> \FF55 FC           call [local.1]

  此处下断,然后回到窗口点击登录。

  OD成功断下,F7跟进。

  004177A1  /.  55                push ebp

  来到此代码段,即登录按钮的按钮事件代码段。

  我们一直向下翻,会找到一个易语言窗口创建的代码:

  00417AFD  |.  68 02000080       push 0x80000002
  00417B02  |.  6A 00             push 0x0
  00417B04  |.  68 00000000       push 0x0
  00417B09  |.  6A 00             push 0x0
  00417B0B  |.  6A 00             push 0x0
  00417B0D  |.  6A 00             push 0x0
  00417B0F  |.  68 01000100       push 0x10001
  00417B14  |.  68 00020106       push 0x6010200
  00417B19  |.  68 01020152       push 0x52010201                ;窗体ID,可疑理解为在此程序中各个窗体的标记。
  00417B1E  |.  68 03000000       push 0x3
  00417B23  |.  BB A0034200       mov ebx,客户端.004203A0
  00417B28  |.  E8 25850000       call 客户端.00420052
  00417B2D  |.  83C4 28           add esp,0x28

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

  004177B8  |. /EB 10             jmp short 客户端.004177CA
  004177BA  |. |56 4D 50 72 6F 74>ascii "VMProtect begin",0

  此处有一个VMP的加壳标记,在这两段代码之间的代码会被VM掉,也就是虚化变异,代码会非常长且不易懂。

  所以VMP保护非常强大,他能把十行汇编变成一百行,这个效果大家应该就懂了。

  00417C36  |. /EB 0E             jmp short 客户端.00417C46
  00417C38  |. |56 4D 50 72 6F 74>ascii "VMProtect end",0

  此时我们在

  004177B8  |. /EB 10             jmp short 客户端.004177CA

  修改为:

  004177B8     /E9 40030000       jmp 客户端.00417AFD

  作用:直接无视这些验证,按钮一按下,我们就来到创建窗口的代码。

  那么接下去就是要搞定目标窗口创建完毕的事件咯,我们F8一直走。

  00417B28  |.  E8 25850000       call 客户端.00420052

  这里必须得跟进,因为这个CALL包含了我们需要的目标窗口创建完毕的事件代码,步过的话一些暗装都已经执行了。

  00442ADF   .  FFD3              call ebx                                 ;  客户端.004203A0

  我跟进遇到这个CALL时点一下F8就停下,程序会再次来到易语言事件代码的断点处,我们F7跟进。

  【分析目标窗口创建完毕事件】

  0041FD6C  /.  55                push ebp

  这个代码段就是目标窗口创建完毕的事件代码段,我们分析一下。

  --------------------------------------------------------------------
  汇编:

  0041FD87  |> \FF35 EC085000     push dword ptr ds:[0x5008EC]
  0041FD8D  |.  E8 96EAFEFF       call 客户端.0040E828

  源码:

  飘零关闭驱动句柄 (防OD线程驱动句柄)

  修改方法:

  这两句直接nop,或者在上边的跳转直接跳到下边,也可以跟进这个CALL,段首retn。

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

  汇编:

  0041FD92  |.  FF35 14095000     push dword ptr ds:[0x500914]
  0041FD98  |.  68 AA1E4C00       push 客户端.004C1EAA
  0041FD9D  |.  B9 02000000       mov ecx,0x2
  0041FDA2  |.  E8 0914FEFF       call 客户端.004011B0
  0041FDA7  |.  83C4 08           add esp,0x8

  源码:

  标签_到期时间.标题 = “到期时间为:” + 到期时间

  无需修改。

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

  汇编:

  0041FDD5  |.  83C4 04           add esp,0x4
  0041FDD8  |>  6A 00             push 0x0
  0041FDDA  |.  68 C0D40100       push 0x1D4C0                ;(1D4C0)16=(1000 × 60 × 2)10
  0041FDDF  |.  6A FF             push -0x1
  0041FDE1  |.  6A 08             push 0x8
  0041FDE3  |.  68 837A0116       push 0x16017A83
  0041FDE8  |.  68 01020152       push 0x52010201
  0041FDED  |.  E8 5A020000       call 客户端.0042004C
  0041FDF2  |.  83C4 18           add esp,0x18
  0041FDF5  |.  6A 00             push 0x0
  0041FDF7  |.  68 E0930400       push 0x493E0                ;(493E0)16=(1000 × 60 × 5)10
  0041FDFC  |.  6A FF             push -0x1
  0041FDFE  |.  6A 08             push 0x8
  0041FE00  |.  68 25B80116       push 0x1601B825
  0041FE05  |.  68 01020152       push 0x52010201
  0041FE0A  |.  E8 3D020000       call 客户端.0042004C
  0041FE0F  |.  83C4 18           add esp,0x18

  源码:

  登陆检测时钟.时钟周期 = 1000 × 60 × 2
  时钟_验证动态.时钟周期 = 1000 × 60 × 5

  修改方法:

  0041FDDA  |.  68 C0D40100       push 0x1D4C0

  修改为:

  0041FDDA      6A 00             push 0x0

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

  0041FDF7  |.  68 E0930400       push 0x493E0

  修改为:

  0041FDF7      6A 00             push 0x0

  或者可以直接跳过这段代码。

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

  汇编:

  0041FE12  |.  833D F0085000 04  cmp dword ptr ds:[0x5008F0],0x4
  0041FE19  |.  0F84 05000000     je 客户端.0041FE24
  0041FE1F  |.  E8 C92BFFFF       call 客户端.004129ED

  源码:

  .如果真 (非法了吗 ≠ 4)
      飘零蓝屏 ()

  错误的修改方法:

  0041FE19  |. /0F84 05000000     je 客户端.0041FE24

  修改为:

  0041FE19     /EB 09             jmp short 客户端.0041FE24

  这种方法不保险,因为蓝屏事件多次调用,所以我们要跟进这个CALL,段首retn。

  正确的修改方法:

  004129ED  /$  55                push ebp

  修改为:

  004129ED      C3                retn

  局部调用来自 0041299F, 00415B02, 0041AC41, 0041FE1F

  这样就不怕啦!及时其他地方调用了,也不蓝屏了。

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

  【补充】

  我们在登录按钮事件代码段还未处理完毕,需做如下处理:

  00417B30      8945 F0       mov dword ptr ss:[ebp-0x10],eax

  修改为:

  00417B30     /E9 11010000   jmp 客户端.00417C46

  汇编:

  00417B28  |.  E8 25850000       call 客户端.00420052
  00417B2D  |.  83C4 28           add esp,0x28
  00417B30  |.  8945 F0           mov [local.4],eax
  00417B33  |.  837D F0 01        cmp [local.4],0x1
  00417B37      0F85 36000000     jnz 客户端.00417B73

  源码:


              .判断开始 (载入 (窗口1, , 假) = 真)
                  否载入 = 假
                  销毁 ()


  【总结】

  1.要善用堆寨,查看第一个返回到程序的代码,这里是程序最后执行的地方,然后进行猜测分析,有必要可以在出一层CALL。

  2.不要滥用JMP,某些可恶的代码,比如蓝屏、格盘,这些会多出调用,要么每一处都跳过,要么直接段首retn。

第一篇-【某培训】学前测试-程序多开 

第二篇-吾爱扣扣的一个CM 

第三篇 - CM大赛作品 - BambooQJ 

第四篇 - CC网络验证 - 分析并爆破CC 

 cracked.zip (535.9 KB, 下载次数: 32) 

 客户端.zip (535.81 KB, 下载次数: 78) 

 飘零商业 3.5.zip (1.98 MB, 下载次数: 225) 

--------------------------------------------------------------------------------
【版权声明】: 本文原创于【wonderzdh】,转载请注明作者并保持文章的完整,谢谢!

                                                       2013年07月14日 0:01:32



热门文章
  • 机械革命S1 PRO-02 开机不显示 黑...
  • 联想ThinkPad NM-C641上电掉电点不...
  • 三星一体激光打印机SCX-4521F维修...
  • 通过串口命令查看EMMC擦写次数和判...
  • IIS 8 开启 GZIP压缩来减少网络请求...
  • 索尼kd-49x7500e背光一半暗且闪烁 ...
  • 楼宇对讲门禁读卡异常维修,读卡芯...
  • 新款海信电视机始终停留在开机界面...
  • 常见打印机清零步骤
  • 安装驱动时提示不包含数字签名的解...
  • 共享打印机需要密码的解决方法
  • 图解Windows 7系统快速共享打印机的...
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等