idea反编译jar包与修改jar包的简单方法

一、使用场景

当需要修改某个jar包中的某个文件中的某段代码时,可以使用本方法。

例如:优化jar包中的代码逻辑、新增jar包的代码逻辑、修改jar包中的加解密与校验方法等。

 

二、特点

仅对某个jar包的某个文件的某段代码进行了修改,不影响jar包其它功能的正常使用。

只需要jar包就能完成修改,不需要源代码。

 

三、使用方法

1.使用IntelliJ IDEA打开某个项目,点击左侧栏下的External Libraries,找到准备修改的jar包,例如abc.jar。(maven项目)

2.继续点击abc.jar左侧的下拉三角,找到准备修改的class文件,例如Main.class,双击打开,之后左侧就会显示出idea反编译后的java代码。(也许这个功能需要插件,记不清了,如果需要可以百度。)

3.就在本项目中,最好是src/test/java下,创建文件夹,按照Main.class的package内容创建;例如"package com.apache.common;"

就创建com/apache/common这样的文件夹。

(在本项目中可以省去配置依赖maven的步骤,因为已经配好了;在test下是因为目录结构比较清晰,好找)

4.在刚创建的文件夹下,创建java文件,与准备修改的class文件同名,例如Main.java

5.将class文件中的内容按ctrl+A全选,复制-粘贴到新创建的java文件中,例如Main.class->Main.java

*因为在同一个项目中,package也相同,所以什么也不用修改,也不会出现import语句报错的情况。

6.之后,根据需要修改Main.java文件的代码即可。

7.修改完成后,右击Main.java,选择Recompile 'Main.java',就可以将Main.java编译成class文件;

可以在target/test-classes/下找到Main.class文件。

接着准备把这个class文件替换进jar包中。

8.打开IDEA的settings,搜索maven,可以看到Local repository中配置的地址,这个地址中有目标jar包。(或者拿Everything搜索更快,一个搜索软件)

9.打开我的电脑,找到目标jar包,路径例如:C:\Users\myuser\.m2\repository\com\apahce\abc\1.0\abc.jar

10.使用winRAR打开abc.jar,找到Main.class所在的位置;然后复制刚才在test路径下修改好后的Main.class,粘贴进abc.jar中替换掉旧class即可。

(保险起见可以先备份一下abc.jar,恢复用)

11.启动项目,项目会用到刚才修改后的abc.jar;再次打开左侧栏下的External Libraries,找到abc.jar中的Main.class,双击打开,就可以发现修改成功了。

 

四、后记

本文用于解决之前的文章中反编译jar包的问题:

https://blog.csdn.net/BHSZZY/article/details/115326544

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追逐梦想永不停

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值