在工作中,我们经常需要对遗留系统或其他的第三方系统进行维护,如果我们没有java源文件的情况下,一般都需要将其中的jar文件进行反编译。
本文将以如何用命令来反编译一个test.jar文件为例,你可以通过简单修改并将其放入到你的批处理脚本中,进行自动化反编译。
1)首先使用jar命令将jar文件解压缩到classes目录(假设你已经设置好了CLASSPATH等,jar.exe是放在jdk的bin目录下的)
CMD>jar -xvf test.jar -C classes
2)如果你没有下载过jad的软件,到http://www.kpdus.com/jad.html下载一个,并用解压缩工具将其解压缩到目录[jad_home]
3)然后使用jad命令对上面产生的classes目录进行反编译
CMD>[jad_home]/jad.exe -r -ff -d src -s java classes/**/*.class
其中-r 表示恢复源文件的目录结构,,-ff 表示将类属性定义放在类方法定义之前, -d 表示输出目录,-s 表示文件的扩展名。
所有的java文件将会被放置到src目录下。