拼吾爱程序人生

首页 » 数据库编程 » SQL » 破解SQL Prompt3
cobra - 2008-6-17 8:45:00
文/aaron.yi  出处/YZL的研究室

前几天发布了第一个破解作品(SQL Prompt 3.8,SQL Refator 的发布,破解和下载),然后有人要求我再破解一下SQL Prompt3,他其实不知道我在这方面菜得很…呵呵…没办法,既然人家开口了,我也只能硬着头皮看一看咯…首先安装好Red Gate全系列工具,进入SQL Prompt 3文件夹里面找到RedGate.Licensing.Client.dll,用Reflector打开一看,囧…果然没那么简单,被混淆了一下…这么多类,肯定不能一个个看,所以我赶紧打开软件的注册窗口,看看有没有什么切入点。

 附件: 您所在的用户组无法下载或查看附件

这是激活窗口,既然invoice特别强调了一下,我就从它开始,嘿嘿。输入Reflector一找,果然找到了一个叫P的类,这个类明显就是上面那个窗口,接着在这里很容易就找到了Activate按钮的方法,代码如下

Code


这里非常明显o.b(str)这个方法就是验证序列号正确性的,赶紧跟进去找到这么一段代码

Code


真是得来全不费功夫,竟然用正则来验证,这岂不是比ReSharper 4.0更容易破解?我心里暗爽了一把…

赶紧按照正则规则算出了一个合适的激活码,迫不及待地输进去…结果出现…Red Gate…我恨你…

 附件: 您所在的用户组无法下载或查看附件

原来一切都是幻觉…没办法…只好另找突破点…从提示来看,似乎每个真正序列号都在服务器有注册…这岂不是跟Windows的激活差不多了?难道要我一个个试?这明显不可能呀…

 您可能对 [SQL] 的这些文章也感兴趣:

远程数据库管理三思而后行
收缩数据库
关于软件权限设置的一点心得体会
查询开放内容
跟我学SQL:(四)查询多个表格
将表数据生成SQL脚本的存储过程
使用ODC文档在IE中直接连接SQL数据库
如何得到当前所在的sql的数据库名称
IBatis.Net使用方法之一:下载、编译、运行NPetShop
详解微软SQL 2005的安全策略
cobra - 2008-6-17 8:48:00
正当我郁闷的时候,忽然想起如果连不上网呢?不可能不能激活吧。赶紧断网再试,果然出了网上激活还提供了一个本地激活的方法,看起来像是要通过序列号去官网申请一个License文件,我当然不可能去申请一个,不过既然可以用文件激活就代表破解还是有希望的…

把提示中的<activationrequest>放到Reflector里面继续找,顺着引用可以找到

Code


从o.a开始一直往里找可以找到

Code


由于之前用minisniffer抓了几个包,所以这里很容易知道activationResponse里面的XML片断就是关键了。接着继续在dll文件里面翻,在

Code


这个函数里面发现了整个激活过程最重要的部分,分析之后可以得到如下信息:

1.activationResponse的结构
2.加密方法(1024位的RSA加密,这是不可能像ReSharper那样破解了)
3.可以用一个License激活一系列Red Gate的软件,也就是以一个软件包的形式激活
既然RSA无法破解当然只能绕过去了,不过还好,只需要改一个License.dll文件,然后一次性激活所有软件就行了。

Code


这个函数就是验证RSA签名的,用IL Disassembler把dll文件解开然后把VerifyData前面的!去掉,再伪造一个activationResponse的片断,呵呵,大功告成咯…

 附件: 您所在的用户组无法下载或查看附件



后记,搞完才发现,原来有些License.dll并没有混淆,我靠…

破解包下载,内含说明:
 附件: 您所在的用户组无法下载或查看附件
1
查看完整版本: 破解SQL Prompt3
Modify by pin5i DZNT_ExpandPackage 2.1.3237 2007-2008 pin5i.com
  Total Unique Visitors: