首页 文章

从APK中提取源代码[关闭]

提问于
浏览
-4

我需要从apk文件中提取源代码 . 我知道apktool并且多次使用它 . 该方法的问题是提取代码更改一点点,并且所有资源加载都具有静态值,如加载布局 . 我也有res文件夹,但我无法确定加载哪个布局 .

我需要可靠的解决方案来提取生成的R的完整源代码 . 我认为这是可能的 .

1 回答

  • 1

    实际上不可能按照你想要的方式做到这一点 .

    原因如下: .apk 是链中的最终工件:java源码( .java )> java字节码( .class )> dalvik字节码( .dex )>应用程序包( .apk

    你可以从 .apk 中提取 .dex 而不会丢失(类似于从 .jar 中提取 .class ,因为 .jar 只是zip存档),但这不会帮助你获取 same exact 源,因为从 .java.class 再到 .dex 的编译是不可逆的(一般情况下) .

    UPDATE :即使是用于java字节码的现代反编译工具(如jad)有时也无法生成字节码的有效来源(发生在我身上几次),更不用说编译过程中的dalvik字节码甚至更多"twisted" .

相关问题