Time: 2017-04-05 Tag:

将可运行Jar包,反编译成项目,修改代码,再次编译,打包。
需要工具:jd-gui、myeclipse

具体步骤:

1、使用jd-gui打开原始的Jar包,选择File-->Save All  Sources,会生成一个zip压缩包
1.png


2、解压这个压缩包,生成一个文件夹,可以看到文件夹里所有的class文件变成了java源码文件。(如果最开始直接解压原始的Jar包,那么解压出来的就是class文件,而不是java源文件)

3、打开myeclipse,新建一个普通的Project项目,将解压后的内容拷贝到项目里。

4、此时编译会报错,因为缺少依赖的Jar包,需要找到相应的包并且导入。那么这些包到底是哪些呢?

使用jd-gui打开最原始的Jar包,在META-IN目录下的maven目录下,有所需要的依赖包。其中pom.properties中记录着Jar包的版本信息,可以直接从maven仓库下载这些包
2.png


5、最后,项目重新编译,并且打成Jar包。如果生成的源码可以运行,就直接编译,直接打包。

6、如果生成的项目不能运行,但是你只需要更改一两个类:

(1)编译。如果导入了所依赖的包,那么项目编译应该是没问题的,这一步仔细检查。然后使用myeclipse或者java命令编译,生成一个class文件。
3.png


(2)打包
简单的方法:使用rar,zip,好压等解压缩工具打开原始的Jar包,直接把修改的class文件拖进去,覆盖原来的class文件。
复杂的方法:将原始Jar包,直接解压生成一个文件夹,解压后的是class文件。用修改后的class文件进行替换,再将这个文件夹压缩生成一个zip文件,最后将zip文件的后缀名改成jar,即可运行。


注意使用winrar工具打包时,要选择压缩文件格式为zip

4.png