【问题标题】:using java decompiler jd-gui and getting // INTERNAL ERROR //使用 java 反编译器 jd-gui 并得到 // INTERNAL ERROR //
【发布时间】:2013-07-14 21:13:57
【问题描述】:

我使用 dex2jar 反编译了一个 apk 文件,并在 jd-gui 中打开了生成的 jar 文件。我可以很好地查看几乎所有代码,但有一部分 - 常量 - 仅显示 // INTERNAL ERROR // 而没有其他内容。有没有办法检索常量?

【问题讨论】:

  • 您运行的是哪个版本的 jd-gui 和哪个版本的 Java?你试过运行javap吗?每个新的 Java 版本都会改​​变反编译器的兼容性。
  • 试试 luyten / bytecode-viewer

标签: java android dex2jar


【解决方案1】:

任何路过这个问题的人都应该看看这个:https://github.com/deathmarine/Luyten

使用它而不是 jd-gui,我能够成功地查看所有在 jd-gui 上显示为 INTERNAL ERROR 的代码。

你也可以试试 Jadx:https://github.com/skylot/jadx

【讨论】:

  • Luyten 不允许打开目录(例如,目录结构中有多个.class 文件)。它只适用于 jar 文件,因此对我没有用。
  • @TomášZato 您可以自己构建一个 jar 文件。只需将整个目录结构放入一个zip文件并重命名为jar即可。
  • 好的,但是 jd-gui 可以反编译 wars 并且其中的库是链接的。在 Luyten 中,如果我们将所有 jar 内容放在 zip 中并重命名为 jar,那么我们可以看到类,但 lib 中的 jar 无法反编译。
  • Jadx 运行良好。 Luyten 没有显示在 Jadx 和 JD-GUI 中可见的 lambda 类。
  • 我认为 Luyten 有一个缺点。我尝试打开一个战争文件,在它的小任务栏中显示文件太大:76.5 MB
【解决方案2】:

我通过安装 Java Jdk 64Bit "Java SE Development Kit 8u111" 解决了这个问题

【讨论】:

    【解决方案3】:

    我遇到过类似的问题,在更新 Java Decompiler 后它就可以工作了。

    请下载最新版本。 http://java-decompiler.github.io/

    【讨论】:

    • 请努力解释您的答案。这将真正帮助解决类似问题的其他人
    猜你喜欢
    • 2010-11-25
    • 1970-01-01
    • 2014-12-05
    • 2015-07-23
    • 2011-01-03
    • 2011-09-20
    • 2017-11-28
    • 2013-12-04
    • 1970-01-01
    相关资源
    最近更新 更多