class反编译软件
‘壹’ 有没有这样的软件: 用jd-gui可以反编译class文件,但是不能修改。有可以反编译并直接修改的么
jd-gui可以将看到的反编译结果保存到一个zip压缩包里面,操作方法如下:
1、首先创建一个class文件,打开记事本。
‘贰’ 如何反编译class文件,简单快速
反编译工具jad简单用法
以下假设jad.exe在c:\java目录下
一、基本用法
Usage:jad [option(s)]
直接输入类文件名,且支持通配符,如下所示。
c:\java\>jad example1.class
c:\java\>jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。
二、Option -o
不提示,覆盖源文件
三、Option -s
c:\java\>jad -sjava example1.class
反编译结果以.java为扩展名。
四、Option -p
将反编译结果输出到屏幕
c:\java\>jad -p example1.class
将反编译结果重定向到文件
c:\java\>jad -p example1.class>example1.java
五、Option -d
指定反编译的输出文件目录
c:\java\>jad -o -dtest -sjava *.class
‘叁’ 反编译软件有哪些java反编译最好的工具
本文对常用的反编译工具进行简单介绍
JD-GUI、procyon-decompiler、luyten、crf
反编译工具分类JD-GUI
JDK7以及之前可以使用 JD-GUI,如果版本>=1.8 各种问题
procyon-decompiler
如果版本>=1.8 ,可以使用 procyon-decompiler,不过是命令行界面
luyten
luyten是Procyon的GUI,只需要下载luyten即可,不用下载Procyon
https://github.com/deathmarine/Luyten
下载地址
crf
crf也可以支持更高版本
小结
如果你的版本<=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\ddddddluytenluyten是图形化界面
通过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
‘肆’ java开发class反编译
对于Java开发中需要对class文件进行反编译的需求,IDEA工具提供了一种便捷的方法。首先,你需要将待反编译的jar文件整理到一个指定的文件夹中,然后在IDEA中打开这个文件夹。接下来,选择相应的jar包,将其添加为库项目(Add as Library),这样你就可以在IDEA的环境中进行反编译操作,方便查看源代码。
另一种选择是使用jd-gui,这是一种专门用于反编译Java class文件的独立工具。你可以从官方网站下载jd-gui包进行安装。jd-gui的优势在于它的全局搜索功能,这在查找特定代码段时非常有用。两种工具结合使用,一个专注于代码阅读的直观性,另一个则侧重于搜索的高效性,可以满足不同的反编译需求。