欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

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

来源:本站整理 作者:foreach_break 时间:2015-07-01 TAG: 我要投稿

声明

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

背景

在上两篇博文中,我们研究了逆向中的两大手段:

在本篇,将着重利用上述两种手段,来参破My Eclipse 2015的注册、激活算法及软件保护机制。

先看成果,Bling授权至2099年:

这里写图片描述

激活通过:

这里写图片描述


熟悉软件本身

因为之前并不熟悉My Eclipse,所以找了很久都找不到提示授权信息的界面在哪里,汗一个先!

逆向本身,是从无道到有道,其中的乐趣在于探索本身,而不是结果。

要逆向一个东西,得先熟悉它的布局、机理,否则逆向只能是空谈。

  • My Eclipse软件太大,光安装包就1.3G左右,而且国内是百度网盘下载,奇慢无比.
  • My Eclipse插件巨多,要找出关键的包、lib和代码片段,稍显复杂和繁琐.
  • 因为软件规格明显比CLion高出一个级别,所以其中的困难可谓重重,至少在实现动态调试上需要特殊处理.

插件巨多:

这里写图片描述

当面对的是一头大象,要战胜它,就需要忍耐,你需要观察它的一举一动,然后才能出击。

分析类加载信息

这里,用我们熟悉的verbose大法,分析类加载信息,缩小目标。
同时,搜集到的类加载信息,在后续的jar包分析中,也是频繁要来看一看,找一找的。

关于main:

这里写图片描述

关于license/licence:

这里写图片描述

一旦发现或者猜想到一些门路,就要来这里看一看,然后分析jar包中的关键类的四周信息,以充分掌握软件的特性,避免做无用功。


创建静态分析环境

分析启动信息

对My Eclipse安装目录下的*.ini进行修改,指定我们自己的java/jre/jvm,以方便使用 jinfo 等工具.

这里写图片描述

查看vm options和command line args:

这里写图片描述

通过分析,从$ME_HOME/plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar入手,尝试将程序启动起来。

这里写图片描述

正如其名,真的是个launcher/loader,虽然程序启动起来了,但是要想在注册授权信息/My Eclipse Subscription Info之类的附近断掉程序,并且显示源码,这一点还是远远不够的。

打造代码检索环境

为了能够充分掌握某个关键类、方法的调用路径,以方便我们进行回溯或者探索重要信息,通常我们采用如下几种方法:

  • 反编译源代码,在关键点处充分修改,打印调用栈.
  • 利用静态AOP或者hook,插入我们的调试器.
  • 将代码当作文本处理,以利用sed/grep/less等工具,以及文件索引能力,方便大批量的进行关键代码搜索.
  • 直接用调试器附加目标进程,要显示源码的话,往往需要我们加-g以产生调试信息,这一点在My Eclipse的保护机制下受到限制,但这也是我们需要突破的地方.
  • 利用IDE提供的查找使用/正向依赖/反向依赖分析技术.
  • 利用dump,将关键代码段或者类信息从目标进程中dump出来并还原为源代码.

总之,灵活结合上述几种手段,目的是为了充分在My Eclipse这头大象身上辗转腾挪,取我所需.

解压缩jar包,并将class反编译为java文件

jar包是采用zip格式压缩的,所以我们也可以利用unzip来进行解压缩.

为了取得更好的反编译效果,我们这次不使用jd来做,在博主安装的Intellij IDEA的lib下,有一个fern flower的反编译工具,这也是IDEA的默认反编译器,我们就用它了,有兴趣的东西可以搜索下,貌似跟mine craft有很大渊源。

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载