java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java反编译字节码

关于Java反编译字节码文件

作者:ThinkStu

将高级语言翻译成汇编语言或机器语言的过程Java语言中的编译一般指将Java文件转换成class文件顾名思义反编译就是编译的逆向过程其实我们常用的开发工具(例如:IDEA、Eclipse)都带有反编译功能,需要的朋友可以参考下

如何查看 Java 的字节码文件?

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

如何反编译字节码文件

要想反编译字节码文件,我们首先要对.java文件进行编译,得到字节码.class文件。以Java 类 HelloWorld.java 为例:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
javac HelloWorld.java

然后使用 JDK 自带的字节码反编译工具javap.class文件进行反编译:

javap -c HelloWorld
# 下面为反编译后的内容
Compiled from "HelloWorld.java"
public class HelloWorld {
  public HelloWorld();
    Code:
       0: aload_0
       1: invokespecial #1
       4: return
  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #7
       3: ldc           #13
       5: invokevirtual #15
       8: return
}

javap 参数详解

javap是一个用于反汇编Java类文件的命令行工具,可以用来查看Java类的字节码信息。

javap的常用参数如下:

附录:反编译字节码后的格式说明

Java类的字节码信息格式是一种二进制格式,它由一系列字节码指令构成。Java类的字节码信息可以通过javap命令来查看,可以以不同的格式输出。

到此这篇关于关于Java反编译字节码文件的文章就介绍到这了,更多相关Java反编译字节码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文