編者按:在手機(jī)電子數(shù)據(jù)取證領(lǐng)域,微信數(shù)據(jù)提取一直都是行業(yè)關(guān)注的焦點(diǎn)。自微信正式小程序發(fā)布以來,在行業(yè)內(nèi)外引發(fā)了高度關(guān)注。目前,針對(duì)微信小程序數(shù)據(jù)提取與解析還處于空白階段,市面上還未出現(xiàn)任何可以提取微信小程序數(shù)據(jù)的軟件或工具,這也給手機(jī)取證帶來難題。為此,數(shù)據(jù)恢復(fù)四川省重點(diǎn)實(shí)驗(yàn)室科研人員將以手機(jī)中的一些高頻程序?yàn)槔?,講解微信小程序的存儲(chǔ)結(jié)構(gòu)及如何提取。
一、背景介紹
2017年1月9日,萬眾矚目的微信小程序正式發(fā)布。微信小程序是一種不需要下載安裝即可使用的應(yīng)用,用戶只需掃一掃或搜一下即可打開應(yīng)用。這不僅解決了手機(jī)安裝多個(gè)應(yīng)用APP的內(nèi)存問題,同時(shí)也為急需使用某應(yīng)用的用戶解決了燃眉之急,不用在軟件商店下載安裝,也體現(xiàn)了“用完即走”的理念,用戶不用關(guān)心是否安裝太多應(yīng)用的問題。
【圖1】
二、微信小程序數(shù)據(jù)提取意義
微信小程序具有無處不在,隨時(shí)可用,但又無需安裝卸載等優(yōu)點(diǎn),極具普及性及廣泛性。目前,美團(tuán)外賣、滴滴公交查詢、車來了、大眾點(diǎn)評(píng)、京東購物、摩拜單車、滴滴出行、攜程網(wǎng)等高頻使用軟件都已開始進(jìn)入微信小程序,未來將會(huì)有更多的應(yīng)用軟件進(jìn)入,甚至完全替代現(xiàn)有網(wǎng)絡(luò)應(yīng)用模式。
微信小程序會(huì)記錄當(dāng)前小程序產(chǎn)生的用戶數(shù)據(jù),包括地理位置、聊天記錄、行蹤軌跡等,這些數(shù)據(jù)在案件偵破中往往可以起到關(guān)鍵作用,使案件線索更加明朗,可以提升辦案人員工作效率。目前,市面上的取證工具和軟件,針對(duì)的都是對(duì)手機(jī)應(yīng)用軟件數(shù)據(jù)進(jìn)行直接提取,未發(fā)現(xiàn)任何可以支持提取微信小程序數(shù)據(jù)的軟件或工具,一旦取證過程中需要提取微信小程序里的數(shù)據(jù),辦案人員便會(huì)束手無策。因此,研究微信小程序的數(shù)據(jù)分析與提取,對(duì)整個(gè)電子數(shù)據(jù)取證行業(yè)都有重要指導(dǎo)意義。
三、如何激活微信小程序
1.升級(jí)微信到最新版本6.5.3;
2.在微信的第一個(gè)頁面的頂端,有一個(gè)搜索按鈕,在搜索條里輸入:小程序示例(必須輸入完整,暫不支持模糊搜索),然后搜索;
3.選擇第一個(gè)結(jié)果,圖標(biāo)是黑色斜寫的英文字母“S”,點(diǎn)開它,進(jìn)入后無需任何操作;
4.在微信第一個(gè)頁面的末端,就會(huì)發(fā)現(xiàn)小程序的入口,激活成功;
5.在“發(fā)現(xiàn)”里點(diǎn)開小程序,在里面搜索不同的小程序。
備注:具體操作過程,可參考微信小程序大全:http://mp.weixin.qq.com/s/8AjrZdCePhJi5YgiH-fJ0Q
四、微信小程序使用前后的數(shù)據(jù)變化
微信6.5.3版本(目前最新版本)已攜帶小程序所需環(huán)境,appbrand%文件為小程序相關(guān)文件,存儲(chǔ)在賬號(hào)id下,如圖2。
【圖2】
經(jīng)數(shù)據(jù)恢復(fù)四川省重點(diǎn)實(shí)驗(yàn)室科研人員分析,AppBrandComm.db為非常規(guī)數(shù)據(jù)庫,通過對(duì)其進(jìn)行解密操作,發(fā)現(xiàn)如果未使用小程序的,數(shù)據(jù)庫內(nèi)多項(xiàng)表值為空;而使用過小程序的,則會(huì)在表中存儲(chǔ)數(shù)據(jù)。
五、微信小程序數(shù)據(jù)解析
1.獲取小程序的“安裝”包
首批接受邀請(qǐng)的企業(yè)小程序已經(jīng)上線,由于微信內(nèi)部對(duì)于小程序的大小進(jìn)行設(shè)定(目前大小為一兆),企業(yè)只能實(shí)現(xiàn)一些簡(jiǎn)單功能。在AppBrandComm.db中,某表則存儲(chǔ)了小程序與包名的關(guān)聯(lián),如圖3。
【圖3】
2.獲取使用的微信小程序本地存儲(chǔ)數(shù)據(jù)
微信小程序以key-data的鍵值方式存儲(chǔ)數(shù)據(jù)。其中,key值指明“程序名——操作”,data值為具體數(shù)據(jù),表中標(biāo)明數(shù)據(jù)存儲(chǔ)類型。
每項(xiàng)表中每個(gè)小程序都有一個(gè)wxXXXXXXXXXX++@@@TOTAL@DATA@SIZE@@@值,表明總共數(shù)據(jù)大小,統(tǒng)計(jì)該程序所有key-data的數(shù)據(jù)大小總和,如圖4。
【圖4】
六、案例實(shí)操
為了便于大家更易理解,我們以微信小程序中的高頻軟件——“大致點(diǎn)評(píng)”為例,進(jìn)行實(shí)操講解。
1.從AppBrandComm.db中的AppBrandWxaAppInfo表獲取appId、appName,如圖5。
【圖5】
2.從AppBrandComm.db中的AppBrandKVData表獲取key、data、dataType。
KEY值:appId_關(guān)鍵詞[如history];
Data:對(duì)應(yīng)的鍵值數(shù)據(jù);
如:“大眾點(diǎn)評(píng)”的key為“wx734c1ad7b3562129__keyword_history”,對(duì)應(yīng)data為Object類型的關(guān)鍵詞搜索歷史,如圖6。
【圖6】
結(jié)語:微信小程序試圖創(chuàng)造操作系統(tǒng)中的微型操作系統(tǒng),顛覆現(xiàn)有的網(wǎng)絡(luò)應(yīng)用模式。無論是網(wǎng)站,還是APP,都將變成微信里的一個(gè)小程序。對(duì)于手機(jī)電子數(shù)據(jù)取證而言,微信小程序數(shù)據(jù)提取必將是未來研究的一個(gè)重點(diǎn)。本期,數(shù)據(jù)恢復(fù)四川省重點(diǎn)實(shí)驗(yàn)室科研人員講解了如何對(duì)微信小程序數(shù)據(jù)結(jié)構(gòu)進(jìn)行解析,填補(bǔ)了國內(nèi)相關(guān)領(lǐng)域的空白。目前,此方法已經(jīng)開始在效率源SPF9139智能手機(jī)數(shù)據(jù)恢復(fù)取證系統(tǒng)中進(jìn)行應(yīng)用測(cè)試,將有助于進(jìn)一步提升工作效率。




