• 技术文章 >Java >Java基础

    怎么将class文件反编译成java文件

    青灯夜游青灯夜游2021-04-26 14:00:58原创2882

    方法:1、下载“jad.exe”插件,将其和“.class”文件放置在同一目录下;2、打开cmd命令窗口,使用cd命令进入“Jad.exe”所在目录;3、执行“Jad -d java文件存放路径 -sjava class文件路径”命令即可。

    本教程操作环境:windows7系统、java8版、DELL G3电脑。

    一、工具/材料

    jad.exe反编译插件

    下载地址可参考:

    https://varaneckas.com/jad/

    ttp://pan.baidu.com/s/1qWmNlww

    二、方法/步骤

    说明

    操作

    将jad.exe和.class文件放置在同一目录下(非必需,可随意,后面会讲解)

    在这里插入图片描述

    开始-运行(或Win+R)-cmd打开系统命令窗口,进入Jad.exe所在目录

    例如:

    f: 
    cd F:\Jad

    在这里插入图片描述

    输入命令Jad -d F:\Jad\test -sjava test\*.class 回车 即可生成Java文件

    在这里插入图片描述

    示例:

    Jad -d F:\Jad\test -sjava test\*.class

    在这里插入图片描述
    备注说明: *.class 中*是通配符,默认选中此目录下所有.class文件,如只需要反编译某一个.class文件,可直接写成 文件名+.class

    如:Jad -d F:\Jad\test -sjava test\CaseInfoSaveAction.class

    Jad命令--帮助提示:

    -a - 用JVM字节格式来注解输出
    -af - 同 -a,但是注解的时候用全名称
    -clear - 清除所有的前缀
    -b - 输出多余的括号 (e.g., if(a) { b(); }, default: no)
    -d < dir >- 指定输出文件的文件目录
    -dead -试图反编译代码的dead 部分(default: no)
    -disass - 不用用字节码的方式反编译 (no JAVA source generated)
    -f - 输出整个的名字,无论是类还是方法
    -ff -输出类的成员在方法之前 (default: after methods)
    -i - 输出所有的变量的缺省的最初值
    -l< num >- 将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)
    -pa -用于生成源文件中的所有包的前缀
    -pc -带有数字名称的类的前缀(默认值:_cls)
    -pe -未使用异常名称的前缀(默认值:_ex)
    -pf -带数字名称字段的前缀(默认值:_fld)
    -pi -使用。
    -pl -带数字名称的局部变量前缀(默认值:_lcl)
    -pm -带有数值名称的方法的前缀(默认值:_mth)
    -pp -带有数值名称的方法parms前缀(默认值:_prm)
    -pv -将具有相同类型的字段打包成一行(packfields)
    -r -恢复包目录结构
    -s -输出文件扩展名(默认:.jad)
    -空格-关键字(if, while等)和表达式之间的输出空格
    -stat -显示处理过的类/方法/字段的总数
    -t -使用空格进行缩进(默认值:4)
    -t -使用制表符代替空格进行缩进
    -v -反编译时显示方法名

    相关视频教程推荐:Java视频教程

    以上就是怎么将class文件反编译成java文件的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:class文件 反编译 java
    上一篇:Spring Cloud七大组件是什么 下一篇:IDEA有哪些快捷键
    大前端线上培训班

    相关文章推荐

    • android反编译:smali语法• java如何反编译• java中split()方法有什么用• java怎么创建对象

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网