东海浪子 发表于 2018-7-6 20:50:38

简单分析下Xilisoft Video Editor 2的验证和爆破过程

本帖最后由 东海浪子 于 2018-7-7 21:00 编辑

【破文标题】[第十五轮] 【基础专题】 【第三课】简单分析下Xilisoft Video Editor 2的验证和爆破过程
【破文作者】东海浪子
【破解工具】OllyDBG.EXE
【破解平台】虚拟机 xp sp3
【软件名称】Xilisoft Video Editor 2
【软件大小】25.4 MB
【原版下载】http://www.xilisoft.com.cn
【保护方式】无壳
【软件简介】Xilisoft Video Editor 是一款直观易用的视频编辑器,可以完成视频合并和简单的视频剪辑工作,如视频分割和视频剪切!
【破解声明】只做为逆向研究学习,喜欢请支持正版。

这款软件的算法还是比较简单的,还算可以的就是他的联网验证 比较狠 不触发前 可以算号随意注册 触发后 强制联网注册 断网不能再注册 算号不能再注册 ,让人一时无从下手。经过2天的分析,终于大概了解了注册验证的过程。我就简单扼要的跟大家分析讨论一下,有错误不足之处,希望大神给予帮助指正。

【注册验证的过程】
追踪分析发现这个软件的注册验证的核心是regstate这个值决定软件的。如果值=0,是未注册。值=1,是本地注册,未验证。值=2,是已经通过网络验证。值=3,是未通过网络验证(盗版)。只有当regstate=2时,软件无限制,功能正常。
regstate初始值为0,注册时,如果本地验证后,注册码正确,弹出注册成功的提示框,标题栏“未注册”消失,值改为1.(是假注册,功能还是5次试用)再进入网络验证。如果通过了网络验证,已激活,值改为2软件无限制,功能正常。如果未通过网络验证,值改为3。标题栏出现“未注册”,行使功能时弹出注册框
软件每次启动时,读取regstate的原值,然后联网验证读取regstate的新值,当新值和原值相同时,不修改regstate,不同时,就用新值修改原值。断网时,就用原值。
所以断网时,当regstate原值=2时,软件仍然可用,反之软件断网不可用也不可注册。
【爆破过程】简单的思路讲一下,具体步骤自己来试
【爆破1】
1.用正确注册码注册 在本地验证的时候,走到这里时,看函数英文名,下面的值,就知道了,0和1的意思。


2.接下来是网络验证的时候,走到这里,看下面的值1和3就知道了。

3.我们要往上找这个值3是怎么来的,走出这个call,看下图

4.我们看到这个函数名就知道上面的这个call什么意思了。这里是个爆破点,让ebx=2就可以了。我们也可以往上找ebx的赋值处。

5.到了这里,我们可以找到另外的爆破点。
所以可以一个字节mov ebx,2或一个赋值ebx寄存器值改为2,就可以爆破验证了。如果问我你是怎么知道regstate=2是激活的呢?经过多次试错试出来的呗。先猜测后验证。
【爆破2】
非正确注册码爆破 在了解了上面的注册验证过程了以后。我们可以让regstate初始值就为2,再让联网验证后的值也为2,这样就可以了。所以我们要找到regstate读取赋值的地方。

通过查找字符串也可以,下内存地址的访问断点也可以,很容易找到这个位置。
所以没有注册码的情况下。2个赋值内存地址值改为2和寄存器ebx值改为2,可以爆破了。
【其他各种爆破】
当然爆破方式还有很多种,这里再简单介绍几种思路。
1)软件在本地验证注册码是否有效的时候,标志位0无效1有效。这里可以0修改成1,爆破本地验证,标志位上面这里修改一下跳转,还可以中文汉字随意注册。网络验证还是那个位置。
2)本地验证成功后,我们找到触发网络的地位置,修改试用次数>5也不触发网络验证,这样即使regstate=1,也可以一直试用下去。不发图了。

【结束】
注册码算法只要找到位置了,计算过程很简单,不在本文讨论内。对我来说,这个注册验证过程比较新颖,还是头一回碰上这种的,所以记录一下。以前碰上的软件一般注册标志位只有0和1这2种选择。这个软件有0,1,2,3这4种选择。
好久没写分析文章了,写的不好,请大家多包涵



天上飞的鱼 发表于 2018-7-6 21:05:45

很久没看到这样的分析文章,浪子表哥再接再厉!{:3_164:}

酒醒黄昏 发表于 2018-7-6 21:50:12

培训的时候表哥刚好不在,不然一起讨论也是很精彩的。

东海浪子 发表于 2018-7-6 22:23:02

本帖最后由 东海浪子 于 2018-7-6 22:42 编辑

@天上飞的鱼,表哥过奖了,写破文太花时间精力了,偶尔写点心得记录一下。

东海浪子 发表于 2018-7-6 22:25:05

酒醒黄昏 发表于 2018-7-6 21:50
培训的时候表哥刚好不在,不然一起讨论也是很精彩的。

是啊,很遗憾没有参加培训,错过一年又一年。只好自己有空闲时可以自己补着练习。幸好还有表哥们的破文可以学习。

maomihuacha 发表于 2018-7-7 09:01:05

记得某宝有批处理解决被网验拉黑的方法 不知道工作原理 大概是清理了 写入系统的拉黑注册表键值 可以继续分析他的不良写入注册表键值 铲除这个标记在系统的垃圾注册表值 更干净美丽

东海浪子 发表于 2018-7-7 09:09:58

本帖最后由 东海浪子 于 2018-7-7 09:20 编辑

maomihuacha 发表于 2018-7-7 09:01
记得某宝有批处理解决被网验拉黑的方法 不知道工作原理 大概是清理了 写入系统的拉黑注册表键值 可以继续分 ...
没必要处理,不影响软件使用。占的空间也不大。每次联网启动时,都要验证写入,不可能每次都去清理。只要保持regstate始终=2,就算拉黑,授权时间过期都不是事儿。
那个要抓包,监控注册表哪里写入了。那个批处理解决方式可能也就是把注册表里清空,恢复注册前状态,可以试用5次功能。5次后又要重新清理(原理就是无限5次试用)

manger 发表于 2018-7-7 11:11:46

谢谢分享,这个QT程序破解有木有什么找按钮事件的技巧呢

阳光宅男 发表于 2018-7-7 11:14:54

浪子表哥V5,感谢分享

东海浪子 发表于 2018-7-7 15:35:13

manger 发表于 2018-7-7 11:11
谢谢分享,这个QT程序破解有木有什么找按钮事件的技巧呢

这个软件,注册时,F12暂停法,很容易定位到验证处。粗略走一遍程序,就可以快速定位了。而且函数英文名更容易让人理解定位
页: [1] 2
查看完整版本: 简单分析下Xilisoft Video Editor 2的验证和爆破过程