java反编译工具jad和jd-gui使用

1、jad下载地址

http://www.javadecompilers.com/jad

2、jad配置环境变量

解压下载好的压缩包,可以得到一个jad.exe 文件。
配置环境变量主要目的是你可以全局使用,不配置的话你就只能在jad.exe 文件目录下使用jad命令
步骤:略。

3、使用jad命令

打开cmd窗口 cd 到class文件目录、或者使用绝对路径

jad -p $Proxy0.class > $Proxy.java
#在当前目录生成一个.java 文件

或者:

jad $Proxy0.class
#在当前目录生成一个.jad文件

4、jad命令


-a - 用JVM字节格式来注解输出
-af - 同 -a,但是注解的时候用全名称
-clear - 清除所有的前缀
-b - 输出多于的括号 (e.g., if(a) { b(); }, default: no)
-d

- 指定输出文件的文件目录
-dead -试图反编译代码的dead 部分(default: no)
-disass - 不用用字节码的方式反编译 (no JAVA source generated)
-f - 输出整个的名字,无论是类还是方法
-ff -输出类的成员在方法之前 (default: after methods)
-i - 输出所有的变量的缺省的最初值
-l - 将strings分割成指定数目的块的字符 (default: no)
-lnc - 将输出文件用行号来注解 (default: no)
-nl - 分割strings用新行字符 newline character (default: no)
-nodos -不要去检查class文件是否以dos方式写 (CR before NL, default: check)
-nocast - 不要生成辅助文件
-nocode -不要生成方法的源代码
-noconv - 不要转换java的定义符 (default: do)
-noctor - 不允许空的构造器存在
-noinner -关掉对内部类的支持 (default: turn on)
-nolvt - 忽略局部变量的表信息
-nonlb - 不要输出一个新行在打开一个括号之前 (default: do)
-o - 无需确认直接覆盖输出 (default: no)
-p - 发送反编译代码到标准输出 STDOUT (e.g., for piping)

指定输出文件的名字的话,用以下的转移命令:

jad -p example1.class > myexm1.java

输出带字节码注释和源码的(最常用):

jad -o -a Test.class > ss.java

反编译整个文件夹下的class:

jad -p   *.class

反编译当个class:

jad Test.class

tree目录下的所有*.class文件:

jad -o -r -sjava -dsrc tree/*/.class

5、jd-gui下载地址

http://java-decompiler.github.io/

6、jd-gui使用

在这里插入图片描述
直接file-open file 找到你需要编译的jar 或者class文件就可以了。

7、jd-gui使用问题

1、jdk代理自动生成的代理类时没有编译出来
解决方法:使用jad命令反编译

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: mac平台上有一些可以用来进行Java反编译工具,以下是一些常见的工具: 1. JD-GUIJD-GUI是一款免费开源的Java反编译工具,它可以在mac平台上使用。它简单易用,可以将编译后的Java类文件反编译为可读的源代码,并支持导出代码为Java文件。 2. Procyon:Procyon是一款功能强大的Java反编译器,也可以在mac上使用。它支持反编译最新版本的Java语言规范,并提供了准确的结果。它还支持将反编译结果保存为Java文件。 3. Fernflower:Fernflower是一款开源的Java反编译器,它可以在mac平台上使用。它具有快速和准确的反编译能力,并且支持将反编译结果保存为Java文件。 4. JADJAD是一款老牌的Java反编译工具,虽然在mac平台上不再被更新,但仍可用。它可以将编译后的Java类文件反编译为可读的源代码。 这些工具可以帮助开发者在需要时对Java代码进行反编译,以便查看、学习或修改代码。但需要注意的是,反编译工具只能将编译后的类文件还原为源代码的近似版本,可能无法完全还原原始代码的目录结构、注释和变量名等细节。 ### 回答2: Mac上常用的Java反编译工具JD-GUIJadX。 JD-GUI是一款免费的Java反编译器,它可以将Java字节码文件反编译成可读的Java源代码,并支持在Mac上使用JD-GUI具有用户友好的界面,可以快速加载和显示反编译的源代码。它还支持导出反编译后的代码为Java文件,方便进一步修改和分析。 JadX是另一款适用于Mac的Java反编译工具,也是一款免费的软件。与JD-GUI相似,JadX可以将Java字节码文件反编译为可读的Java源代码。此外,JadX还提供了一些额外的功能,如代码导航、代码配色和代码编辑等。 这两款Java反编译工具都适用于Mac系统,可以帮助开发人员理解和分析Java应用程序的源代码,从而更好地进行调试和修改。无论是使用JD-GUI还是JadX,都需要将字节码文件导入工具中,然后进行反编译操作,即可获取Java源代码。同时,需要注意的是,反编译行为需要遵守法律和道德准则,仅限于学习和分析目的。 ### 回答3: Mac上有许多可用于Java反编译工具。以下是一些常用的工具: 1. JD-GUI: JD-GUI是一款开源且免费的Java反编译工具。它提供了一个直观的图形界面,可以将Java代码从编译后的文件(.class)反编译回源码形式。 2. CFR: CFR是另一款功能强大的Java反编译工具。它支持将Java字节码反编译成易于阅读的源代码,并以多种格式输出,如HTML、XML和文本。 3. Procyon: Procyon是一个高性能的Java反编译器,它可以将.class文件转换为Java源代码。它提供了很多高级功能,可以重命名类和方法,去除冗余代码,并对代码进行优化。 4. Fernflower: Fernflower是一款开源的Java反编译工具。它具有高准确性和稳定性,可以将Java字节码转换为易于阅读的源代码,并支持多种输出格式。 以上这些工具都可以在Mac上运行,并且都具有用户友好的界面,使得反编译过程更加容易和方便。无论您是开发者还是安全研究人员,这些工具都能帮助您分析和理解Java应用程序的内部工作原理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值