MyBatisCodeHelperpro 是一款 IntelliJ IDEA 上生成mybatis模版文件的插件。这里分析下怎么无限使用的思路仅供参考。其实很多客户端软件都可以参考该思路
分析该插件工作原理:
- 提交激活码到服务端
- 服务端验证返回验证信息(是加密信息)
- 本地解密信息,将解析后的json解析为实体类
- 判断json解析的实体类的字段过期时间
处理思路:修改最后实体类代码,直接跳过服务端返回的有效时间。
修改设置(setXXX),获取(getXXX)方法。不使用解析后的json字段设置,固定为一个无限长的时间达到破解的结果。
反编译jar包
该插件核心jar包为MyBatisCodeHelper-Pro-obfuss.jar,这是一个混淆后的jar包,所以需要借助CRF工具。
java -jar cfr-1.5.jar MyBatisCodeHelper-Pro-obfuss.jar --renamedupmembers true --hideutf false >> a.txt
关于 CRF的使用就不多描述了,可以在这里查看其使用说明:
cfr GitHub地址:https://github.com/leibnitz27/cfr
官网地址:https://www.benf.org/other/cfr
查看反编译结果
如图a.txt为反编译的结果,jar包中所有的类都在该文件中。打开该文件,根据抓包获取到的字段信息,查到目标类为
com.ccnode.codegenerator.S.a.b.class
即我们要修改的方法为
public Long e() {
return this.d;
}
public void a(Long l2) {
this.d = l2;
}
生成需要的class文件
这里借助javassist生成修改后的class文件,这里仅贴出部分代码。
// 修改 get方法
StringBuilder builder = new StringBuilder();
builder.append("{")
.append(" return new Long(4797976044000L);")
.append("}");
getValidToMethod.setBody(builder.toString());
// 修改set方法
StringBuilder builder1 = new StringBuilder();
builder1.append("{")
.append(" this.e = new Long(4797976044000L);")
.append("}");
setValidToMethod.setBody(builder1.toString());
String getValidMethodBuilder = "{" +
" return Boolean.TRUE;" +
"}";
getValidMethod.setBody(getValidMethodBuilder);
// 修改boolean属性
String setValidMethodBuilder = "{" +
"this.b=Boolean.TRUE;" +
"}";
setValidMethod.setBody(setValidMethodBuilder);
使用修改后的class文件替换jar包中对应的class文件
打开 IntelliJ IDEA 查看结果,又可以使用到退休了。
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站日常活跃所需,积分可通过日常活跃免费获得!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励,同时还能获得对应的人气!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:http://www.yonghengzy.cn/blog/33533.html,转载请注明出处。
评论0