管家病毒查杀模块逆向分析
本文研究的是*管家2.8—3.6版本的殺毒模塊功能實(shí)現(xiàn)。眾所周知,殺毒軟件查殺病毒分為主動(dòng)查殺和被動(dòng)查殺兩種方式。*管家的主動(dòng)查殺包括快速查收和全盤查殺,而快速查殺和全盤查殺都使用了本地查殺技術(shù)和云查殺技術(shù)。
快速查殺
? ? ? 快速查殺首先獲取系統(tǒng)安裝的所有應(yīng)用。創(chuàng)建"/data/data/com.anguanjia.safe/classes.dex"文件,將待掃描的apk解壓,獲取包中的classes.dex文件內(nèi)容寫入到"/data/data/com.anguanjia.safe/classes.dex"文件中。
?
然后計(jì)算"/data/data/com.anguanjia.safe/classes.dex"文件的md5值,完成后刪除該文件。
?
將得到的md5再次取md5值,然后與本地?cái)?shù)據(jù)庫(kù)進(jìn)行匹配,具體檢測(cè)過(guò)程如下圖所示:
?
?上圖中的getMyParam11函數(shù)實(shí)質(zhì)就是對(duì)service字符串拼接“0x400-service字符串長(zhǎng)度”長(zhǎng)度的0后進(jìn)行base64編碼:
下圖為掃描應(yīng)用的service時(shí)監(jiān)控到的log輸出:
?
下圖為檢測(cè)到病毒時(shí)(l>0)更新appdata數(shù)據(jù)庫(kù)的newapp表代碼:
?
云查殺
在云查殺時(shí),獲取系統(tǒng)安裝應(yīng)用的包名、應(yīng)用名稱、證書(shū)簽發(fā)者、證書(shū)序列號(hào)、classes.dex文件的md5值、是否系統(tǒng)應(yīng)用等信息上傳到http://av.aqgj.cn/p/a1.php。
?
?
?以下為云查殺時(shí)抓包獲取的發(fā)送給服務(wù)器端的數(shù)據(jù):
?
服務(wù)器端以xml格式返回檢測(cè)到的惡意應(yīng)用信息,如下圖所示:
然后將檢測(cè)到的惡意應(yīng)用包名、類型以及危險(xiǎn)級(jí)別存入trojankill數(shù)據(jù)庫(kù)的trojan_kill_result表中:
?
將查殺時(shí)間保存到"/data/data/shared_prefs/com.anguanjia.safe_preferences.xml"文件的"last_kill_date"字段中。然后將掃描結(jié)果、掃描類型和掃描到的惡意應(yīng)用包名保存入ScanLogDb數(shù)據(jù)庫(kù)的"ScanLogDb"表中:
?
全盤查殺
全盤掃描分兩個(gè)部分進(jìn)行:
(1)有sd卡掛載,則掃描sd卡所有文件,檢測(cè)后綴為“apk”或者“APK”的所有文件,其檢測(cè)步驟與快速查殺一樣。
?
判斷文件后綴:
?
(2)如果沒(méi)有sd卡掛載,則掃描系統(tǒng)安裝的所有應(yīng)用。檢測(cè)步驟與快速查殺一樣。
被動(dòng)查殺
被動(dòng)查殺是在監(jiān)控到應(yīng)用被安裝時(shí)進(jìn)行病毒檢測(cè)。首先,殺軟會(huì)判斷當(dāng)前網(wǎng)絡(luò)連接類型:
(1)如果沒(méi)有連接網(wǎng)絡(luò)或者連接的是非wifi網(wǎng)絡(luò),則按照快速查殺流程,查詢本地?cái)?shù)據(jù)庫(kù)進(jìn)行惡意應(yīng)用的檢測(cè)。
(2)如果是wifi網(wǎng)絡(luò),則將正在被安裝應(yīng)用的包名和md5值發(fā)送給服務(wù)器http://apk.scapi.aqgj.cn/xcloud/cloud.php,相關(guān)代碼如下:
?
實(shí)際抓包獲取到的數(shù)據(jù)如下圖所示:
?
服務(wù)器返回應(yīng)用的惡意行為信息、危險(xiǎn)級(jí)別、md5值、包名等信息。下圖為檢測(cè)到惡意應(yīng)用時(shí)服務(wù)器返回的信息:
?
下圖為正常應(yīng)用服務(wù)器返回的信息:
?
如果檢測(cè)到惡意應(yīng)用,則將惡意應(yīng)用的包名、人氣、評(píng)分、安全級(jí)別、惡意行為、評(píng)論信息等數(shù)據(jù)更新到appdata數(shù)據(jù)庫(kù)的newapp表中。同時(shí)將病毒包名寫入userhabit.xml文件中。
同時(shí)彈出安全提示窗口,要求用戶確認(rèn)是否刪除。
?
并在通知欄彈出通知信息。
原文地址:?http://www.cnblogs.com/goodhacker/p/5222096.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的管家病毒查杀模块逆向分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android应用安全之Content
- 下一篇: “蜥蜴之尾”——长老木马四代分析报告