【问题标题】:converting .class into .java将 .class 转换为 .java
【发布时间】:2014-11-22 10:36:45
【问题描述】:

我从硬盘上删除了一个 Java 项目,试图用 Eclipse 进行一些重构。幸运的是,我找到了一个最新版本的可执行 Jar 文件,并将其分解为一堆 .class 文件。 我已经阅读了一些关于 SO 的“反编译”线程并尝试了 showmycode.com,但我希望有更多。是否可以将 .class 文件转换为生成它们的 .java 文件,包括 cmets - 没有任何改变?或者在 .jar 文件中找到?如果没有,我最好的选择是什么?关于该主题的其他答案似乎已经过时。我需要下载软件吗?

【问题讨论】:

  • 检查您的垃圾箱。 :) 逆向工程并不完美。
  • 没有。您无法恢复不存在的信息。因此,没有任何工具可以恢复 cmets,即您对等效代码结构或格式的选择。除非您使用调试信息进行编译,否则局部变量的名称也会丢失。
  • 如果您仍然有 Eclipse 项目,但项目中没有源代码,您可以尝试右键单击项目并选择“从本地历史记录恢复”以查看 Eclipse 是否有任何备份。
  • 这是你学习使用 git 的最佳时机。

标签: java eclipse reverse-engineering decompiling .class-file


【解决方案1】:

您将无法取回您的 cmets,当您从 .java 转到 .class 时,它们会丢失。至于如何做到这一点,任何“Java反编译器”都可以做到,你的代码不会和你写的完全一样,但是你得到的代码在功能上和你最初写的一样。

JD 是我以前使用过的反编译器,对它的输出很满意。

【讨论】:

  • 打败我:P。两年前,当我对另一个没有可用源代码的项目感到好奇时,我遇到了一些运气
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多