声明
- My Eclipse 2015 程序版权为Genuitec, L.L.C全部.
- My Eclipse 2015 的注冊码、激活码等授权为Genuitec, L.L.C及其付费用户全部.
- 本文仅仅从逆向project的兴趣出发,研究软件保护机制.
- 不会释出完整源码和破解补丁.
- 会直接猜測出授权信息的地方打码处理
- 本文针对My Eclipse 2015 Stable 2.0或CL版本号
背景
在上篇博文中。我们针对My Eclipse 2015,熟悉了其软件执行特点,并完毕了下面几件事:
- 搭建了静态分析环境。利用全文搜索,方便按路径、符号等方式搜索java文件
- 搭建了动态调试环境。将我们静态分析得到的关键代码,抽出来。修复依赖,搭建一个非常小的执行时环境。
- 破除了My Eclipse 2015 的软件完整性保护机制。
- finder用来进行字节级搜索
- patch用来进行文件补丁
參见:
本篇。我们将针对My Eclipse 2015的注冊和激活保护机制进行研究,并破除其限制。
本篇将进行暴力破解,意即不考察软件的注冊、激活算法,而是去除其验证部分。
后话:实际上,针对My Eclipse 2015这款软件。暴破比推出注冊、激活算法还复杂。晕一个先!最后再吐槽下。ME 2015实在太卡了 : [ 调试中。死机N次是再正常只是的事!
有个心理准备吧。
先看暴破后的成果,绕过了注冊码的验证机制、激活验证机制:
分析注冊验证机制
由于有了上篇的环境,我们能够“随意”的玩小范围内的调试。
事实上不是随意,由于My Eclipse 2015同一时候採用了数字签名技术,只是这个能够绕过或者…你懂的.
看看动态调试能够给我们带来什么?以及为什么我们要先去除其软件完整性验证:
这里。混淆神马的都是浮云,^^。
这次,我们依旧利用例如以下的调用栈猜測:
main -> start -> .. -> dialogLicenseInfo("骚年,你的注冊码不正确哟!")
然后利用我们的检索环境,进行检索,定位到关键代码段,抽出这部分代码,做进我们的动态调试环境中,接着回溯和查找周围信息吧。
至于详细的分析过程。不是重点。关键是方法: ]有兴趣的同学能够自行分析。
看看关键验证部分之中的一个:
关键验证部分之二:
好了。天机不可泄露
,就说这么多: ]
务必十分熟悉软件的验证保护后。再做代码补丁,否则,各种遗漏会让你的逆向过程成本大增。
同一时候,对你的补丁代码要多做測试哦。
去除注冊验证
好了。到这里,各种分析结果在手,要做的事情,不用我再细说了吧?
呵呵。赶紧写好patch,打上补丁,測试下效果吧。贴一些patch的图:
ViperCore:
ProductRegistar
:
GSDCController:
你看到了。这里仅仅列出一部分注冊验证的代码,搞到这里。你就明确为啥前文说对My Eclipse 2015进行暴力破解,比推出注冊算法还复杂了。
类多不爱啊!。!
!
!
。!!!
!
!。!!!
分析激活验证机制
ME 2015在输入注冊码后。还有个激活的过程。
我们来看看激活的部分:- Connection
- Manual Activation(手动激活)
- Need Activation (是否须要激活呢)
好了,这一步和上面分析注冊验证部分相似,耐心分析、多调试、多记录,确保已经理解激活验证的步骤。全面掌握了激活验证的点。
去除激活验证及联网验证
了解了激活验证和联网验证的机制后,我们開始去除,这一步和注冊验证去除的步骤一致,不再赘述。
补丁:
- Activator
- Licence Expired(注冊码是否过期)
打补丁:
配置:
- 执行:
- 输出:
结语
本篇。我们对MyEclipse 2015的注冊机制和激活机制进行了分析,并且採用暴力方式去除其限制。效果例如以下:
你在文中也看到,这种方式,侵入式太强,并且ME的验证差点儿遍地开花。稍不注意就会遗漏,导致破解失败。那么怎样实现相对简单、优雅的破解呢?
在下篇,我们对下面两个问题进行研究。
- 注冊码算法
- 激活码算法
以期在不改动其验证机制的前提下,成为ME 2015的”合法”授权用户。
撰文不易,若认为本文对你故意。留个言,点个推荐吧 : ]