Jrebel For Android 破解过程
2016-07-11 14:50
671 查看
JrebelForAndroid需要破解两个jar包jr-android.jar和jr-android-ide-studio.jar每个jar包中需要处理的class每个版本不同我这里以1.1.8版为例演示破解过程jr-android.jar中需要破解的文件为com/zeroturnaround/jrebel/android/b.classa方法
publicstaticbooleana(UserLicenseparamUserLicense,kmparamkm){if(paramkm.product==null){thrownewLicenseException("<spanstyle="color:#FF6666;">Missingproductname</span>.");}paramkm=(paramkm=kl.getByName(paramkm.product)).a();paramkm=paramkm;paramUserLicense=paramUserLicense;ObjectlocalObject=newBouncyCastleProvider();(localObject=Signature.getInstance("SHA1withRSA",(Provider)localObject)).initVerify(paramkm);((Signature)localObject).update(paramUserLicense.getLicense());return((Signature)localObject).verify(paramUserLicense.getSignature());}修改为publicstaticbooleana(UserLicenseparamUserLicense,kmparamkm){returntrue;}参数中kmparamkm每个版本都会不同,定位该方法位置为返回值为boolean,方法名为a,第一个参数类型为UserLicensejr-android-ide-studio.jar中需要破解的文件为com/zeroturnaround/jrebel/android/dB.classa方法publicstaticbooleana(UserLicenseparamUserLicense,PublicKeyparamPublicKey)throwsException{BouncyCastleProviderlocalBouncyCastleProvider=newBouncyCastleProvider();SignaturelocalSignature=Signature.getInstance("SHA1withRSA",localBouncyCastleProvider);localSignature.initVerify(paramPublicKey);localSignature.update(paramUserLicense.getLicense());returnlocalSignature.verify(paramUserLicense.getSignature());}修改为publicstaticbooleana(UserLicenseparamUserLicense,PublicKeyparamPublicKey){returntrue;}定位改方法位置为返回值boolean,方法名为a,第一个参数类型为UserLicense,第二个参数类型为PublicKey实际中可以写成一个破解工具出来进行破解,我这里已经写了一个出来,不打算放出来,避免zeroturnaround公司修改算法,也请写出来了破解工具的同学不要放出来
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories