关于JAVA项目中引入jar包的反编译修改问题
2017-11-07 00:00
218 查看
摘要: 反编译jar中的某一个class文件,修改完后,再编译成jar包
最近在项目中碰到了一个关于引入的jar包有时间限制,导致每个月都要去别的地方更新jar包,什么麻烦。当时,有人说要反编译下jar包,这样就可以自己修改时间。
一开始,我也在百度上查询了一些使用jude和其他第三方反编译工具的方式,这样可以反编译单个class文件,但是当你需要重新打成jar包的时候,如果class和其他class有引用的时候,很容易出现错误,加上自己水平有限,当时就放弃了。
后来,想到了JVM的classloader机制,觉得可以尝试下,结果,一不小心就成功了,心情还是很好的。
如果不知道classloader机制,建议先百度下。现在说下基本思路:
利用classloader会优先加载classes下的class文件,以达到覆盖原来的class文件的效果。同时,利用class文件,也可以直接替换jar中的class文件。
1.使用压缩文件打开需要反编译的class文件目录,把class文件拷贝到原来的项目的运行环境中。
2.使用反编译插件,查看内容,找到需要修改位置和package的路径。
3.创建和class文件中package 路径相同的java文件,文件名和class文件名相同.
4.把class文件使用反编译插件打开的内容拷贝到java文件中,同时修改需要修改的相应位置。
5.针对于web项目,这样就可以覆盖了,
6.如果是java项目或者需要把class添加到jar包中,可以到项目编译后的文件中找到目标java文件编译后的class文件,使用压缩软件打开jar,把该class文件复制到原来的class文件的位置,覆盖原来的class文件。
综上,可以成功破解jar中的class文件,这样也不会发生java文件编译出错的问题。
水平有限,文中可能存在不完善的地方。写这个博客是给遇到同样问题的人一点小小的帮助,如有其它好的建议,请留言给我。大牛勿喷!!!
最近在项目中碰到了一个关于引入的jar包有时间限制,导致每个月都要去别的地方更新jar包,什么麻烦。当时,有人说要反编译下jar包,这样就可以自己修改时间。
一开始,我也在百度上查询了一些使用jude和其他第三方反编译工具的方式,这样可以反编译单个class文件,但是当你需要重新打成jar包的时候,如果class和其他class有引用的时候,很容易出现错误,加上自己水平有限,当时就放弃了。
后来,想到了JVM的classloader机制,觉得可以尝试下,结果,一不小心就成功了,心情还是很好的。
如果不知道classloader机制,建议先百度下。现在说下基本思路:
利用classloader会优先加载classes下的class文件,以达到覆盖原来的class文件的效果。同时,利用class文件,也可以直接替换jar中的class文件。
1.使用压缩文件打开需要反编译的class文件目录,把class文件拷贝到原来的项目的运行环境中。
2.使用反编译插件,查看内容,找到需要修改位置和package的路径。
3.创建和class文件中package 路径相同的java文件,文件名和class文件名相同.
4.把class文件使用反编译插件打开的内容拷贝到java文件中,同时修改需要修改的相应位置。
5.针对于web项目,这样就可以覆盖了,
6.如果是java项目或者需要把class添加到jar包中,可以到项目编译后的文件中找到目标java文件编译后的class文件,使用压缩软件打开jar,把该class文件复制到原来的class文件的位置,覆盖原来的class文件。
综上,可以成功破解jar中的class文件,这样也不会发生java文件编译出错的问题。
水平有限,文中可能存在不完善的地方。写这个博客是给遇到同样问题的人一点小小的帮助,如有其它好的建议,请留言给我。大牛勿喷!!!
相关文章推荐
- 关于打包java project项目 生成jar的一些问题
- 关于修改web app项目java代码后Eclipse没有重新编译的问题
- 关于maven项目中引入外部jar包的问题
- 关于maven项目在引入java project 时,打war包出错的问题
- 关于Eclipse将Java APP项目打包成jar的问题
- Android studio 导入layoutlib.jar 关于项目引入核心库(core-library)异常的问题
- 关于eclipse导出Java项目形成的jar包中没有图片以及图片显示问题
- JAVA项目引入jar包里面注释乱码问题
- 关于Eclipse将Java APP项目打包成jar的问题
- 关于在apache中发布项目,项目中引入资源的路径问题
- 关于java打包成jar文件的问题
- weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件、不用jar
- 关于Myclipse中java项目新建Source Folder中配置文件路径的问题
- 关于android项目导入外部jar包的问题
- 关于android项目导入外部jar包的问题
- 关于Eclipse将Java APP项目打包成jar的几种方法以及插件
- adt-bundle-mac 关于项目引用其他项目或者jar文件的问题
- 关于android项目导入外部jar包的问题
- 关于JAVA打包成jar包的问题