当前位置: 首页 > 知识库问答 >
问题:

在反编译Android APK时避免Eclipse错误

寇靖
2023-03-14

我正在进行逆向工程/反编译APK文件-我能够使用:

http://www.decompileandroid.com/

我相信APK工具是一个更好的选择(我很想听听为什么),但在这个例子中,它起了作用——索塔。

我的问题——也是我的问题/帖子的根源:当我导入源时,我最终有超过4000个日蚀错误(谢天谢地,它们似乎只是少数重复多次的类似/相关错误)。

也就是说,有没有更好的方法来避免这些错误?(如下所示)

https://docs.google.com/document/d/1gwbZuJ8duQ37JRGeTdqIrv0o_DBNL_xWRxrG9Xxxwy4/edit?usp=sharing

共有1个答案

伯庆
2023-03-14

我不知道有哪种Java反编译器能够可靠地生成可以“往返”(反编译,然后重新编译)的输出。有一些正在进行开发,包括我自己的,你可以提交错误报告。在Procyon的例子中,类型推断随着时间的推移变得越来越不可靠,特别是在涉及泛型的情况下。此外,还有许多其他问题主要影响从Android格式转换的类。

由dex2jar等工具创建的jar往往更难处理,因为它们会生成复杂的异常处理程序表、顺序奇怪的块、局部变量插槽共享等。我建议尝试几种不同的工具组合:直接的Android反编译器,以及与各种Java反编译器配套的不同的dex-to-jar重写器。您可能会发现,一种工具组合始终比其他工具产生更好的结果。

尽管如此,我将重申我通常的建议:永远不要相信反编译器的输出。不要认为它是正确的,即使它编译得很干净。

 类似资料:
  • 我正试着反编译MCP9.40到《我的世界》1.12。但是当我运行反编译。bat时,它会返回以下错误。 https://hastebin.com/itefigucaz.bash 我环顾四周,发现可能是反编译程序的RAM用完了,所以我编辑了mcp.cfg文件,并从这里修改了一行。 对此。 但也会产生同样的错误。有什么想法吗?

  • 我从更新站点安装了JD-Eclipse,但我无法让它在Eclipse开普勒中工作。我在以前的Eclipse版本中做到了这一点,没有任何问题。 这里的问题是,当我转到Preferences>General>Editors>File associations时,*.Class文件的默认关联编辑器是“Class File Viewer(默认)(由'Java Class File'内容类型锁定)”。如果我

  • 我目前运行的是64位Windows10,我不断得到一个反编译问题与MCP。 这就是不断发生的事情: “反编译失败”有什么帮助吗?我已经看过以前关于如何通过添加java参数以允许更多RAM到MCP来解决这个问题的线程,但是到目前为止,这些方法对我来说都不起作用,它们可能是过时的方法。

  • 我已经决定使用MCP并下载了它,但是,当运行decompile.bat时,它返回一个错误。 (我正在运行32位Windows 10)

  • 异常堆栈跟踪 eclipse.buildid=4.6.2.m20161124-1400 java.version=1.8.0_121 java.vendor=Oracle Corporation BootLoader常量:OS=win32,arch=x86_64,ws=win32,nl=en_us框架参数:-product org.eclipse.epp.package.jee.product命令