欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java jdk 8反编译工具JD-GUI、procyon-decompiler、luyten、crf下载使用简介

程序员文章站 2022-03-20 10:15:02
java jdk 8反编译工具JD-GUI、procyon-decompiler、luyten、crf下载使用简介 ......
本文对常用的反编译工具进行简单介绍
jd-gui、procyon-decompiler、luyten、crf
 

反编译工具分类

jd-gui

jdk7以及之前可以使用   jd-gui,如果版本>=1.8 各种问题
http://java-decompiler.github.io
 

procyon-decompiler

如果版本>=1.8 ,可以使用 procyon-decompiler,不过是命令行界面
https://bitbucket.org/mstrobel/procyon/downloads/
 

luyten

luyten是procyon的gui,只需要下载luyten即可,不用下载procyon 
https://github.com/deathmarine/luyten
下载地址
https://github.com/deathmarine/luyten/releases

crf

crf也可以支持更高版本
http://www.benf.org/other/cfr/
 
小结
如果你的版本<=7,都可以使用,如果版本更高,请使用除了jd-gui以外的选择

使用

jd-gui

略,jd-gui网上教程很多,不再介绍。
 

procyon-decompiler

可以直接解析class文件到cmd窗口显示
也可以将反编译之后的文件保存到指定位置,如果需要保存在指定位置,需要增加 -o命令参数,并且需要指定保存的路径
 
直接显示:
java -jar d:\applicationfiles\program\procyon-decompiler-0.5.30.jar d:\programdata\ideaprojects\...\news\newscontroller.class
 
保存文件:
java -jar d:\applicationfiles\program\procyon-decompiler-0.5.30.jar d:\programdata\ideaprojects\...\news\newscontroller.class -o c:\users\noteless\desktop\dddddd

luyten

luyten是图形化界面
通过file直接打开class文件即可
当然,也可以进行文件保存等操作
注意
直接打开luyten的时候,给出了下面的提示信息
但是,系统中的java环境是没有问题的,也是一直在使用的,cmd下运行java或者javac命令都没有问题
这是为什么?
据网上分析是因为使用了免安装版本的jdk,简单说不是从官网下载可执行程序一步一步安装而来
这也就导致了注册表中不存在jdk的信息
一种变通的途径就是借助于命令,通过在命令提示符下面输入  java -jar .\luyten-0.5.4.exe打开
(此时,我的文件存在于桌面上,所以使用的当前路径)
如果设置到其他位置,请给出路径,比如
也可以进一步设置为bat命令
文件就一行内容:
java -jar d:\applicationfiles\program\luyten-0.5.4.exe
再进一步可以创建一个快捷方式,使用下文的方式,就可以直接使用win键+r打开
另一种方法,就是手动设置注册表
还有一种方法是重新安装jdk,走一遍过程
建议通过命令java -jar就好了,改注册表后续出现什么奇怪问题,自己可能都忘记了是自己改出来的
重新安装麻烦费事

cfr

http://www.benf.org/other/cfr/
cfr更新还是蛮及时的
 
它的使用,与procyon-decompiler没有区别
可以直接反编译呈现在cmd中,也可以输出到文件中
直接解析:
c:\users\noteless>java -jar d:\applicationfiles\program\cfr-0.141.jar c:\users\noteless\desktop\newscontroller.class
输出文件:
java -jar d:\applicationfiles\program\cfr-0.141.jar c:\users\noteless\desktop\newscontroller.class --outputdir c:\users\noteless\desktop\xxx