niwajiang 发表于 2023-3-15 20:07

修改MyBatisCodeHelperpro插件的有效期

> MyBatisCodeHelperpro 是一款 IntelliJ IDEA 上生成mybatis模版文件的插件。
>这里分析下怎么无限使用的思路仅供参考。其实很多客户端软件都可以参考该思路
>分析该插件工作原理:       
>1. 提交激活码到服务端
>2. 服务端验证返回验证信息(是加密信息)
>3. 本地解密信息,将解析后的json解析为实体类
>4. 判断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 查看结果,又可以使用到退休了。


天堂的风 发表于 2023-10-18 11:05

本帖最后由 天堂的风 于 2023-10-18 15:45 编辑

发个3.2.5版本的在线激活,分包压缩的两个一起下载解压,替换jar包后打开idea在线激活输入任意字符即可激活

天堂的风 发表于 2023-10-18 15:54

本帖最后由 天堂的风 于 2023-10-18 15:55 编辑

发个3.2.5版本的离线激活,分包压缩的两个一起下载解压,替换jar包后打开idea离线激活输入:
{
    "paidKey": "88888888-8888-8888-8888-888888888888",
    "valid": true,
    "userMac": "唯一码",
    "validTo": 4100688000000
}
userMac必须是离线激活中的唯一码,否则会提示‘激活码错误, 激活码为’,paidKey可以自定义,离线激活版不能在线激活

Taker369 发表于 2023-3-16 23:46

空心梦 发表于 2023-3-16 23:39
大佬怎么弄的,我改完还是未激活

你得看具体的报错日志是什么原因, 可能和我遇到的情况不一样; 我是因为压缩工具替换文件的原因导致的NoClassDefFoundError; 实在不行,你直接拿我改好的吧   
链接:https://pan.baidu.com/s/1MiSE9aFQzCJfnAntKHbOwQ
提取码:al8c

wyakuan 发表于 2023-9-13 03:47

心绪留香 发表于 2023-8-28 21:17
也不行,我用的电脑不能联网的,公司电脑不给联网,我上网找了2.8.3的,破解激活了,虽然版本旧了点,总 ...

你现在个人电脑进行在线激活,激活后会在【C:\Users\你用户名\.config】生成一个mybatisCodeHelperPro.data文件,然后把.config备份,复制到公司电脑,再打开应该直接显示激活了把,你可以试试

随便去取 发表于 2023-3-16 13:29

wyakuan 发表于 2024-8-2 01:50

本帖最后由 wyakuan 于 2024-8-2 23:48 编辑

SnowOfficial 发表于 2024-8-1 20:03
新版好难弄
一样的,206楼我发了最新版3.3.4+2321了

秋天 发表于 2023-3-16 11:53

感谢大佬的分享哈。

leiyipeng008 发表于 2023-3-16 12:15

谢谢,学习了!

Isabellaa 发表于 2023-3-16 12:34

感谢大佬

ameiz 发表于 2023-3-16 12:45

感谢大佬的分享哈。

naw 发表于 2023-3-16 12:48

感谢分享

随便去取 发表于 2023-3-16 13:31

北辰歌者I 发表于 2023-3-16 13:44

试试看好不好用

niwajiang 发表于 2023-3-16 13:57

随便去取 发表于 2023-3-16 13:31
PyCharm 2022.3.3

是插件的压缩包里
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 修改MyBatisCodeHelperpro插件的有效期