sunyangblog

一。使用默认的 javap 进行反编译

直接使用jdk 自带的 javap 工具 进行反编译 但是 反编译的结果是 字节码文件 有些不太好理解 ,但是对于 加锁对象 分析 synchronized 有写帮助

 

 二。jad工具

1. 下载Jad

 下载路径: https://varaneckas.com/jad/

选择自己的操作系统对应的包下载,windows 选择第一个

 

 

 2. 解压

3. 修改文件名,文件名包含 .win 不能加入到path 中 ,会有问题

  放到了 E:\jad 目录下

 

 

4. 增加 path 环境变量

 

 

 5.检查是否安装成功, 在CMD 中执行 jad 命令

 

 6. 通过jad 反编译 class文件

 

 生成的是一个 jad文件

 

 

7. jad 更新较慢不支持 jdk 1.8 的语法,如果 java 使用了 lambda语法 会报异常

 

 

三,对于jdk8往上的可以使用 CFR 工具进行反编译

下载: http://www.benf.org/other/cfr/

使用命令 

java -jar E:\cfr\cfr-0.151.jar  ArrayListOfSubListUsage.class --decodelambdas  // --decodelambdas 解lambda 语法糖 --decodeenumswitch 解enum 与 switch 语法糖

 

 参考:https://blog.csdn.net/LIZHONGPING00/article/details/103501619

分类:

技术点:

相关文章: