如何解决virustotal报毒提醒

如何解决virustotal报毒提醒

其实很多开发者并不知道自己哪一行代码或者哪些App的动态行为会被Google认定为恶意软件,但我们可以初步使用virustotal网站来检测下自己的release包,便于提前发现潜在问题并解决,最大限度降低代码引发的恶意软件风险。

我检测了一下我们的App,使用virustotal扫描后发现了报毒问题,这是必须要解决的,下面给大家分析下解决思路。

首先,我们可以确认的是,virustotal报毒一定是代码的问题,所以最简单有效的方式就是采用排除法来定位问题,通过移除代码,重复检测来最终确定是哪个库或者哪个模块,进而确定哪一行代码导致的报毒问题,过程不多说,下面给大家列举下我们通过哪些代码修正解决了报毒问题。

1.忽视混淆文件规则调整:在实践中发现,混淆的越彻底的包被检测出的报毒会更少。不可否认,我们很多App的混淆文件都是在某些地方复制或者老项目遗留的,强烈建议大家整理自己的混淆文件,尽量让自己的App混淆得越彻底越好。例如:

//移除

-keep class androidx.** {*;}

-dontoptimize

//更换混淆文件获取方式

getDefaultProguardFile('proguard-android.txt’),proguard-android.txt文件改为proguard-android-optimize.txt

2.反射+固定代码环境:如下代码,我们在使用反射来coding时,其代码可能会引发virustotal报毒,但实践中发现并不是所有的反射代码都会引发报毒,大家根据自身项目做逻辑优化。

​​​​​​​​​​​​​​Method method = PackageManager.class.getMethod( "getPackageSizeInfo", String.class, IPackageStatsObserver.class);

3.权限+敏感词:比如SMS,callType,Contact等,我们可以将其拆分开等再用的时候再合并或者改名都可以有效避免virustotal报毒,我们也可以采用加固的手段将所有的字符串加密。当然,有这些敏感词并不都会报毒,可能与您有没有申请相关权限或者代码上下文逻辑相关。

4.三方SDK:我们曾经发现Advance活体SDK会引发virustotal报毒,但其新版本已经解决,所以其他SDK也可能有类似风险。

virustotal网站还是受到很多机构认可的,当我们上架某些三方渠道时(例如传音),很多都会要求我们出具virustotal检测通过报告,所以大家还是谨慎对待。

← 上一篇: 如何设置手机白名单
下一篇: 盘点快乐家族成员豪车座驾!何炅最朴素,杜海涛才是“真土豪”! →

相关推荐