首页 > 技术文章 > 安卓应用提示风险(误报毒 爆红) 如何做DEX加固,资源混淆处理解决报毒问题

reachteam 2021-08-24 20:23 原文

目前国内安卓市场种类繁多,不同安卓系统内置了不同的安全软件,

我们自己开发的APK, 尤其是一些第三方打包的APK由于使用的人数众多, 即使打包的APK并没有申请一些特殊权限,也很容易被国内杀软标记为风险软件,导致不必要的麻烦.

 

以下为常见的误报毒情况:

1.安卓包名曾被其他APP使用,曾经被举报,或者APP包名和已经上架的APP一样,被认为是盗版APP

2.APK打包使用的是共享证书,被很多个APP使用,如果其中有一个APP被误报毒,那么所有使用该证书打包的APK均有可能被误报毒

3.APP被人恶意举报,导致被误报毒

4.市面上存在很多与你APP雷同的应用

5.APK内部打包的网址本身就被标记为红色危险网站

6.APP名称中包含不良信息,或者涉嫌侵犯著名品牌商标知识版权等

7.APP由一些打包软件打包,由于没有做防误报毒处理,被杀毒软件记录下了打包特征,导致所有打包的APP均会报毒

8.APP内部引用了一些第三方类库,第三方类库如果某些特征码被杀毒软件记录,会导致所有使用该第三方库的APP报毒

9.APP内部存放了一些静态资源,包括HTML/JS/TXT/lua等文本文件,被杀毒软件作为特征记录,导致所有存在该资源的APK报毒

 

国内杀毒软件查杀原理

国内杀毒软件大部分采用了静态分析方案对APK进行分析,主要会解析APK内部DEX代码和资源文件进行静态分析,通过匹配病毒库内部的特征码,判断APK是否有风险。

同时APK的一些元信息,也会被用作风险分析,包括APK的名称,APK的包名,APK的签名证书信息,APK申请的权限信息等

 

对于误报毒问题一般有两种方案解决:

 

方案一:适用于网址打包

如果你的APP是网站打包的,推荐使用HTML一键打包APK工具进行打包,该打包软件内置了强力防误报毒引擎,每次打包的APK均会增加随机因子,使每次生成的APK内部的所有资源和代码文件均不相同,同时打包软件内置了独立的签名证书,每个用户使用的证书信息和证书内容均不相同,这就避免了由于证书和APK内部特征被标记导致误报毒的情况发生. 具体使用方法如下

 

1.下载使用HTML一键打包APK工具

下载地址

 

2. 打包的时候使包名复杂并唯一

 

3.重置并使用独立打包证书,确保证书只有你一个人使用

 

 

 4.修改APP名称,确保APP名称唯一,不侵犯他人版权,同时不包含不良信息

 

 

5.去除你的APP中不需要的权限,确保APP使用了最少的权限

 

6. 点击打包APK,即可生成强力防误报毒混淆的APK包,打包完成后可以上传,可以提交VirusTotal网站检测,正常情况扫描结果会使绿色,全部杀毒通过

 

 

方案二:适用于原生开发的APK

自己原生开发的APK,可能由于引用了一些第三方库,或者内部一些资源文件导致误报毒,或者本身APP Java代码中有一些特征被误认为是风险应用

这种情况推荐使用 安卓APK资源混淆加密重签名工具 进行处理

 

1. 下载 安卓APK资源混淆加密重签名工具

 

2. 打开软件,待软件载入完成后,点击打开文件按钮,打开本地的APK文件

 

 

3. 本地APK文件载入后可以修改APP名称,APP包名,版本号等信息

 

 

4.可以根据需求勾选默认的混淆选项,一般如果混淆后没有问题,推荐全部开启即可

 

 5. 可以任意增加APK的体积,支持输入1~1000的数字,以MB为单位

 

 

6. 如果需要,可以点击重置证书按钮随时重置独立证书

 

 

6.全部配置好以后,点击开始处理按钮,选择混淆后的APK的保存位置,即可对APK进行混淆了

 

7.混淆生成的APK可以提交VirusTotal网站检测是否被误报毒,  正常情况下,处理后的APK将不再会误报毒

 

推荐阅读