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
image_5c983d44_7d56

luyten

luyten是图形化界面
经过File直接打开class文件便可
image_5c983d44_52f9
固然,也能够进行文件保存等操做
image_5c983d44_7b3d
注意
直接打开luyten的时候,给出了下面的提示信息
image_5c983d44_58dd
可是,系统中的java环境是没有问题的,也是一直在使用的,CMD下运行java或者javac命令都没有问题
这是为何?
据网上分析是由于使用了免安装版本的JDK,简单说不是从官网下载可执行程序一步一步安装而来
这也就致使了注册表中不存在JDK的信息
一种变通的途径就是借助于命令,经过在命令提示符下面输入  java -jar .\luyten-0.5.4.exe打开
(此时,个人文件存在于桌面上,因此使用的当前路径)
image_5c983d44_6e6
若是设置到其余位置,请给出路径,好比
image_5c983d44_97d
也能够进一步设置为bat命令
image_5c983d44_774f
文件就一行内容:
java -jar D:\ApplicationFiles\program\luyten-0.5.4.exe
再进一步能够建立一个快捷方式,使用下文的方式,就能够直接使用WIN键+R打开
另外一种方法,就是手动设置注册表
image_5c983d44_3a08
还有一种方法是从新安装JDK,走一遍过程
建议经过命令java -jar就行了,改注册表后续出现什么奇怪问题,本身可能都忘记了是本身改出来的
从新安装麻烦费事

CFR

http://www.benf.org/other/cfr/
CFR更新仍是蛮及时的
image_5c983d44_4687
 
image_5c983d44_777a
它的使用,与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
image_5c983d44_23fd
image_5c983d45_584c
相关文章
相关标签/搜索