文章目录
最近开始公众号文章也开始同步更新了,对Java、大数据、人工智能、开发运维相关技术分享,文章对您有用的话,辛苦您也关注下公众号,感谢!
告别繁琐反编译:IDEA中轻松反编译与修改Jar包
本文带你了解 JarEditor 插件的强大功能,它让你无语再用其他第三方工具,也无需解压 JAR 文件就能直接在IDEA中编辑其中的类和资源文件。还能用它轻松添加、删除或重命名 JAR 包里的文件。即使遇到混淆过的 JAR,JarEditor 也能通过 Javassist 工具搞定。
支持的功能
JarEditor 提供了丰富的功能,尤其是对于开发者日常操作 JAR 文件时非常有用的特性:
- 直接编辑 JAR 包内的类和资源文件:无需将 JAR 文件解压缩,支持对其中的类(
.class
文件)和资源文件直接进行编辑。 - 添加、删除或重命名 JAR 包内的文件和文件夹:简化了对 JAR 包内容的管理。
- 搜索 JAR 包的内容:通过关键字快速定位 JAR 包中的文件或类。
- JAR 内部文件的复制与粘贴:支持将 JAR 包中的文件复制到外部剪贴板,也支持从剪贴板粘贴文件到 JAR 包内。
- 支持 SpringBoot JAR:可以处理 SpringBoot 打包的 JAR 文件。
- 支持 Kotlin:除了 Java,JarEditor 也支持 Kotlin 的类和文件操作。
- 导出 source JAR:可以直接将 JAR 文件的源码导出为 source JAR。
- 字节码修改工具:通过集成的 Javassist 工具,支持直接修改
.class
文件的字节码。
下载安装
GitHub地址:https://github.com/Liubsyy/JarEditor
JetBrains Plugins地址:https://plugins.jetbrains.com/plugin/24397-jareditor
你可以通过搜索并安装 JarEditor 插件来开始使用。以下是安装完成后的界面:
编辑并构建 JAR
安装完 JarEditor 后,右键点击项目中的
.class
文件,在反编译界面可以切换到 JarEditor 的 tab 页面,方便对 JAR 文件进行编辑。
对于外部 JAR 文件,可以通过
File -> Project Structure -> Libraries -> Add Library
来添加外部 JAR,并在项目视图中对其进行反编译和编辑操作。
编辑完成后,可以点击Save(Compile)来编译并保存当前修改的类文件。完成编辑后,点击Build JAR,生成修改后的 JAR 文件。
此外,JarEditor 还支持修改 JAR 包中的资源文件(例如图片、配置文件等)。
以下是一个编辑和构建 JAR 的操作演示:
修改字节码工具
当面对经过混淆处理的 JAR 文件时,反编译效果可能不理想。在这种情况下,JarEditor 提供了字节码修改工具来直接操作
.class
文件的字节码。
点击工具栏上的 Class bytes tool 图标,选择字节码修改工具:
- Javassist:可以对类中的字段和方法进行增加、删除或修改。
以下是操作界面:
其他操作
在项目视图中,右键点击 JAR 包内的文件,可以看到JarEditor -> New/Delete等操作,支持:
- 在 JAR 包中添加文件或文件夹。
- 删除 JAR 包中的文件或文件夹。
- 重新命名 JAR 包内的文件或文件夹。
- 将文件从 JAR 包导出。
以下是操作界面:
说明
在使用 JarEditor 进行编译时,建议选择与当前 IDEA 版本匹配的 SDK 默认 JDK 版本。以下是不同版本 IDEA 对应的 JDK:
IDEA 版本JDKIDEA 2020.3 - IDEA 2022.1JDK 11IDEA 2022.2 - IDEA 2024.1JDK 17IDEA 2024.2 及更高版本JDK 21
确保选择正确的 JDK 版本,以避免编译或运行时的兼容性问题。
版权归原作者 jast_zsh 所有, 如有侵权,请联系我们删除。