声明

  • 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次是再正常不过的事!有个心理准备吧。

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


分析注册验证机制

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

其实不是任意,因为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的"合法"授权用户。

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

【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)的更多相关文章

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

    声明 My Eclipse 2015 程序版权为Genuitec, L.L.C所有. My Eclipse 2015 的注册码.激活码等授权为Genuitec, L.L.C及其付费用户所有. 本文只从 ...

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

    声明 My Eclipse 2015 程序版权为Genuitec, L.L.C所有. My Eclipse 2015 的注册码.激活码等授权为Genuitec, L.L.C及其付费用户所有. 本文只从 ...

  3. myeclipse 2015 myeclipse2010破解共存

    1.高版本选择bling版本,低版本选择profession版本2.用高版本的公钥替换低版本的公钥3.先破解低版本的后破解高版本的4.最后用高版本的替换低版本的文件

  4. MyEclipse 2015 Stable 2.0安装包及破解工具下载

    MyEclipse 2015 Stable 2.0安装包及破解文件下载 之前一直在用myeclipse10.7,后来发现10.7版本有点老了,所以就换了2015稳定版的myeclipse,里面附带了破 ...

  5. Myeclipse 2015 stable 2.0 完美破解方法

    2015-08-21  以前写了一篇<Myeclipse 2015 stable 1.0 完美破解方法>,现 在跟新一下Myeclipse 2015 stable 2.0 破解方法,此方法 ...

  6. Myeclipse 2015 stable 1.0 完美破解方法(转自 http://yangl.net/2015/07/14/myeclipse_2015stable_1/)

    Myeclipse 2015 stable 1.0 完美破解方法 http://yangl.net/2015/07/14/myeclipse_2015stable_1/ 破解包(注册机)下载地址:链接 ...

  7. MyEclipse 2015 Stable 1.0下载安装破解日志

    前言 这2天下载了许多myeclipse版本,基本上是14/15版本的,各种破解均告以失败,这次下载了贴吧一个吧友提供的版本,现已破解.破解结果现不好说--目前已装SVN,根据经验,只有等待一定时间验 ...

  8. java ee@ Myeclipse 2015 stable 1.0 完美破解方法

    Myeclipse 2015 stable 1.0 完美破解方法 破解步骤: 使用以前的注册机算号,版本选择Blue即可,后续可解锁Spring高级功能,即Bling的所有功能全部具备 1.1 进入m ...

  9. MyEclipse 2015 Stable 2.0破解方法

    本篇博文简单介绍一下利用网上说明的方法破解MyEclipse 2015 Stable 2.0的具体细节.因为原来在贴吧上的方法不够详细,所以本人重新整理了一下.方法源自:http://tieba.ba ...

随机推荐

  1. Asp.Net实现WebApi跨域 (非MVC)

    目前WebApi在使用上大部分都是跟MVC组合的,而且使用起来也确实十分便利. 但有时候我们也需要在WebForm中使用WebApi,二者还是有一定区别的. 首先看下结构  ①ApiControlle ...

  2. Python语言100例

    Python版本:python 3.2.2 电脑系统:win7旗舰 实例来源:python菜鸟教程100例 #!/usr/bin/python # -*- coding: UTF-8 -*- impo ...

  3. 10个值得深思的PHP面试问题

    本文所罗列的问题虽然看似简单,但是每个背后都涵盖了一个或几个大家容易忽视的基础知识点,希望能够帮助到你的面试和平时工作. Q1 第一个问题关于弱类型 $str1 = 'yabadabadoo'; $s ...

  4. POJ 1269 Intersecting Lines【判断直线相交】

    题意:给两条直线,判断相交,重合或者平行 思路:判断重合可以用叉积,平行用斜率,其他情况即为相交. 求交点: 这里也用到叉积的原理.假设交点为p0(x0,y0).则有: (p1-p0)X(p2-p0) ...

  5. uGUI VS NGUI

    前言 这篇日志的比较是根据自己掌握知识所写的,请各路大神多多指教. 引擎版本: Unity 4.6 beta 两者区别 1.uGUI的Canvas 有世界坐标和屏幕坐标 2.uGUI的Button属性 ...

  6. QTP基础学习(二)启动与设置

    1.启动QTP选择要求的Add-in 默认带有3个Add-in,之后可以安装其他的Add-in,如.net的Add-in 2.设置QTP的选项 点击Tools-Options,弹出如下框: 3.建立记 ...

  7. Windows Phone:自定义字体在xaml和代码中使用

    最近,我的小应用<认字>更新了一个能发声的版本,朋友对Speech做读音没有兴趣,反而对其中使用的楷体文字表示了兴趣,也许Speech的文章比较多,这次我对这个自定义字体在xaml和代码中 ...

  8. [转]php 解决json_encode中文UNICODE转码问题

    FROM : http://blog.csdn.net/bjash/article/details/9834497 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, ...

  9. C#属性: 利用set实现递归

    直接帖代码: public class Bird { int xdata; /// <summary> /// 属性的简洁写法,等同于下面的xData方式 /// </summary ...

  10. Uploadify v3.2.1 属性、事件、方法说明

    一.属性 属性名称 默认值 说明 auto true 设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 . buttonClass " 按钮样式 buttonCur ...