程序员不可避免地要学习其他Java项目的代码。 但有时你只能获取.calss文件、jar包或war包。 这时候就要求程序员能够熟练地将这些类型的文件反编译成Java代码,形成可编译可运行的项目。 本文介绍的反编译工具是JD-GUI。 反编译后的jar包就是一个项目的jar包。
下载链接
提取码g8v8
下载后,解压。 无需安装。 双击打开exe文件。
open file选择要反编译的jar包,
打开,左边->com目录就是java源代码文件
点击你想查看的文件,就可以看到源代码。 点击带下划线的变量符号,会自动跳转到定义处。 也可以搜索变量名,但是搜索会很慢,需要等待一段时间。
这样就只能查看代码了。 要编译、修改和运行代码,必须将所有代码提取出来形成一个项目。 点击文件->全部保存
源码会保存为压缩包
压缩包解压后分为三个文件夹
java代码全部在BOOT-INF//com中
将目录中的所有内容复制到创建的空项目中进行编译和运行。 必须正确复制目录层次结构。 。 将pom.xm中的内容复制到反编译解压目录下的同名文件中,并粘贴到工程对应的文件中。
现在项目代码有了,配置文件也有了,但是一般情况下项目无法运行成功。 因为反编译出来的pom不是特别准确,所以项目需要的很多包可能不在pom中。 或者原项目中使用的一些jar包是手动导入到项目中的,没有被pom统一管理。
最好的办法就是从反编译的jar包中提取出所有需要的jar包。
将.jar后缀名更改为zip .zip并解压到当前文件夹。
解压后的BOOT-INF\lib包含了本项目需要的所有jar包。 通过add jar将所有jar包添加到项目中。
这里我们已经非常接近成功运行项目了,因为反编译的代码并不是特别准确。 有些代码需要手动分析修改,或者修改不成功,只能注释掉才可以编译。 有些包在运行时可能会报错,主要是pom引入的包与手动导入的包冲突,或者有些包版本不对,需要一一解决。 当然,有些反编译项目能够正确运行,不报错,这当然是最好的。