我有一个 War 文件(一个 Java 应用程序)由 64 个类文件以及图像/CSS/JS 文件组成。我丢失了这个战争文件的来源。现在我想对代码进行一些更改。我正在寻找社区关于以下问题的一些专家建议。
- 有没有最好的方法将 .class 文件转换为 .java 文件而不会丢失任何代码部分?
- 有什么工具可以完成这项任务?
- 将 .class 文件转换为 .java 文件以重新创建 war 文件有哪些挑战/缺点?
我有一个 War 文件(一个 Java 应用程序)由 64 个类文件以及图像/CSS/JS 文件组成。我丢失了这个战争文件的来源。现在我想对代码进行一些更改。我正在寻找社区关于以下问题的一些专家建议。
转换为 Java 字节码几乎是完全可逆的。正如@StephenC 所说,在重新生成的源代码中,您将丢失注释、局部变量的名称等。它可能无法立即编译,但您应该能够再次编译,只需稍作修改。
你需要一个Java反编译器来做到这一点。试试JD-GUI或DJ Java 反编译器
如果您混淆了您的来源,您恢复的来源将不会更难理解和逆向工程。否则,只需稍加修改,您就应该能够取回您的资源。
如果你不想花时间去理解反编译的字节码,请开始为任何两个以上类的项目使用版本控制系统和远程存储库。
特别是,你可以将 Git 与 GitHub 一起使用,开源是免费托管的,而如果你想保护你的代码,你可以得到一个便宜的商业订阅。
这次,请使用 JD 等 java 反编译器: