破解JRebel4.0.3手记(插件版独立版都一样)

      据说JRebel是一款JVM插件,可以实现class热加载,减少重部署次数,极大提高开发效率。昨天下了一个最新版本,带30天试用的license,用神器jd-gui.exe分析了一下,发现可以破解,遂破之。

      现在分享一下攻克的要点:

1.com.zeroturnaround.licensing.UserLicense:这个类implements Serializable,实际上jrebel.lic文件

就是它序列化的结果。所以我们自己同样可以依照它生产自己的lic文件,修改license参数即可,比如时间,限制等。

但是这个class有一个public byte[] getSignature()方法,是获取签名信息的,我们可以查找哪些地方调用了这个

方法,再来进一步处理。

 

2.com.zeroturnaround.javarebel.pS:很幸运找到这个类中有两个返回值为boolean的方法调用了签名的验证,

所以直接上ASM或javassist修改ByteCode,在方法开头插入 if(true) return true; 即可。

 

PS:JRebel是一款商业软件,这里就不直接上破解后的jar了,因为太简单了,其强度还比不上国内某些作品,只是

说明一下jrebel-4.0.3-standalone版的jar包是没签名的,处理起来方便,eclipse的plugin版的所有jar包都是

签名的,需要剔除掉这些签名信息,有点麻烦。

你可能感兴趣的:(java,eclipse,jrebel)