本文对常用的反编译工具进行简单介绍
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
 

java jdk 8反编译工具JD-GUI、procyon-decompiler、luyten、crf下载使用简介的更多相关文章

  1. Java反编译工具Jad及插件JadClipse配置教程

    Jad是一个Java的一个反编译工具,和eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码. 下面介绍一下配置: 下载JadClipse,http: ...

  2. Eclipse反编译工具Jad及插件JadClipse配置(转)

    Eclipse反编译工具Jad及插件JadClipse配置 Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不 ...

  3. Eclipse反编译工具Jad及插件JadClipse配置

    Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的插件JadClipse ...

  4. 2: Eclipse反编译工具Jad及插件JadClipse配置

    Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的插件JadClipse ...

  5. [C#反编译教程]001.Reflector.NET反编译工具 v8.5绿色版+注册机+注册教程

    截图 下载地址 Reflector.NET反编译工具 v8.5绿色版+注册机 下载地址:http://pan.baidu.com/s/1mgN1Cpi 密码:mx19 简介 .NET Reflecto ...

  6. JDK 的配置和反编译工具的使用---------------Java知识点

    初始Java 1995年5月,sun公司开发了一门新的编程语言------Java 詹姆斯.高斯林(Java之父),Java语言小巧安全具有可移植可跨平台性的优点. 开发java程序的步骤:编写 ,编 ...

  7. Java 反编译工具哪家强?对比分析瞧一瞧

    前言 Java 反编译,一听可能觉得高深莫测,其实反编译并不是什么特别高级的操作,Java 对于 Class 字节码文件的生成有着严格的要求,如果你非常熟悉 Java 虚拟机规范,了解 Class 字 ...

  8. 转:介绍几个著名的实用的Java反编译工具,提供下载

    from :http://www.glorze.com/219.html 反编译 众所周知,我们将源代码进行编译,生成可执行的程序或者容器发布包,这个将代码转换的过程就是编译的过程,而反编译就是将这些 ...

  9. 7 款开源 Java 反编译工具

    今天我们要来分享一些关于Java的反编译工具,反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程.尤其是像.NET.Java这样的运行在 ...

随机推荐

  1. BZOJ_1009_[HNOI2008]GT考试_KMP+矩阵乘法

    BZOJ_1009_[HNOI2008]GT考试_KMP+矩阵乘法 Description 阿申准备报名参加GT考试,准考证号为N位数X1X2....Xn(0<=Xi<=9),他不希望准考 ...

  2. (1)STM32使用HAL库操作GPIO

    一  初始化GPIO 使用HAL库的优点在于不用手动添加初始化的代码了,CubeMX会根据软件设置自动生成. 自动生成的HAL库GPIO初始化代码: static void MX_GPIO_Init( ...

  3. Android之微信朋友圈UI实现--ExpandableListView+GridView

    PS:我们都知道微信,更是知道朋友圈,很多人在朋友圈里卖起了化妆品,打入广告等为自己做一下推广,里面会附带一写好看的图片,上面有标题,有描述,整体布局每场的美观,那么这是怎么实现的呢,有些人可能会单个 ...

  4. 华为手机无法使用USB调试的解决方案

    在Android开发中,一直在使用华为的荣耀8进行调试,但是突然某一次,发现USB调试无法使用了,且在其他的电脑上进行调试也不行. 后来经过查资料,总算解决了此问题,在这里进行一下解决方案的记录. 需 ...

  5. python enumerate() 函数的使用方法

    列表是最常用的Python数据类型,前段时间看书的时候,发现了enumerate() 函数非常实用,因为才知道下标可以这么容易的使用,总结一下. class enumerate(object): &q ...

  6. React + TypeScript:元素引用的传递

    React 中需要操作元素时,可通过 findDOMNode() 或通过 createRef() 创建对元素的引用来实现.前者官方不推荐,所以这里讨论后者及其与 TypeScript 结合时如何工作. ...

  7. Python爬虫使用lxml模块爬取豆瓣读书排行榜并分析

    上次使用了BeautifulSoup库爬取电影排行榜,爬取相对来说有点麻烦,爬取的速度也较慢.本次使用的lxml库,我个人是最喜欢的,爬取的语法很简单,爬取速度也快. 本次爬取的豆瓣书籍排行榜的首页地 ...

  8. 第一课《.net之--泛型》

    今天我来学习泛型,泛型是编程入门学习的基础类型,从.net诞生2.0开始就出现了泛型,今天我们开始学习泛型的语法和使用. 什么是泛型? 泛型(generic)是C#语言2.0和通用语言运行时(CLR) ...

  9. C# 语音合成

    1. 引用System.Speech 2. 通过SpeechSynthesizer类朗读文本 new SpeechSynthesizer().SpeakAsync("我们都是好孩子We're ...

  10. Java并发——CAS

    什么是CAS? CAS是Compare And Swap的简称.在Java中有很多实现,比如compareAndSwapObject()方法,或者compareAndSwapInt()方法等.多用在包 ...