2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Java【付诸实践 04】Jar包class文件反编译 修改 重新编译打包方法(含反编译工具jd

Java【付诸实践 04】Jar包class文件反编译 修改 重新编译打包方法(含反编译工具jd

时间:2022-12-08 09:00:17

相关推荐

Java【付诸实践 04】Jar包class文件反编译 修改 重新编译打包方法(含反编译工具jd

替换已打包文件内的配置文件在部署项目的时候是比较常见的,有时也会遇到需要修改类文件的情况,可以修改源码进行重新打包,在条件不允许或修改很少的情况下,进行class文件替换也是可行的。

我们需要使用反编译工具 jd-gui-windows ,附上百度云资源。

链接:/s/1RX2raPDfrtPMW4NS-QlATA 提取码:idg5

1.反编译文件并修改

以spring-core-5.3.1.jar为例,File->Save 即可将其保存为.java文件,此时可进行修改。

2.重新编译修改过的.java文件

使用编译工具 javac 对修改过的.java文件进行编译。

javac -classpath spring-core-5.3.1.jar BeanCopier.java

3.替换编译后的文件

使用压缩工具打开jar包(不是解压jar包),用编译后的.class文件归拽覆盖修改之前的.class文件即可。

需要注意的是:

jd打开的文件可能跟源码不同,所以导出的源码也可能存在错误,如果替换不成功就只能进行重新打包了。另外如果同时修改了几个文件,并且几个文件之间存在依赖关系,例如A.java 调用了B.java中的函数,如果修改了B.java中该函数的参数,则需先编译B.java并按上面的方法重新打成jar包,然后用这个新的jar作为-classpath编译A.java,否则会提示方法不对,所以替换class文件的场景以修改参数值或微小调整为主,复杂修改还是修改源码重新打包的好。

Java【付诸实践 04】Jar包class文件反编译 修改 重新编译打包方法(含反编译工具jd-gui-windows-1.6.6.zip百度云资源)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。