修改JAR文件工具

简介: 本文介绍了一款名为JarEditor的IDEA插件,该插件允许用户直接对JAR包内的文件进行增删改查操作,无需先行解压。通过简单的安装与使用步骤,大大简化了传统上需要解压缩、反编译、重新编译及打包的过程。此外,JarEditor还支持对混淆过的JAR文件进行字节码级别的修改,并提供了强大的搜索功能,支持大小写、全词匹配和正则表达式搜索。对于开发者而言,这款插件无疑极大提高了处理JAR文件的效率和便捷性。

背景

在开发中我们有时会遇到这样的场景,需要修改jar包内某个class,常见的方法就是先解压缩,然后反编译这个class,新建java修改再编译,最后再打包,整个过程是非常耗时的。
这里向大家介绍一款IDEA插件:JarEditor,可以一键修改JAR包内文件,无需解压。

插件安装

首先在插件商城搜索 JarEditor,可直接安装插件

JarEditor_install.png

插件使用

安装完后,任意打开一个jar的class,可以看到反编译后的class内容,选中Jar Editor的tab页签,修改完代码后先点击 Save,这个过程会编译class,编译成功后点击Build Jar就修改jar完成了,就可以直接编辑class了,下面是一个例子:
JarEditor_demo.gif

修改配置和资源文件不要勾选Compile,其他步骤相同。

在JAR文件上右键,可对JAR内文件进行增/删/改/查/复制/粘贴
JarEditor_new_delete.png

搜索功能支持JAR内搜索和全局搜索,支持大小写、全词匹配和正则表达式。
JarEditor_search.png

针对混淆的JAR,也可以通过字节码修改工具直接修改class,而不是普通的编译方式。
比如可以用Javassist,进行字段和方法的增删改。
JarEditor_javassist.png

也可用VisualClassBytes(基于ASM和BCEL的字节码编辑器),可修改类信息、常量池、字段、内部类,以及方法的基本信息、字节码指令、本地变量表、行号表和异常表等。
vcb_main.png

附:修改外部jar

File->Project Structure->Libraries,然后添加工程外的jar即可打开jar内文件修改。

也可以在JAR文件上右键->Add as Libraries.

总结

本文主要介绍了使用JarEditor直接对jar包文件进行增删改查操作,简化了修改jar的流程,感兴趣的朋友可以去试试。

本文篇幅有限,具体原理和实现细节可阅读源码

源码:https://github.com/Liubsyy/JarEditor

目录
相关文章
|
2月前
|
Java API 数据安全/隐私保护
手机无人直播手机用啥软件,抖音快手无人直播工具,jar代码分享
这个无人直播系统包含视频处理、直播推流和自动化控制三个核心模块。使用mvn package命
|
2月前
|
Java 数据安全/隐私保护
阿里旺旺群发器,淘宝阿里旺旺私信群发工具,卖家自动发私信脚本【jar源码】
这段代码实现了一个模拟的阿里旺旺群发工具框架,包含核心发送功能、配置管理和联系人管理模块
|
3月前
|
Java API
wxid添加微信好友工具,免费微信wxid转换器二维码,jar实现仅供学习参考
本项目实现微信ID与wxid的转换及二维码生成功能,核心逻辑基于ZXing库完成QR编码,支持文件批量导入导出。
|
3月前
|
编解码 自然语言处理 Java
安卓改机工具免root,一键过设备检测,串号SN码【jar即可实现】
本项目通过Hook系统API实现设备信息的拦截与修改,主要功能包括动态更改IMEI/SN等设备标识。核心技术基于Xposed框架(免Root可用VirtualXposed)
|
3月前
|
存储 数据采集 Java
QQ附近人采集工具,可提取附近人同地区用户,jar实现具体的开发效果【仅供学习参考】
本项目为QQ附近人数据采集工具,含四个核心模块:主采集程序使用多线程请求API,坐标生成器创建采集点网格覆盖目标区域,用户数据以自定义结构存储,导出模块利用Apache POI实现实时Excel写入。
|
6月前
|
Java
课时103:生成jar文件
本文介绍了Java中生成和使用JAR文件的基本概念与操作。JAR文件用于将多个类文件打包成一个压缩文件,便于管理和分发。通过JDK提供的`jar`命令可以创建JAR文件,并可通过设置CLASSPATH环境变量来配置和使用这些文件。文中还演示了如何定义、编译和打包一个简单的Java程序为JAR文件,并详细解释了JAR文件的结构及配置方法。此外,简要提及了JDK 1.9后引入的模块化系统对JAR文件的影响。
158 1
|
Java 数据库 数据安全/隐私保护
Java操作Excel文件导入导出【内含有 jxl.jar 】
Java操作Excel文件导入导出【内含有 jxl.jar 】
142 0
|
11月前
|
Java Windows
如何在windows上运行jar包/JAR文件 如何在cmd上运行 jar包 保姆级教程 超详细
本文提供了一个详细的教程,解释了如何在Windows操作系统的命令提示符(cmd)中运行JAR文件。
4969 1
|
Java Maven 容器
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
使用IntelliJ IDEA的Artifacts功能,可以将项目依赖的第三方jar包打包进jar文件中,实现双击jar包即可直接运行。
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
|
XML 运维 Java
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
160 1