如何修改idea插件 stackoverflow的源码:直接修改class文件

我们知道,idea的插件,大多数是 java开发的。本教程仅限 java开发的idea插件

修复后,下载直接使用 : https://download.csdn.net/download/w1047667241/16545710

1) 去官网下载插件的离线版本,比如 我们今天要修改这个插件的功能 stackoverflow ,https://plugins.jetbrains.com/plugin/9513-stackoverflow/versions 

2) 这个stackoverflow插件,源码很简单,如下:

3)修改后的效果 (这个图是 用JD-GUI打开class文件的效果)

 

使用到的工具 JBE 

JBE的使用 ,直接修改class ,简易使用教程如下 :

1)下载后,解压,打开 jbe.bat

2)找到你想修改的 class文件,打开它

3)开始修改,随时保存

继续修改 以下2行:

最后点击 save method 保存你的修改,然后关闭JBE即可

4)重新压缩 为zip 包,拖拽进 idea,然后 在plugins里面启用该插件,重启后生效。

5)全教程完毕,愉快的使用吧!

6) 思维扩展:依次类推,我们可以将site 改为 weixin的搜索引擎,或者 csdn的搜索引擎,编译自己的插件了,只需要更改第一行的url 即可  

参考大神的文章: https://lucumt.info/post/modify-java-class-file-content-directly/

另外一篇入门的:https://blog.csdn.net/fyyyr/article/details/102380429

JBE - Java Bytecode Editor

Apache Commons BCEL™ – 主页

修改jar包中的class文件_修改jar 中class文件-CSDN博客

需求及准备

需求

现在有一个.jar文件,要修改其中某个文件的代码。

准备

  • 确保JRE已安装且环境变量已配置。

  • 安装Java Decompiler。官方地址为:

    http://java-decompiler.github.io/

    选择其中的JD-GUI进行下载。

  • 安装winrar。

提取class内容并修改

打开JD-GUI,将.jar拖进来。JD-GUI会将jar包反编译为java源码。
在JD-GUI中可以看到反编译源码,但不能直接修改。找到要修改的文件,复制。
创建一个与.class同名的空白.java文件(为了后续生成.class不冲突,建议放在一个单独目录下),将复制的内容粘贴到该文件中。对其代码进行修改。

编译

打开CMD,定位到上面创建的.java所在目录下,输入:

javac xxx.java

编译后,会生成同名的.class文件。
注意此方式只能编译不依赖其他模块的.java文件。对于依赖其他模块的,需要分析并定位.class的虚拟机代码后,创建java工程引入jclasslib修改。可以参考修改jar中的class:杀戮尖塔修改教程

替换jar中class文件

替换jar中class有两种方式:

  1. 借助rar直接替换。
  2. 解压jar为文件夹,替换class后重新打包为jar。

借助winrar直接替换

使用winrar直接打开.jar文件,进入指定目录后,将刚才编译生成的class直接拖进来替换即可。

解压jar为文件夹,替换class后重新打包为jar

使用winrar将.jar文件解压为文件夹,然后替换class。
设该文件夹名称为xxx。打开CMD并定位到该文件夹所在目录下,输入:

jar cvfm xxx.jar xxx\META-INF\MANIFEST.MF -C xxx /

其含义为:使用xxx\META-INF\MANIFEST.MF作为配置文件,并调用-C切换路径为xxx文件夹下。然后打包出.jar文件。
注意-C xxx /最后的文件夹名称xxx与/之间有个空格,不可省略。

 

posted @ 2025-01-17 09:38  CharyGao  阅读(136)  评论(0)    收藏  举报