检测病毒的网址VirusTotal
反编工具apktool
步骤1、将apk后缀改为rar并解压
一个APK报病毒主要就是以上几部分:
- 证书相关:如果开发者的证书被杀毒引擎识别为黑名单。那么以该证书签名的APK始终会报告警
- .SO文件相关:动态链接库中的代码,存在风险代码。
- Java文件相关:java代码中存在不合适的方法命名,后台下载插件,恶意扣费等风险代码
- 配置文件相关:申请了不合理的权限、配置了不合适的第三方插件等情况
2、删除其中一个目录 再把文件改回apk后缀提交到上面的检测网站中检测,如果还有继续删一个,再上传检测 直至确定是哪个目录报毒的。
3、如果是证书或者so库报毒,确定目录后再把目录内的文件也按上述步骤进行一个一个排除,确定到具体的证书或者.so文件,再去网上搜搜有没有可替代证书或者so文件,没有的话可以与应用市场客服进行协商看如何处理。
4、如果是java文件报毒,就需要用到apktool工具进行翻译
反编译命令
apktool d -f test.apk
重新打包命令
apktool b -o <output.apk> <input_dir>
java文件报毒主要是排查smali文件夹内的文件夹及其子文件夹与子文件。方法与前面排除目录的方案相同。一个一个删除 打包 再进行检测,直至确定最终的报毒文件,有时候可能是两个文件夹同时存在才出现报毒,需要开发者自己仔细检测。
找到最终报毒的库或者代码文件 就可以进行替换或者删除了。
5. 如果是配置文件引入的告警。
AndroiManifest.xml是唯一的配置文件。
阅读该配置文件,删除可疑代码,如多与权限等等。也是通过反编译重打包,逐步排查是什么代码引入的告警。然后分析是否属于误报。
我遇到的是病毒名:riskware SPR/ANDR.Autoinst.A.Gen 网上没有这个病毒的相关介绍只能自己排查。