目前使用两种工具(jad.exe jd-gui-1.4.1.jar)对java 编译后的class文件进行反编译,操作步骤如下:
一. 使用jad.exe 反编译class文件
1.下载 jad.exe 工具。
2. jad.exe放在新建文件夹中,在所在中打开命令行窗口。
3. 找到要转换的class文件,放在jad.exe 所在的文件夹下,比如新建目录 source存放class文件。
4. 输入转换命令:jad -o -r -s java -d src source/**/*.class ,开始转换。
5. jad.exe 所在的目录下产生src的文件夹,里面都是反编译后的java源文件。
6.完毕。
jad命令的参数含义如下:
-o:覆盖旧文件,而且不用提示确认。
-r:重新加载生成包结构。
-s (java):定义输出文件的扩展名。jad为默认扩展名,我们反编译后当然是要.java源文件了。
-d:输出文件的目录。src表示反编译后的所有文件都放在src目录下。
source/**/*.class:source是需要反编译的文件夹的名字,整个表示source目录下的所有class文件。你也可以写成这样**/*.class,这表示当前目录及其子目录下所有的class文件(包含所有的子目录)。
二.使用jd-gui-1.4.1.jar反编译class文件
1. 下载jd-gui-1.4.1.jar工具。
2. 把要反编译的class文件或文件夹压缩成zip格式。
3. 双击打开jd-gui-1.4.1.jar,并打开zip文件,在jd-gui-1.4.1.jar工具中即可看到class反编译成java代码。
4. 点击File , Save All Sources 产生的 source.zip.src.zip文件就是全部反编译后的java文件。
5.完毕!
三.总结
jad工具反编译出来的代码 有点乱,但可以全部反编译出来,jd-gui-1.4.1.jar,反编译出来的代码稍微工整,但较长的函数反编译不了,两个工具配合使用能反编译出较为完整的源码。