反编译.class字节码文件的步骤

约定不等于承诺〃 2023-01-21 15:21 159阅读 0赞

介绍三种反编译方式

文章目录

  • 反编译存在于磁盘中的java文件
      • 一、使用javac命令
      • 二、使用反编译工具 jd-gui 对字节码文件进行反编译
  • 使用阿里开源 Arthas 工具对运行中的类进行反编译
      • 一、下载对应的工具
      • 二、解压Arthas的jar包
      • 三、选择需要反编译的类
      • 四、运行结果
      • 五、使用jad命令反编译
      • 六、成功反编译
  • 反编译 CGLIB动态代理 生成的字节码文件
      • 一、获取代理类的main方法的第一行输入如下代码进行执行
      • 二、发现生成了对应的三个字节码文件
      • 三、使用反编译工具 jd-gui 对字节码文件进行反编译

反编译存在于磁盘中的java文件

一、使用javac命令

在 java 文件对应的目录下使用 cmd 窗口,使用 javac xxx.java 命令,即可将 java 源文件生成为.class字节码文件

二、使用反编译工具 jd-gui 对字节码文件进行反编译

工具下载地址:Java反编译工具 jd-gui 官方正版下载

运行下载的工具的jar包,将对应的字节码文件拖进窗口即可自动反编译并显示结果,如下所示:
在这里插入图片描述

使用阿里开源 Arthas 工具对运行中的类进行反编译

一、下载对应的工具

传送地址:阿里巴巴开源在线分析诊断工具Arthas(阿尔萨斯)

二、解压Arthas的jar包

解压之前需要让所要反编译的程序在内存中存在(死循环)
在这里插入图片描述

三、选择需要反编译的类

在这里插入图片描述

四、运行结果

在这里插入图片描述

五、使用jad命令反编译

在这里插入图片描述

六、成功反编译

在这里插入图片描述

反编译 CGLIB动态代理 生成的字节码文件

一、获取代理类的main方法的第一行输入如下代码进行执行

  1. //将动态代理生成的字节码文件保存到本地指定目录
  2. System.setProperty(DebuggingClassWriter.DEBUG_LOCATION_PROPERTY, "C:/xxx/xxx");
  3. //获取代理类

二、发现生成了对应的三个字节码文件

在这里插入图片描述

三、使用反编译工具 jd-gui 对字节码文件进行反编译

工具下载地址:Java反编译工具 jd-gui 官方正版下载

运行下载的工具的jar包,将对应的字节码文件拖进窗口即可自动反编译并显示结果,如下所示:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,159人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java编译字节文件

    > 如何查看 Java 的字节码文件? 在 Java 中,字节码文件`.class`实际上是二进制文件,并不能直接查看。要想查看,我们只能通过反编译对其进行解析,然后查看解析