`

使用javap反编译class文件

    博客分类:
  • java
阅读更多
一个普通的Java类:
public class Test    // 从Object类继承
{
    
public static void main(String[] args)
    
{
        System.out.println(
new Test().toString());
    }

}

现在我们使用JDK带的反编译工具javap来反编译Test.class,先执行下面的命令:
javap Test > Test.txt
打开Test.txt文件后,会看到如下的代码:
public class Test extends java.lang.Object{
    
public Test();
    
public static void main(java.lang.String[]);
}

再使用下面的命令来得到bytecode代码:
javap -c Test >Test1.txt
打开Test1.txt后,会看到如下的代码:
public class Test extends java.lang.Object{
public Test();
  Code:
   
0:    aload_0
   
1:    invokespecial    #8//Method java/lang/Object."<init>":()V
   4:    return

public static void main(java.lang.String[]);
  Code:
   
0:    getstatic    #16//Field java/lang/System.out:Ljava/io/PrintStream;
   3:    new    #1//class Test
   6:    dup
   
7:    invokespecial    #22//Method "<init>":()V
   10:    invokevirtual    #23//Method java/lang/Object.toString:()Ljava/lang/String;
   13:    invokevirtual    #27//Method java/io/PrintStream.println:(Ljava/lang/String;)V
   16:    return
}
分享到:
评论

相关推荐

    .class 文件反编译工具

    "jd-gui"是一款小巧且易于使用的Java反编译工具,它提供了一个图形化的用户界面,允许开发者直观地查看和分析.class文件。jd-gui支持直接打开.jar或.class文件,显示反编译后的源代码,同时提供代码高亮、折叠等功能...

    .class文件反编译成java文件工具

    这就是`.class`文件反编译成`.java`文件工具的作用,如标题所示,这是一个专门用于将.class文件转换回人类可读的Java源代码的工具。 `.class`文件反编译工具通常采用逆向工程的方法,解析.class文件的字节码结构,...

    编译好的CLASS文件

    使用反编译工具(如JD-GUI或javap)可以将字节码转换回伪源代码,帮助理解和调试程序。 - `javap`是Java自带的反汇编工具,可以显示类的方法、常量池信息等。 5. **类文件与源代码关系**: - 一个源代码文件可能...

    java反编译的一个小工具

    标题中的“java反编译”是指将Java的.class文件(字节码)转换回.java文件(源代码)的过程。反编译工具有助于开发者查看和理解第三方库的内部实现,或者用于修复无法获得源代码的旧项目。虽然反编译不能完全恢复...

    java代码保护,防止反编译

    经过该工具反汇编后得到的结果并不是源代码,但是使用javap进行反编译的Java类文件可以得到成员变量、方法、行号以及局部变量名等信息。 代码混淆 代码混淆是保护Java程序的一种方法,即将源代码混淆,使其难以被...

    class文件编译器.zip

    对于`.class`文件,可以使用反编译工具(如JD-GUI或JAD)将其转换回大致可读的Java源代码,这对于理解已编译的代码或调试很有帮助。另外,`javap`命令可以显示`.class`文件的详细信息,包括公共方法、常量池等。 7...

    jvm解析编译过的class文件

    Java虚拟机(JVM)是Java程序运行的基础,它负责解析和执行编译后的.class文件。这个过程涉及多个阶段,包括加载、验证、准备、解析和初始化。在本篇文章中,我们将深入探讨JVM如何处理.class文件,以及相关工具如何...

    jad.exe-windows版本,将.class文件反编译为java文件(专业)

    jad.exe-windows版本,将.class文件反编译为java文件(专业) 使用 java自带的javap -p 名称.class反编译的有可能不正确,例如反编译Enum枚举,所以我们需要使用更加专业的工具

    javap使用说明文档

    javap 是 JDK 中的一个命令行工具,主要用于对给定的 class 文件进行反编译,了解 Java 编译器内部的工作机制,并提高程序执行的效率。下面是 javap 的使用说明。 1. javap 的基本用法 javap 的基本用法是 javap ...

    javap使用(1).docx

    `javap` 是 Java 开发工具包 (JDK) 中的一个重要工具,主要用于反编译 `.class` 文件中的字节码。通过 `javap`,开发者能够深入了解 Java 编译器是如何处理源代码并生成字节码的,这对于优化程序性能和理解 Java ...

    怎么看jar包的class文件?

    - **jd-gui**:这是一个图形界面工具,可以直接打开JAR文件并查看源代码(如果未提供源码,则会尝试反编译class文件)。下载并运行jd-gui,然后拖拽JAR文件到其窗口即可。 - **Cavaj**:根据提供的文件名`...

    class文件结构(简单class文件)

    在描述中提到了通过反编译class文件来理解执行Java程序的方法。反编译是一种将class文件中的字节码转换回Java源代码的过程,常用工具有jad、Procyon、JD-GUI等。通过反编译,可以更加直观地理解Java字节码,尤其是在...

    Java代码的编译与反编译

    1. javap:Java自带的反编译工具,它可以从.class文件中提取关于方法的元信息,但不会反编译成完整源代码。 2. Jad:一个流行的第三方反编译工具,能够将.class文件反编译成可读性较好的Java源代码。Jad在Linux下...

    class文件解析

    可以使用反编译工具,如jad、jd-gui或javap,它们能够将Class文件转换为可读性强的源代码形式。jad是一个早期的Java反汇编器,它可以解析Class文件并展示其中的字节码,但现代的开发环境中更常用的是javap,它是JDK...

    class文件解析案例

    例如,一个简单的`HelloWorld`类,通过反编译工具(如javap)查看其字节码,可以观察到`main`方法的执行流程。 4. **样例数据分析**: 提供的jvm.docx文件可能包含更详细的案例分析,比如如何解析特定的class文件...

    jdk反编译工具

    `JD-GUI`是一款独立的图形界面工具,它可以打开单个`.class`文件并显示其反编译后的源代码。这对于快速查看某个类的实现非常方便,特别适合偶尔需要查看源代码的情况。只需将`.class`文件拖入`JD-GUI`,即可直观地...

    JD-GUI,JDGUI,java反编译工具

    问:javap是反编译,还是反汇编? 答:javap是JDK自带的反汇编器。 (它的作用就是根据class字节码文件,反解析出当前类对应的code区(汇编指令)、本地变量表、异常表和代码行偏移量映射表、常量池等等信息。)

    ByteCode Outline

    在遇到一些小问题的时候我们经常会使用Javap反编译取得字节码来分析,虽然Javap能完成这个工作,但是有两个缺点,一方面操作麻烦,需要很多步骤,一方面没有文档注释,对新手来说看起字节码来比较麻烦。 这里推荐...

    java解析class文件

    在实际开发中,解析Class文件的工具和库有很多,如javap(Java字节码反汇编器)、ASM、BCEL、Javassist等。这些工具可以帮助开发者深入理解字节码,甚至自动生成或修改字节码,实现一些高级功能。 总而言之,Java...

Global site tag (gtag.js) - Google Analytics