出海合规必备!6个App代码混淆工具分享

650 阅读4分钟

在App出海历程中,账号关联问题始终困扰着广大出海开发者,而账号资料和App代码又是其中最容易关联的两点。

App代码混淆在上架合规中扮演着举足轻重的角色,作为一位出海老兵,在工作中积攒了一些代码混淆相关的实用工具,希望分享出来供大家参考。也希望大家不吝赐教,共同解决好App代码关联问题。

一、Android自带混淆工具是ProGuard

通过ProGuard混淆,代码中的类名、方法和变量名会被替换成无意义的短名称,从而降低代码的可读性,可维护性及代码重复率。

我们也可以自定义混淆(字典)规则,以为来实现同一份代码混淆后的路径不一致。建议大家也不要传Mapping文件到Google后台。

官网介绍:developer.android.com/build/shrin…

二、AndResGuard

ProGuard是针对代码的混淆,AndResGuard只针对资源。他会将原本冗长的资源路径变短,例如将res/drawable/logo变为a/b/c 。

 dependencies {        
 classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.21'    
 }

开源项目地址:github.com/shwenzhang/…

三、AabResGuard

从功能上讲,它和上面的AndResGuard是类似的。因为海外发包必须是aab格式了,所以AabResGuard对我们的作用更大一些,它以aab开头,代表它可以直接对已经打包好的aab文件进行资源混淆操作。但小编曾经测试过,一个图片改名前和改名后,sha1值是一样的,所以如果真要防关联,只改名是不行的。 

dependencies {    
classpath "com.bytedance.android:aabresguard-plugin:0.1.0"  
}

开源项目地址:github.com/bytedance/A…

四、XmlClassGuard

我们把它可以看成是Proguard的辅助助手,它可以混淆所有的java代码,包括4大组件。它的主要功能是是混淆xml文件用到的类,因为我们知道各种xml文件(如layout,AndroidManifest.xml会用到各种java类 ),它就辅助混淆这些类的包名。它极大降低aab包查重率,能在一定程度上避免上架Google Play因查重率过高,导致下架或封号的问题。对于封过的包,我可以可以拿用XmlClassGuard混淆后的代码进行二次开发,还是有一定作用的。

dependencies {        
classpath "com.github.liujingxing:XmlClassGuard:1.2.6"    
}

开源项目地址:github.com/liujingxing…

五、 StringFog

自动对dex/aar/jar文件中的字符串进行加密的Android插件工具,辅助开发者加密敏感字符串信息,避免因为Google的关键字过滤审查导致出现违规问题。

 dependencies {               
 classpath 'com.github.megatronking.stringfog:gradle-plugin:5.2.0'        
 // 选用加解密算法库,默认实现了xor算法,也可以使用自己的加解密库。        
 classpath 'com.github.megatronking.stringfog:xor:5.0.0'    
 }

开源项目地址:github.com/MegatronKin…

、App加固工具****

对于App加固在代码合规方向的使用,行业从业人员争议很大,质疑有以下几大观点:

  1. App加固有对抗审核的意图,会让Google觉得你在隐藏什么,增加审核风险。

2. Google要求上架的应用不能与其它已上架应用有相同的体验(包括代码),马甲包等重复应用上架会被拒绝,也有可能会因"账户关联"直接导致封号。Google为判定马甲包,对应用的内容(代码、图标、资源等)都做了一系列审核,由于App加固只暴露出壳代码,这个壳代码所有App的保护后代码几乎一致,一旦上架多个被保护的App,很容易被Google判定为重复应用。

3.大多App加固意味着动态加载Dex,而动态加载意味着有一定的审核风险。

本着技术无罪的原则,小编持保留态度,大家自行考虑。但小编在做竞品分析的过程中,发现很多App依然在使用国内的爱加密,顶像等App加固并常年在架。

如果要使用App加固,可自研或者寻找支持自定义加固代码的合作商。

App出海交流

经常分享Google Play,App Store市场政策解决方案,大家共同深入了解应用市场App上架、下架背后的原因,如政策违规、安全漏洞、版权问题、市场策略调整等,确保海外App合规、安全并提升我们的用户体验。也不限于分享其他App出海快讯,一起见证行业的蓬勃发展。

欢迎讨论出海的任何问题!想进群的可以点击这里,或者关注公众号趣浪出海