java的反编译命令

200 阅读1分钟

1. javap -c:

        显示方法中的字节码

2. javap -p:

        显示所有访问级别,包括private

3. Javap -v:

        verbose模式,全信息,输出的内容包括:

                类的访问标志(access_flags)

                类名、父类、接口

                常量池(Constant Pool)

                字段表(Fields)

                方法表(Methods)

              每个方法的 Code、行号表(LineNumberTable)、局部变量表   ( LocalVariableTable)

4. -c  -p  -v可以同时使用查看所有内容。javap解析出来的不是源代码,而是字节码结构(结构描述+字节码指令)

5. 如果想查看反编译后的源码,可以使用以下工具:JD-JUI(图形界面,经典反编译器)、FernFlower(IntelliJ内置反编译器)、CFR(功能强大,支持java17+)、Procyon(可处理复杂结构,lambda表达式)