1:jd-gui
这个反编译工具相信做过java的大家都比较熟悉了,不再赘述(遗憾的是仅支持到jdk7,可以使用jdk8启动,但是遇到一些jdk8特殊的表达式比如lambad反编译会出现问题// INTERNAL ERROR //)
但是我们有时候会遇到无法打开的问题,这是因为jd-gui不支持jdk8以上的版本,如果计算机默认的java版本高于1.8就会弹出一个框报错。
其实我们点击jd-gui.exe就相当于找java的环境变量执行java -jar的指令了,因此遇到这种情况,可以反手使用控制台或者git bash直接找到jdk1.7或者1.8的路径然后执行java -jar jd-gui.exe就行了。
如:$ /d/Java/jdk1.8.0_162/bin/java -jar jd-gui.exe
下载地址:Release JD-GUI 1.6.6 · java-decompiler/jd-gui · GitHub
2:procyon-decompiler
个人比较推荐这个,也支持jdk1.8
下载地址:Release Procyon Decompiler v0.6.0 · mstrobel/procyon · GitHub
使用上可以直接控制台使用以下命令
$ /d/Java/jdk1.8.0_162/bin/java -jar procyon-decompiler-0.6.0.jar 项目所在的jar包或者war包路径 -o .
说明:
procyon-decompiler工具包后面跟需要反编译的jar包或者war包
-o: 指定输出的目录, . 指的是当前目录
3:luyten
luyten是Procyon的GUI,只需要下载luyten,操作更简单,启动也可以使用命令行直接java -jar启动,看着更方便,如果只是反编译输出出来使用 procyon-decompiler相对更方便
下载地址:Releases · deathmarine/Luyten · GitHub