本文对常用的反编译工具进行简单介绍
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. RPC基于http协议通过netty支持文件上传下载

    本人在中间件研发组(主要开发RPC),近期遇到一个需求:RPC基于http协议通过netty支持文件上传下载 经过一系列的资料查找学习,终于实现了该功能 通过netty实现文件上传下载,主要在编解码时 ...

  2. zabbix微信报警信息优化模板

    --------------------------------告警模板1-------------------------------------- 默认标题 告警项目: {TRIGGER.NAME ...

  3. python接口自动化(十二)--https请求(SSL)(详解)

    简介 本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会 报:requests.exceptions.SSLError: [ ...

  4. 从零开始学TensorFlow

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 最近在学习TensorFlow的相关知识,了解了Te ...

  5. Observer观察者模式与OCP开放-封闭原则

    目录 场景引入 在联网坦克项目中使用观察者模式 总结 在学习Observer观察者模式时发现它符合敏捷开发中的OCP开放-封闭原则, 本文通过一个场景从差的设计开始, 逐步向Observer模式迈进, ...

  6. 设计模式之适配者模式——Java语言描述 | Amos H's blog

    适配器模式是作为两个不兼容的接口之间的桥梁.这种类型的设计模糊属于结构性模式,它结合了两个独立接口的功能 概念阐述 使用适配器模式可以解决在软件系统中,将一些旧的类放入新环境中,但是新环境要求的接口旧 ...

  7. android 自定义权限管理

    在Android6.0后有些权限就需要进行询问,虽然可以将targetSdkVersion设置成小于等于23,但是这样可能有些东西无法使用,所以要进行权限的管理. 实现逻辑:打开页面就询问权限,如果没 ...

  8. scrapy-redis 分布式爬虫

    为什么要学? Scrapy_redis在scrapy的基础上实现了更多,更强大的功能. 有哪些功能体现? request去重.爬虫持久化.实现分布式爬虫.断点续爬(带爬取的request存在redis ...

  9. 函数声明 和 var声明的优先级

    function demo() { console.log(5) } var demo = function(){ console.log(4) } console.log(demo()) var d ...

  10. [.net core] 在 Windows 中运行出现 WinHttpException: The parameter is incorrect

    有一个 web 服务一直跑在 docker 中,今天需要在 Windows 上部署一个备份版本,于是,签出源代码,编译,运行.结果抛出 500 ,日志中有如下记录: System.Net.Http.H ...