【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)

声明

  • My Eclipse 2015 程序版权为Genuitec, L.L.C所有.
  • My Eclipse 2015 的注册码、激活码等授权为Genuitec, L.L.C及其付费用户所有.
  • 本文只从逆向工程的兴趣出发,研究软件保护机制.
  • 不会释出完整源代码和破解补丁.
  • 会直接推测出授权信息的地方打码处理
  • 本文针对My Eclipse 2015 Stable 2.0或CL版本

背景

在上篇博文中,我们针对My Eclipse 2015,熟悉了其软件运行特点,并完成了以下几件事:

  • 搭建了静态分析环境。利用全文搜索,方便按路径、符号等方式搜索java文件
  • 搭建了动态调试环境。将我们静态分析得到的关键代码,抽出来,修复依赖,搭建一个很小的运行时环境。
  • 破除了My Eclipse 2015 的软件完整性保护机制。
  • finder用来进行字节级搜索
  • patch用来进行文件补丁

参见:【MyEclipse 2015】 逆向破解实录系列【1】(纯研究)

本篇,我们将针对My Eclipse 2015的注册和激活保护机制进行研究,并破除其限制。

本篇将进行暴力破解,意即不考察软件的注册、激活算法,而是去除其验证部分。


后话:实际上,针对My Eclipse 2015这款软件,暴破比推出注册、激活算法还复杂,晕一个先!
最后再吐槽下,ME 2015实在太卡了 : [
调试中,死机N次是再正常不过的事!有个心理准备吧。

先看暴破后的成果,绕过了注册码的验证机制、激活验证机制

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第1张图片

分析注册验证机制

由于有了上篇的环境,我们可以“任意”的玩小范围内的调试。

其实不是任意,因为My Eclipse 2015同时采用了数字签名技术,不过这个可以绕过或者...你懂的.

看看动态调试能够给我们带来什么?以及为什么我们要先去除其软件完整性验证:

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第2张图片

这里,混淆神马的都是浮云,^^。

这次,我们依然利用如下的调用栈推测:

   main 
   -> start
   -> ..
   -> dialogLicenseInfo("骚年,你的注册码不对哟!")
   

然后利用我们的检索环境,进行检索,定位到关键代码段,抽出这部分代码,做进我们的动态调试环境中,接着回溯和查找周围信息吧。

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第3张图片

至于具体的分析过程,不是重点,关键是方法: ]有兴趣的同学可以自行分析。

看看关键验证部分之一

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第4张图片

关键验证部分之二:

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第5张图片

好了,天机不可泄露,就说这么多: ]

务必十分熟悉软件的验证保护后,再做代码补丁,否则,各种遗漏会让你的逆向过程成本大增。


同时,对你的补丁代码要多做测试哦!

去除注册验证

好了,到这里,各种分析结果在手,要做的事情,不用我再细说了吧?
呵呵,赶紧写好patch,打上补丁,测试下效果吧。

贴一些patch的图:

  • ViperCore:

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第6张图片

  • ProductRegistar

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第7张图片

  • GSDCController:

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第8张图片

你看到了,这里只列出一部分注册验证的代码,搞到这里,你就明白为啥前文说对My Eclipse 2015进行暴力破解,比推出注册算法还复杂了。

类多不爱啊!!!!!!!!!!!!!!!

分析激活验证机制

ME 2015在输入注册码后,还有个激活的过程。
我们来看看激活的部分:

  • Connection

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第9张图片

  • Manual Activation(手动激活)

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第10张图片

  • Need Activation (是否需要激活呢)

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第11张图片

好了,这一步和上面分析注册验证部分类似,耐心分析、多调试、多记录,确保已经理解激活验证的步骤,全面掌握了激活验证的点。

去除激活验证及联网验证

了解了激活验证和联网验证的机制后,我们开始去除,这一步和注册验证去除的步骤一致,不再赘述。

补丁:

  • Activator

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第12张图片

  • Licence Expired(注册码是否过期)

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第13张图片

打补丁:

  • 配置:

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第14张图片

  • 执行:

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第15张图片

  • 输出:

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第16张图片

结语

本篇,我们对MyEclipse 2015的注册机制和激活机制进行了分析,并且采用暴力方式去除其限制,效果如下:

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)_第17张图片

你在文中也看到,这样的方式,侵入感太强,而且ME的验证几乎遍地开花,稍不注意就会遗漏,导致破解失败,那么如何实现相对简单、优雅的破解呢?

在下篇,我们对以下两个问题进行研究,

  • 注册码算法
  • 激活码算法

以期在不修改其验证机制的前提下,成为ME 2015的"合法"授权用户。

撰文不易,若觉得本文对你有益,留个言,点个推荐吧 : ]

你可能感兴趣的:(【MyEclipse 2015】 逆向破解实录系列【2】(纯研究))