在上量两博文中,我们成功突破了My Eclipse 2015的3个主要保护机制:
实现了暴力破解,其实已经可以不用再管神马算法了。
参见: 【MyEclipse 2015】 逆向破解实录系列【1】(纯研究)
参见: 【MyEclipse 2015】 逆向破解实录系列【2】(纯研究)
但是,上篇博文有提到,暴力破解的方式太过于侵入,而且容易遗漏,不易操作,特别对于ME这款软件,验证点奇多无比,所以,暴力破解相对来说过于”丑陋“。
本篇将展开对My Eclipse 2015的注册码算法、激活码算法研究,以期能够算出正确的注册码和激活码,并通过ME的联网激活,成为其"合法"授权用户。
成果如下:
ok,让我们开始分析注册码算法,经过分析,从下面这个类入手:
可以看到,这个混淆效果要比CLion的混淆效果好的多,并且这个类所在的包的数字签名,让你很难通过常规手段进行替换调试。
比如下面的错误:
这里我们有两个办法:
这里,根据实际情况,我们不需要完全去除数字签名,算法相关的类比较少,我们可以在较低的时间成本下采用模拟的方式来推算法。
先看看,这个类里面的几个重要的点:
ok,根据分析,我们找到了注册码的一些关键算法,其中有几个解码的算法也要关注:
细碎的活儿应该怎么干?
一边静态分析,一边抽代码到我们的模拟环境中,然后调试,记录,测试,修改。
可以看到我们的模拟算法逐渐成型:
测试一下:
阶段性战果:
到这里,我们已经追出了 注册码 ,My Eclipse 2015还有个 激活 的步骤。来看看:
可以看到,不找出正确的激活码是不行的,那我们开始吧!
值得注意的是,这里取得激活机器信息,使用了JNI,要确定这几个本地库能被检索到:
其中windows使用dll,分32/64位的;unix-like使用so,同样分32/64位。
到这里,我们离激活码一步之遥,坚持就是胜利:
上图可以看出,我们还有个 rsa加密/解密没有搞定
,那么追追看吧。
既然是rsa,那么找找它的key吧,私钥是不大可能找到了,所以我们利用如下思路来搞:
那么,亲,它的公钥在哪里呢?
上图,告诉了我们两个信息:
胜利的曙光就在前面,让我们最后检验下队伍吧:
开始准备打补丁了,先使用 finder
找出它的公钥:
patch it!
看下阶段性成果吧!
看来,功夫没有白费,激活码的验证通过了呢^^.
本篇,我们追出了My Eclipse 2015的注册码算法和激活码算法。
至此,MyEclipse 2015 逆向破解研究系列终结。
贴图纪念下吧:
撰文不易,若觉得本文对你有益,留个言,点个推荐吧 : ]