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

时间:2014-01-02 00:06:27

标签: eclipse reverse-engineering decompiling apk

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

http://www.decompileandroid.com/

我确定APK工具是一个更好的选择(我很想听到原因)但是在这个例子中它起作用了 - sorta。

我的问题 - 以及我的问题/帖子的根源:当我导入源代码时,我最终得到了超过4000个日食错误(幸好它们似乎只是一小部分类似/相关错误重复了很多次)。

话虽如此 - 是否有更好的方法来解决这个问题以避免这些错误? (如下所示)

Eclipse错误:

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

1 个答案:

答案 0 :(得分:0)

我不知道任何可以可靠地生成可以“往返”(反编译,然后重新编译)的输出的Java反编译器。有一些正在进行的开发,我的own included,您可以为其提交错误报告。在Procyon的案例中,类型推断随着时间的推移越来越多地被打破,特别是在涉及泛型的情况下。然后还有许多其他问题主要影响从Android格式转换的类。

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

那就是说,我会重申我一贯的建议:永远不要相信反编译器的输出。不要认为它是正确的,即使它编译得很干净。