Java 反编译器
decompiler
是一个实用程序,可帮助分析和反编译 Java 字节代码并从中生成源代码。反编译是编译过程的完全相反的过程。这个过程在没有源代码的情况下是有益的,我们可以在反编译字节码后调试使用源代码并分析其行为。
由于开发是使用集成开发环境
(IDE)完成的,因此在 IDE 中拥有一个反编译器是非常方便的。在免费提供的 IDE 市场中搜索字符串反编译器,例如 Eclipse 或 Intellij。
对于 Intellij
IDE,我们可以从市场下载插件。一旦插件到位,我们就可以在 maven 插件下方的左侧边栏中找到反编译器。下面是附加的截图,以便更好地理解。
反编译代码会自动转换为源代码,我们可以在目标文件夹中找到它。下面附上截图以供理解。
将字节码转换为源代码的其他可用工具如下。
Java Decompiler
是一个带有实际应用程序的在线 Web 服务。我们可以使用该实用程序反编译任何 Java 5 和更高版本的代码。该服务提供了各种选项,我们可以在这些选项下从列表中选择我们选择的反编译器。在此之下,我们有 JD-GUI
,它是一个图形实用程序,有助于转换 .class
文件以从中获取 Java 源代码。JD-Eclipse
是一个 Eclipse IDE 插件,它允许在 IDE 本身中反编译一个类文件。JD-Core
是另一个开源实用程序,可以从字节码中重新创建源代码。
另一个实用程序是 Procyon
,主要用于代码生成和分析。它是一个开源实用程序,由 Apache
许可证 2 提供。它由核心框架、表达式框架、反射框架、编译器工具集和反编译器等库组成。它具有促进从字节码生成代码的过程的效用。
有关更多详细信息,请访问 GitHub 链接 –https://github.com/mstrobel/procyon
Krakatau
是另一种用于汇编和反汇编 Java 字节码的开源工具。该工具允许用户将二进制代码转换为文本格式。它甚至允许用户再次将源代码重新转换为字节码。该实用程序纯粹是一个 Python
脚本,它会在我们执行命令时运行。
更多细节通过 GitHub 链接 – https://github.com/Storyyeller/Krakatau
CFR
是另一个 Java 反编译器,它允许反编译 Java 14 版本的字节码。反编译器代码纯粹是用 Java 6 编写的,易于执行。我们可以通过一个运行 jar 的命令来运行它,并在此处接受一个参数,即要反编译的类名。
更多细节在链接上 – https://github.com/leibnitz27/cfr
Fernflower
是另一个仍在开发中的可用工具。该实用程序由 Apache
许可证 2 提供。执行命令就像运行带有参数的 jar 一样简单。
欲了解更多详情,请访问 – https://github.com/fesh0r/fernflower
DJ Java Decompiler
是与 windows 及其后续版本兼容的实用工具之一。该实用程序功能强大,足以从给定的字节码正确反编译 Java 小程序代码。它是一个独立的 Windows 应用程序,具有明确定义的图形用户界面。
欲了解更多详情,请访问 – http://www.neshkov.com/