插件图1.png (79.16 KB, 下载次数: 0)
下载附件
2023-4-21 18:06 上传
功能如下:
插件图2.png (138.09 KB, 下载次数: 0)
下载附件
2023-4-21 18:07 上传
我们通过idea自带的插件 市场安装:
可以看到它是收费的。
插件图3.png (20.39 KB, 下载次数: 0)
下载附件
2023-4-21 18:12 上传
根据官方开发文档:
文档1.png (143.48 KB, 下载次数: 0)
下载附件
2023-4-21 18:19 上传
我们知道,要开发这个收费的插件,需要用到:product-descriptor 这个属性。
属性介绍:
[backcolor=rgba(25, 25, 28, 0.05)]code:JetBrains 销售系统中使用的插件产品代码。代码必须提前和JetBrains约定好,按照要求来。
[backcolor=rgba(25, 25, 28, 0.05)]release-date:格式中主要版本发布的日期YYYYMMDD
[backcolor=rgba(25, 25, 28, 0.05)]release-version:特殊数字格式的主要版本
=============
首先,我们先搞定他的收费,不然都进不了idea页面。
会出现这个界面:
插件图4.png (50.97 KB, 下载次数: 0)
下载附件
2023-4-21 18:14 上传
打开安装目录:
C:\Users\XXX\AppData\Roaming\JetBrains\IntelliJIdea2023.1\plugins\Restful Fast Request\lib
找到这个程序包:instrumented-restful-fast-request-pro-2023.1.3.2.jar
找到插件文件:
instrumented-restful-fast-request-pro-2023.1.3.2.jar\META-INF\plugin.xml
删除
代码1.png (27.87 KB, 下载次数: 0)
下载附件
2023-4-21 18:22 上传
我们重新打开idea ,发现已经去掉了收费标识,,我们需要启用后重启
插件图5.png (14.74 KB, 下载次数: 0)
下载附件
2023-4-21 18:25 上传
启用后如下,发现菜单已经出来了:
插件图6.png (178.55 KB, 下载次数: 0)
下载附件
2023-4-21 18:27 上传
右下角会弹激活的窗口:
激活.png (16.34 KB, 下载次数: 0)
下载附件
2023-4-21 18:28 上传
关键字:请先激活插件
打开包发现插件做了国家化,直接搜索关键字即可:
插件图7.png (101.47 KB, 下载次数: 0)
下载附件
2023-4-21 18:30 上传
解压文件fr_zh_CN.properties到本地,搜索:请先激活插件
发现:ActivatePluginNeed=请先激活插件
发现如下代码调用:
插件图8.png (152.61 KB, 下载次数: 0)
下载附件
2023-4-21 18:33 上传
成立条件:l11Il1III1111.l111I1llllI()
这个返回true
插件图9.png (58.54 KB, 下载次数: 0)
下载附件
2023-4-21 18:34 上传
知道了问题所在,处理方法就是
[color=]让这个方法返回true
代码如下:
[Asm] 纯文本查看 复制代码 public static void hookmethod() {
ctclass driverclass = classpool.getdefault().get("io.github.kings1990.plugin.fastrequest.cofig.l11Il1III1111");
ctmethod[] declaredmethods = driverclass.getdeclaredmethods();
ctmethod hookmethod = null;
for (ctmethod declaredmethod : declaredmethods) {
string name = declaredmethod.getname();
if (name.equals("l111I1llllI")) {
hookmethod = declaredmethod;
break;
}
}
if (hookmethod != null) {
system.out.println(hookmethod.getdeclaringclass());
hookmethod.setbody("return false;");
}
driverclass.writefile("writefile");
}
执行完之后,会生成如下文件:
插件图10.png (23.12 KB, 下载次数: 0)
下载附件
2023-4-21 18:39 上传
替换包里面原本的class文件即可。
插件图11.png (218.1 KB, 下载次数: 0)
下载附件
2023-4-21 18:43 上传
功能正常,可以请求。
完结,撒花!!