Jar包反编译后修改源码再编译

Jar包反编译后修改源码再编译

1. 场景

需要对当前的jar包功能进行修改,但是没有源码,两种方式:

    1. 通过反编译软件如JD-GUI或其他Java开发常用的IDE如IDEA查看源代码,创建新工程,按照文件结构逐个将文件源码复制粘贴到工程中,再根据个人需求进行修改、编译等。
    1. 通过反编译软件JD-GUI直接保存成源码格式的工程文件,再通过IDEA打开工程,进行必要的配置后,再根据需求进行修改编译。

很明显第一种方式比较费时,选用第二种方式。

2. 详细步骤

2.1 查看源码

如果仅仅是查看源代码的话,有两种方式:

方式一:

直接通过jd-gui打开jar文件即可。

方式二:

通过IDEAExternal Libraries查看。在IDEA中通过Project Structure将需要查看的jar包添加到Libraries,之后就可以查看了。

2021-10-10_142558.png

2021-10-10_143215.png

扫描二维码关注公众号,回复: 14829358 查看本文章

第二种方式虽然稍微麻烦一点,但如果只是查看源码的话,个人更倾向第二种。

2.2 生成源文件

借助jd-gui可以直接生成**.java**源文件。通过菜单File -> Save All Sources就可以生成源文件压缩包。

2021-10-10_144128.png

注:查看生成的源码文件中有一些多余的注释,如行号及一些元数据信息,可以通过修改jd-gui的偏好设置重新生成。

2021-10-10_144058.png

2.3 构建项目

  1. 通过IDEA直接打开源文件;

    2021-10-10_144538.png

  2. 创建src目录,将源文件方法到src下,根据报错信息,修改工程的外部引用;

2.4 编译成jar包

2021-10-11_095113.png

两种类型可以选择:Empty可以不设置主类,适用于编译没有主类的jar包;

2021-10-11_095449.png

3. 参考链接

猜你喜欢

转载自blog.csdn.net/wml00000/article/details/120809211