Android对代码以及资源的迷惑

| Google建议并打包在ProGuard中以进行代码混淆。但是,它随附的默认配置似乎很少,并且可以在一定程度上进行反向工程。大多数希望进行逆向工程的人并不是真正在寻找详细的代码,而是可以提取逻辑。是否有任何指南可以更有效地配置ProGuard?(将Javascript最小化的方法会比较好。) 其次,有一些诸如apktool之类的工具可以提取清单以及资源文件。而且它们之间没有混淆的程度。这些肯定可以揭示一些东西。有什么办法可以避免这种情况的发生?     
已邀请:
对于第一部分,我建议您检查以下问题:Android游戏不断被黑客入侵。它没有直接针对ProGuard,但确实为您提供了一些减少盗版的想法。 对于第二部分,恐怕不行,这实际上是不可能的,因为它们是纯XML文件。您可以做的是减少资源的使用并直接在java中创建逻辑。这样可以通过三种方式减少代码的暴露: (1)显而易见,它显示了较少易读的xml代码 (2)它会创建更长的smali文件,这从一开始就不容易遵循:考虑到smali文件中的变量没有名称,而是数字,并且被多次重用,因此使它们更加难以理解。 V1首先可以是TextView,然后可以是int,然后可以是私有静态方法。 (3)减少了十六进制ID的使用,而十六进制ID可以使用public.xml中的表在smali文件上轻松搜索。 当我将TouchWiz框架移植到某些自定义ROM时,我什至制作了一个小型Java应用程序来自动执行ID识别(xda-developers帖子在此处),因此您可以想象跟随它们的难易程度。     
现在,您可以使用新的gradle插件+库来有效地混淆类中的字符串,请在此处进行检查 https://github.com/MichaelRocks/paranoid 现在也有一个新的插件可以混淆资源,请在下面检查 https://github.com/shwenzhang/AndResGuard 并帮助分享这些重要信息,以便更多的开发人员可以使用它,因此,越来越多的开发人员将为这些插件的进一步开发做出贡献,因此我们可以共同改进这些插件。     

要回复问题请先登录注册