小编典典

如何“反编译”Java 类文件?

all

我可以使用什么程序来反编译类文件?我真的会得到 Java 代码,还是只是 JVM 汇编代码?

关于这个站点上的 Java 性能问题,我经常看到“反编译”Java 类文件以了解编译器如何优化某些内容的人的回复。


阅读 127

收藏
2022-03-08

共1个答案

小编典典

2016 年 2 月更新:

www.javadecompilers.com将 JAD 列为:

最流行的 Java 反编译器,但主要仅限于这个时代。用 C++ 编写,速度非常快。
Java 5 及更高版本已过时、不受支持且无法正确反编译

所以你的里程可能会随着最近的jdk(7、8)而变化。

同一站点列出了其他工具。

正如评论(2017 年 9
月)中所指出的那样,javadecompiler提供了一个 SaaS,您可以在其中将.class文件上传到云端,并返回反编译的代码。


原始答案:2008 年 10 月

  • JSR 176 的最终版本定义了 J2SE 5.0 (Java SE 5) 的主要特性,已于 2004 年 9 月 30 日发布。
  • 由 Pavel Kouznetsov 先生编写的著名 Java 反编译器 JAD 支持的最新 Java 版本是 JDK 1.3
  • 当今可从 Internet 下载的大多数 Java 反编译器,例如“凄J Java Decompiler”或“淐avaj Java Decompiler”,都是由 JAD 提供支持的:它们无法显示 Java 5 源代码。

Java Decompiler(又一个 Fast Java 反编译器)具有:

  • 明确支持反编译和分析 Java 5+ “.class”文件。
  • 一个不错的图形用户界面:

截屏

它适用于从 JDK 1.1.8 到 JDK 1.7.0
以及其他编译器(JikesJRockit等)。

它具有实际上功能齐全的在线现场演示版本!您可以在页面上放置一个 jar
文件并查看反编译的源代码,而无需安装任何东西。

2022-03-08