管家病毒查杀模块逆向分析
本文研究的是*管家2.8—3.6版本的杀毒模块功能实现。众所周知,杀毒软件查杀病毒分为主动查杀和被动查杀两种方式。*管家的主动查杀包括快速查收和全盘查杀,而快速查杀和全盘查杀都使用了本地查杀技术和云查杀技术。
快速查杀
快速查杀首先获取系统安装的所有应用。创建"/data/data/com.anguanjia.safe/classes.dex"文件,将待扫描的apk解压,获取包中的classes.dex文件内容写入到"/data/data/com.anguanjia.safe/classes.dex"文件中。
然后计算"/data/data/com.anguanjia.safe/classes.dex"文件的md5值,完成后删除该文件。
将得到的md5再次取md5值,然后与本地数据库进行匹配,具体检测过程如下图所示:
上图中的getMyParam11函数实质就是对service字符串拼接“0x400-service字符串长度”长度的0后进行base64编码:
下图为扫描应用的service时监控到的log输出:
下图为检测到病毒时(l>0)更新appdata数据库的newapp表代码:
云查杀
在云查杀时,获取系统安装应用的包名、应用名称、证书签发者、证书序列号、classes.dex文件的md5值、是否系统应用等信息上传到http://av.aqgj.cn/p/a1.php。
以下为云查杀时抓包获取的发送给服务器端的数据:
服务器端以xml格式返回检测到的恶意应用信息,如下图所示:
然后将检测到的恶意应用包名、类型以及危险级别存入trojankill数据库的trojan_kill_result表中:
将查杀时间保存到"/data/data/shared_prefs/com.anguanjia.safe_preferences.xml"文件的"last_kill_date"字段中。然后将扫描结果、扫描类型和扫描到的恶意应用包名保存入ScanLogDb数据库的"ScanLogDb"表中:
全盘查杀
全盘扫描分两个部分进行:
(1)有sd卡挂载,则扫描sd卡所有文件,检测后缀为“apk”或者“APK”的所有文件,其检测步骤与快速查杀一样。
判断文件后缀:
(2)如果没有sd卡挂载,则扫描系统安装的所有应用。检测步骤与快速查杀一样。
被动查杀
被动查杀是在监控到应用被安装时进行病毒检测。首先,杀软会判断当前网络连接类型:
(1)如果没有连接网络或者连接的是非wifi网络,则按照快速查杀流程,查询本地数据库进行恶意应用的检测。
(2)如果是wifi网络,则将正在被安装应用的包名和md5值发送给服务器http://apk.scapi.aqgj.cn/xcloud/cloud.php,相关代码如下:
实际抓包获取到的数据如下图所示:
服务器返回应用的恶意行为信息、危险级别、md5值、包名等信息。下图为检测到恶意应用时服务器返回的信息:
下图为正常应用服务器返回的信息:
如果检测到恶意应用,则将恶意应用的包名、人气、评分、安全级别、恶意行为、评论信息等数据更新到appdata数据库的newapp表中。同时将病毒包名写入userhabit.xml文件中。
同时弹出安全提示窗口,要求用户确认是否删除。
并在通知栏弹出通知信息。
原文地址: http://www.cnblogs.com/goodhacker/p/5222096.html
管家病毒查杀模块逆向分析相关推荐
- 彻底分析ARP病毒查杀防范全攻略
彻底分析ARP病毒查杀防范全攻略 近期在全国范围内大规模爆发arp病毒及其各种变种.如果局域网中发现许多台电脑中毒,电脑中毒后会向同网段内所有计 ...
- Android进阶之路 - 病毒查杀
那段时间公司app陆续被应用平台下架,后面发现主要被腾讯管家报的木马病毒,针对于此病毒,官方并未进行说明,对应病毒资料也很少,所以我们需要自己逐步去排毒,解决病毒最重要的一步应该是定位病毒,然后根据病 ...
- 卡巴斯基将瑞星卡卡当病毒查杀 瑞星表示不解
5月19日下午消息,瑞星公司今日下午正式发出公告,称旗下软件卡卡上网安全助手升级组件,遭卡巴斯基反病毒软件当做病毒查杀.瑞星公司表示,卡卡软件没有任何违规的地方,完全不理解为什么卡巴斯基查杀瑞星卡卡. ...
- W32.Downedup.B顽固病毒——查杀记
W32.Downedup.B顽固病毒--查杀记:前因后果 Dec 20.2011 这几天的我,埋头忙碌于处理这么一件事--近来被一个名为W32.Downedup.B顽固病毒折腾了一段时间,弄得新上线的 ...
- 文件夹exe病毒查杀方法(图解)
文件夹exe病毒查杀方法(图解) http://www.antidu.cn/html/200901/wenjianjiabingdu-exe.html ------------------------ ...
- android病毒下载地址,LINE病毒查杀
LINE病毒查杀是免费通话.免费传讯「LINE」的周边应用程序之一.它能保护智能手机上个人信息的安全,使其免于病毒或恶意程序的侵害.您只要执行几个简单的步骤就能确认手机状态或完成病毒扫描. LINE病 ...
- android146 360 病毒查杀
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- Android病毒查杀原理
1.常规本地查杀 特征码: 在手机系统中,每个应用都有它特有的特征信息,他是该应用所特有的,每个应用都是不同的,这就是手机的特征码. 应用的特征码包括:包名和应用签名 Android中,同一个包名的程 ...
- U盘病毒查杀并打补丁
一个查杀U盘病毒并给每个磁盘打补丁的批处理,打过补丁后的磁盘(包括U盘.移动硬盘)可以避免感染绝大部分U盘病毒.下面给出程序代码: @echo off cls color 0D echo. echo ...
最新文章
- Android应用工程文件组成
- 尹伊:Datawhale做的一件事
- SharePoint:如何设置某个页面必须由站点集管理员打开
- G6 图可视化引擎——入门教程——使用图布局 Layout
- 2017年 JavaScript 框架回顾 -- React生态系统
- python数据结构_大O符号_学习笔记(1)
- 前端学习(2946):vue-cli使用
- android是语言吗,android – 内容描述应该是多种语言吗?
- python爬虫 正则表达式 re.finditer 元字符 贪婪匹配 惰性匹配
- QCostomPlot 示例注解 3
- 关于学习Python的一些心得
- Struts2中Action各种转发类型
- CSS学习总结3:CSS定位
- Septentrio RAIM+接收机自主完好性监测实验
- 遗传算法拟合函数(原理及Python实现)
- Access的BOM开发(2)基础信息
- 邮件群发系统 php,QQ邮箱群发PHP源码
- 制造业MES系统数字化转型
- 【论文阅读】提升的自动作文评分通过Prompt预测和匹配
- DWH的保留原始历史数据的一种方法