网站首页 > 精选教程 正文
本文对常用的反编译工具进行简单介绍
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打开
https://www.cnblogs.com/noteless/p/10471005.html
另一种方法,就是手动设置注册表
还有一种方法是重新安装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
文章来源:https://www.cnblogs.com/noteless/p/10592362.html
- 上一篇: Java 反编译工具的使用与对比分析
- 下一篇: SpringBoot项目Jar包加密,防止反编译
猜你喜欢
- 2024-12-12 浅谈Java多线程与并发原理
- 2024-12-12 apk反编译、修改、打包、签名、安装
- 2024-12-12 Android逆向破解入门
- 2024-12-12 一文带你吃透Java代码执行过程:JVM加载字节码+解释执行+编译执行
- 2024-12-12 安卓逆向之APK的反编译与回编译及常见的问题应该如何解决
- 2024-12-12 是时候为你的C#程序进行代码混淆
- 2024-12-12 记一次噩梦般的经历--论学会反编译的重要性
- 2024-12-12 从软件保护的角度看流行的编程语言
- 2024-12-12 ILSpy借助reflexil修改C# DLL
- 2024-12-12 安卓apk反编译、重新打包、签名全过程
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)