本文主要是介绍比较好用的Java反编译工具Procyon与CFR,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近在反编译Java文件发现jd-gui等已经不够正常使用,经常会反编译缺少内容或者编译不正常。
在网上找到两个很好的反编译工具Procyon与CFR,不仅小巧而且使用很便捷。命令行就能够完成操作,不用安装。
使用CFR进行反编译
1、将需要反编译的jar包放与cfr-0.144.jar放一起;
2、进入cmd命令编辑页面;
3、用cd命令进入jar包所在路径;
3、使用命令java -jar命令进行反编译;
**
相关命令介绍
**
```bash
java -jar 反编译命令
cfr-0.144.jar 反编译工具jar包
commons-lang3-3.2.jar 需要反编译的jar包
--outputdir 反编译的输出路径
./ 代表当前路径
d 代表在当前目录新建一个名为d的文件夹存入反编译之后的文件
D: 代表D盘根目录
命令例子
生成字节码文件
命令行输入 javac XXX.java
对刚刚的代码进行反编译
命令行输入java -jar cfr-0.147.jar XXX.class
CFR有很多参数
可以使用java -jar cfr-0.147.jar --help 查看
使用Procyon进行反编译
本来是使用的jad 挺好用的, 但是奈何不支持jdk1.8 , 所以只能更换了, 这里推荐使用 Procyon-Decompiler
工具的官方下载网站是:
https://bitbucket.org/mstrobel/procyon/downloads/
国内的环境下载不下来, 最后我费了很多事才下载下来, 所以我放在网盘了,
我直接下载了最新版的, procyon-decompiler-0.5.36.jar
链接:https://pan.baidu.com/s/19KL3bFpYVbsEEtsB2hTJgw
提取码:t8e7
如果你只是反编译一个java的class文件, 可以运行以下:
下载jar包,本机命令行运行
java -jar C:\Downloads\procyon-decompiler-0.5.36.jar Demo.class
会把反编译的源码显示到控制台.
如果想保存源代码
java -jar C:\Downloads\procyon-decompiler-0.5.36.jar Demo.class -o D:
还有如果你想编译jar 包
公式:java -jar procyon-decompiler的绝对路径 -jar 想反编译文件的绝对路径 -o 输出文件夹的绝对路径
这样你就会看到*.jar文件反编译成一堆的java文件啦
下面的截图是我自己反编译的.
第一个反编译了一个静态内部类, 直接保存到当前文件夹去, 这个工具有个好处, 它会自动创建文件夹, 把文件保存到对应的包中去.
第二个反编译直接输出到当前控制台.
参考:https://blog.csdn.net/u010398771/article/details/106259207
这篇关于比较好用的Java反编译工具Procyon与CFR的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!