从APK中提取源代码

时间:2013-07-28 17:10:17

标签: java android apk

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

我需要可靠的解决方案,也可以使用生成的R提取完整的源代码。我认为这是可能的。

1 个答案:

答案 0 :(得分:1)

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

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

你可以从.dex中提取.apk而不会丢失(类似于从.class中提取.jar,因为.jar只是zip存档),但是这样不会帮助您获得完全相同的来源,因为从.java.class再到.dex的编译不可逆(一般情况下)。< / p>

UPDATE :即使是现代的java字节码反编译工具(如jad)有时也无法生成字节码的有效来源(发生在我身上几次),更不用说dalvik字节码更加“通过编译过程扭曲。