本文研究的是*管家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

管家病毒查杀模块逆向分析相关推荐

  1. 彻底分析ARP病毒查杀防范全攻略

                           彻底分析ARP病毒查杀防范全攻略      近期在全国范围内大规模爆发arp病毒及其各种变种.如果局域网中发现许多台电脑中毒,电脑中毒后会向同网段内所有计 ...

  2. Android进阶之路 - 病毒查杀

    那段时间公司app陆续被应用平台下架,后面发现主要被腾讯管家报的木马病毒,针对于此病毒,官方并未进行说明,对应病毒资料也很少,所以我们需要自己逐步去排毒,解决病毒最重要的一步应该是定位病毒,然后根据病 ...

  3. 卡巴斯基将瑞星卡卡当病毒查杀 瑞星表示不解

    5月19日下午消息,瑞星公司今日下午正式发出公告,称旗下软件卡卡上网安全助手升级组件,遭卡巴斯基反病毒软件当做病毒查杀.瑞星公司表示,卡卡软件没有任何违规的地方,完全不理解为什么卡巴斯基查杀瑞星卡卡. ...

  4. W32.Downedup.B顽固病毒——查杀记

    W32.Downedup.B顽固病毒--查杀记:前因后果 Dec 20.2011 这几天的我,埋头忙碌于处理这么一件事--近来被一个名为W32.Downedup.B顽固病毒折腾了一段时间,弄得新上线的 ...

  5. 文件夹exe病毒查杀方法(图解)

    文件夹exe病毒查杀方法(图解) http://www.antidu.cn/html/200901/wenjianjiabingdu-exe.html ------------------------ ...

  6. android病毒下载地址,LINE病毒查杀

    LINE病毒查杀是免费通话.免费传讯「LINE」的周边应用程序之一.它能保护智能手机上个人信息的安全,使其免于病毒或恶意程序的侵害.您只要执行几个简单的步骤就能确认手机状态或完成病毒扫描. LINE病 ...

  7. android146 360 病毒查杀

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  8. Android病毒查杀原理

    1.常规本地查杀 特征码: 在手机系统中,每个应用都有它特有的特征信息,他是该应用所特有的,每个应用都是不同的,这就是手机的特征码. 应用的特征码包括:包名和应用签名 Android中,同一个包名的程 ...

  9. U盘病毒查杀并打补丁

    一个查杀U盘病毒并给每个磁盘打补丁的批处理,打过补丁后的磁盘(包括U盘.移动硬盘)可以避免感染绝大部分U盘病毒.下面给出程序代码: @echo off cls color 0D echo. echo  ...

最新文章

  1. Android应用工程文件组成
  2. 尹伊:Datawhale做的一件事
  3. SharePoint:如何设置某个页面必须由站点集管理员打开
  4. G6 图可视化引擎——入门教程——使用图布局 Layout
  5. 2017年 JavaScript 框架回顾 -- React生态系统
  6. python数据结构_大O符号_学习笔记(1)
  7. 前端学习(2946):vue-cli使用
  8. android是语言吗,android – 内容描述应该是多种语言吗?
  9. python爬虫 正则表达式 re.finditer 元字符 贪婪匹配 惰性匹配
  10. QCostomPlot 示例注解 3
  11. 关于学习Python的一些心得
  12. Struts2中Action各种转发类型
  13. CSS学习总结3:CSS定位
  14. Septentrio RAIM+接收机自主完好性监测实验
  15. 遗传算法拟合函数(原理及Python实现)
  16. Access的BOM开发(2)基础信息
  17. 邮件群发系统 php,QQ邮箱群发PHP源码
  18. 制造业MES系统数字化转型
  19. 【论文阅读】提升的自动作文评分通过Prompt预测和匹配
  20. DWH的保留原始历史数据的一种方法

热门文章

  1. 剪刀、石头、布机器人比赛
  2. 批量操作WinRAR实用技巧七招
  3. 找出指定范围的回文数C++代码实现
  4. 用matlab绘制升余弦函数
  5. [云炬ThinkPython阅读笔记]2.1 赋值语句
  6. USTC English Club Note20171011
  7. 回馈读者:赠花书一本!
  8. 台湾大学林轩田机器学习基石课程学习笔记12 -- Nonlinear Transformation
  9. VTK修炼之道37:图像平滑_高斯滤波器
  10. PIC单片机入门_PICC头文件介绍