Java反编译工具(Java Decompiler)是一款实用的工具,它实现了Eclipse的高亮着色功能、多文件标签浏览以及方便地反编译Java 5及更高版本生成的.class文件。软件界面友好,操作简单。本文将介绍如何使用Java反编译工具,并提供常见问题解答和更新日志。

一、Java反编译工具使用教程

1. 下载并安装Java反编译工具软件。

2. 双击打开软件,进入如下图所示的简洁界面。虽然是英文,但并不难操作。

3. 通过“File”菜单中的“Open File”选项打开您想要反编译的.class文件。

4. 打开后,您将看到熟悉的Java代码。操作简单吧?

二、Java反编译工具常见问答

1. 什么是JD-GUI?

答:JD-GUI是一个独立的图形实用程序,用于显示“.class”文件的Java源代码。您可以使用JD-GUI浏览重建的源代码,以便即时访问方法和字段。

2. 程序可以反编译岂不是很不安全?

答:虽然可以采用代码混淆等技术来加大反编译的难度和降低反编译代码的可读性,但完全避免反编译是不可能的。

3. Java反编译工具的原理是什么?

答:由于Java、.net等基于虚拟机技术的语言都采用了ByteCode的二进制结构,因此很容易将ByteCode转化为“抽象语法树”(简称AST)。然后采用反编译器就可以将AST转换为代码了。

三、Java反编译工具更新日志

1. 修正了“.class”表达式的识别错误。

2. 修正错误识别“开关枚举”指令。

3. 用已知的数字常量(例如Long.MAX_VALUE)替换数值。

4. 删除了不必要的“java.lang”前缀。

5. 修正了在最后位置上包含三元运算符的try-catch语句的识别错误。

6. 添加了返回的通用变量的转换说明。

7. 隐藏匿名类的合成字段。

8. 在内部,改进了JD-Core内存管理(复杂的智能指针C++ 11由基本但非常高效的内存池替代)。