【问题标题】:.Jar File Has Compile Errors When Decompiled But Works Properly.Jar 文件在反编译时出现编译错误但工作正常
【发布时间】:2014-06-23 12:15:35
【问题描述】:

我下载了一个可执行的.jar 文件并使用Java Decompiler 来提取源代码。我将它们导入 Eclipse,它向我显示了一些编译错误,例如错误的类型或对不可见方法的调用。因此,如果不解决所有问题,我就无法运行该项目。

即使反编译器清楚地显示存在逻辑错误,.jar 文件如何才能正常运行?它是否与编译器级别较旧有关(我使用 1.8,而它最初是使用 1.6 或 1.7 编译的)?兼容性不是保持不变吗?反编译器出错了吗?

【问题讨论】:

  • 反编译器会出错;再加上代码可能会被混淆工具故意弄乱以下编译
  • 什么是“隐形方法”?
  • 一个“不可见的方法”可能是bridge method
  • Did the decompiler make mistakes? .
  • 另外,你试过南河三吗?京东不是最好的。

标签: java eclipse decompiler


【解决方案1】:

即使反编译器清楚地显示存在逻辑错误,.jar 文件如何才能正常运行?

.jar 文件中的编译类由字节码组成,而不是 Java 源代码。没有从字节码到 Java 代码的单一转换。字节码可能格式正确,但不同的反编译器可能会产生不同的结果,而且结果并不总是有效的。

反编译器出错了吗?

大概吧。它发生了。编写了一个 Java 反编译器后,我可以告诉你它绝非简单。

【讨论】:

    猜你喜欢
    • 2021-04-20
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    相关资源
    最近更新 更多