* 我们如何从.apk文件中获取完整的源代码。我们也尝试尝试dex2jar和其他过程,但我们没有得到完整的源代码。并且未显示注释代码。 *
答案 0 :(得分:0)
大多数开发人员使用名为 proguard 的东西,它将用于obfuscation of the code
,混淆通常意味着making the code unreadable so to make the apk resist to any reverse engineering attempt
(抵制这里并不意味着它不能逆向工程,如果apk经历了逆向工程过程,那个尝试的人可能无法读取开发人员编写的实际代码),我曾经尝试对apk进行逆向工程,最后是像{{ {1}}。如果您足够幸运,开发人员没有使用smali
机会,那么您最终可能会查找原始代码。请尝试以下操作
link for reverse engineering the apk
答案 1 :(得分:0)
无法获取完整的源代码,因为并非所有信息都保存在apk(评论等)中,并且许多内容都被重新排序(因为有跳转指令而不是if
, while
,for
,...)。对于本机代码,它甚至更难。
如果您打算获取商业应用程序的来源,应用程序甚至可能会被混淆,例如,从apk中裁剪其他信息。
如果您只需要更改/读取微小的位,您可能希望使用smali(如果您要访问的部分不是本机的),它也被许多工具使用;它从android字节码生成可读格式。使用此类工具仅在您是apk的作者,获得作者许可或拥有合法权利的情况下才是合法的(一个例子是生活在欧盟,然后您可以调整您拥有许可证的软件如果没有其他方法来存档您想要的互操作性,即使没有作者的明确许可,也可以实现互操作性。