【转载】jad命令使用总结

jad是最简单的class反编译为java文件的小工具.

为了方便使用可以将jad添加到环境变量path当中,如下图所示
这里写图片描述

现在就总结一下jad 命令

首先,看一下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 -o -r -sjava -dsrc test.class
tree目录下的所有*.class文件
jad -o -r -sjava -dsrc tree//.class
unix可以表示为:jad -o -r -sjava -dsrc 'tree/**/
.class
1

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

jad -p example1.class > myexm1.java
1
输出带字节码注释和源码的(最常用)

jad -o -a Test.class > ss.java
1
反编译整个文件夹下的class

jad -p *.class

猜你喜欢

转载自blog.csdn.net/weixin_44400506/article/details/85987392
jad