劉繼瑩 譚振江
摘要:當(dāng)下互聯(lián)網(wǎng)技術(shù)發(fā)展迅速,各項(xiàng)工作均在邁向信息化道路。2017年年末全國(guó)各地逐步地展開了監(jiān)察體制改革工作,改革以來,通過對(duì)手機(jī)信息的提取、分析、整理,對(duì)案件的審查調(diào)查有著十分重要的作用。本文通過對(duì)Android手機(jī)中微信語(yǔ)音取證的研究探討來推進(jìn)案件的審查調(diào)查進(jìn)度,提高案件辦理效率。
關(guān)鍵詞: Android系統(tǒng); 微信語(yǔ)音取證; 司法取證
【Abstract】 The current Internet technology is developing rapidly, and all work is on the road to informatization.At the end of 2017, the supervision system reform work was gradually carried out across the country.Since the reform, through the extraction, analysis and sorting of mobile phone information, it has played a very important role in the investigation and investigation of cases.This article promotes the progress of the case investigation and investigation through the research and discussion of WeChat voice forensics in Android phones, and improves the efficiency of the case inspection and supervision.
【Key words】 ?Android system; WeChat voice forensics; judicial forensics
0 引 言
2019年8月30日,CNNIC發(fā)布了第44次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》。報(bào)告中指出,截至到2019年6月,中國(guó)通過手機(jī)上網(wǎng)的民眾數(shù)量已經(jīng)達(dá)到8.47億,占比高達(dá)99.1%,較去年年底上升0.5個(gè)百分點(diǎn)[1]。2019年上半年,手機(jī)上網(wǎng)用戶使用的App中,即時(shí)通信類App的使用時(shí)間最長(zhǎng),其中微信則已成為備受大眾青睞的最常用的通訊工具。因此,對(duì)于手機(jī)取證來說,微信取證具有極大的現(xiàn)實(shí)意義。微信可以實(shí)現(xiàn)文字、語(yǔ)音通信、文件傳輸、資金支付等功能,現(xiàn)已成為人們生活中不可缺少的通信工具。多數(shù)情況下,手機(jī)中存儲(chǔ)了包括微信記錄在內(nèi)的大量信息[2-3],在案件審查調(diào)查中手機(jī)微信取證工作起著不可或缺的作用。其一通過手機(jī)取證獲取的信息可以直接作為證據(jù);其二通過獲取到的信息,特別是微信交互信息,可以提高案件破獲效率。
1 手機(jī)數(shù)據(jù)取證基本理論
1.1 手機(jī)數(shù)據(jù)取證定義
Android手機(jī)數(shù)據(jù)取證就是通過對(duì)被調(diào)查人使用過的手機(jī)中存儲(chǔ)的數(shù)據(jù)進(jìn)行技術(shù)提取,再將提取出的數(shù)據(jù)進(jìn)行整合分析,既可為案件提供證據(jù)支持[4],也可通過在手機(jī)中獲取的信息找到案件的突破點(diǎn)。
1.2 手機(jī)數(shù)據(jù)取證內(nèi)容
手機(jī)取證包含2部分內(nèi)容,分別是:基本的數(shù)據(jù)信息;使用者在各類App程序中產(chǎn)生的數(shù)據(jù)記錄信息,如微信語(yǔ)音記錄、通話記錄、瀏覽器搜索及瀏覽網(wǎng)頁(yè)內(nèi)容、各類支付軟件中的資金交易信息等[5]。
1.3 手機(jī)數(shù)據(jù)取證步驟
步驟1 獲取到被調(diào)查人的手機(jī)是整個(gè)取證工作的基礎(chǔ),這個(gè)過程要嚴(yán)格履行相應(yīng)的程序手續(xù),同時(shí)要申請(qǐng)對(duì)被調(diào)查人手機(jī)取證的權(quán)限[6]。
步驟2 保證電量,同時(shí)在開機(jī)后要將手機(jī)的網(wǎng)絡(luò)斷開或者將手機(jī)調(diào)至飛行模式,防止新數(shù)據(jù)的寫入破壞原有記錄[7]。
步驟3 準(zhǔn)備工作做好后,要按照規(guī)定的步驟對(duì)手機(jī)進(jìn)行數(shù)據(jù)提取。
步驟4 對(duì)提取出的數(shù)據(jù)進(jìn)行分析研判,在其中尋找與案件相關(guān)的線索,最終形成取證報(bào)告[8]。具體流程如圖1所示。
2 Android系統(tǒng)數(shù)據(jù)存儲(chǔ)
研究可知,考慮到Android系統(tǒng)的開源性,即使得Android系統(tǒng)現(xiàn)已廣泛應(yīng)用于便攜設(shè)備中。Android系統(tǒng)有5種存儲(chǔ)方式來存儲(chǔ)不同類型的數(shù)據(jù),具體闡述如下。
(1)SharedPreferences:存儲(chǔ)應(yīng)用程序的配置信息。
(2)Files:存儲(chǔ)大容量數(shù)據(jù)。
(3)SQLite DataBase:存儲(chǔ)用戶的所有個(gè)人數(shù)據(jù)。
(4)ConteneProvider:實(shí)現(xiàn)各程序間的數(shù)據(jù)共享。
(5)網(wǎng)絡(luò):通過連接網(wǎng)絡(luò)來獲取應(yīng)用程序所需要的數(shù)據(jù)。
3 微信語(yǔ)音取證工作
3.1 微信語(yǔ)音數(shù)據(jù)的存放路徑
在內(nèi)部存儲(chǔ)下有一個(gè)Tencent目錄[9],Tencent是騰訊手機(jī)App數(shù)據(jù)存放目錄。Tencent下的MicroMsg目錄中存儲(chǔ)著微信用戶的多媒體文件,如圖2所示,包括接收的圖片、語(yǔ)音、視頻等信息。有時(shí)候,會(huì)用手機(jī)登錄不同的微信賬號(hào),每登錄一個(gè)賬號(hào),”/Tencent/MicroMsg/”路徑下就會(huì)創(chuàng)建一個(gè)登錄賬號(hào)對(duì)應(yīng)的文件[10]。文件下有一個(gè)voice2目錄,目錄中就存儲(chǔ)著人們要找的微信語(yǔ)音記錄。找到其下第三層中的.amr文件,這就是微信語(yǔ)音存儲(chǔ)文件,如圖3所示。
3.2 微信語(yǔ)音文件播放
通過存儲(chǔ)路徑,很容易就找到了微信語(yǔ)音文件,將其拷貝后,但卻會(huì)發(fā)現(xiàn)并不能直接將拷貝得到的.amr文件順利播放出來。在語(yǔ)音聊天信息存儲(chǔ)時(shí),微信對(duì)其文件格式做了特別的處理,此時(shí)如果想要播放語(yǔ)音文件,就要對(duì)獲取到的.amr文件進(jìn)行還原解碼。大部分.amr文件以SILK_V3開頭,若要還原成可正常播放的文件,就要將微信做出的處理加以還原??偟貋碚f,就是要跳過.amr文件的前10個(gè)字節(jié),再把第11、12字節(jié)的值組成的十進(jìn)制整數(shù)記作N,真正的Silk數(shù)據(jù)是從第13字節(jié)數(shù)N個(gè)字節(jié)后開始的,而此前的字節(jié)在將其刪除后,獲取到Silk數(shù)據(jù),通過調(diào)用Skype公開算法對(duì)數(shù)據(jù)進(jìn)行解碼,將其轉(zhuǎn)成MP3格式,就可以正常播放了。
操作過程如下:用WinHex工具來修改.amr文件的文件頭信息,如圖4所示。首先刪掉開頭的前10個(gè)字節(jié)”0x02 0x23 0x21 0x53 0x49 0x4C 0x4B 0x5F 0x56 0x33”。找到第11、12字節(jié),從圖4中看即為”0x0C”和”0x00”,組成十進(jìn)制整數(shù)13,13就是數(shù)據(jù)偏移量,因此從”0xA7”開始的13個(gè)字節(jié)”0xA7 0x2B 0x74 0xF7 0xA8 0xEE 0x49 0xE5 0xE0 0x23 0x70 0x43 0x0B”后才是音頻文件真正的開始位置。經(jīng)修改文件頭信息后,再通過音頻轉(zhuǎn)換算法將文件轉(zhuǎn)換成MP3格式。
3.3 .amr文件與微信語(yǔ)音關(guān)聯(lián)
voice2目錄下的每一個(gè).amr文件都是一條微信語(yǔ)音記錄[11],但為了將.amr文件同聊天消息關(guān)聯(lián)上,通過研究發(fā)現(xiàn)在每個(gè).amr文件上有2層目錄,如圖5所示?!眃0”、”fe”,是十六進(jìn)制字符,這兩個(gè)字符是與語(yǔ)音消息相關(guān)聯(lián)的重要標(biāo)識(shí),通過此標(biāo)識(shí)就可以將.amr文件與對(duì)應(yīng)聊天消息關(guān)聯(lián)上[12]。
在微信數(shù)據(jù)庫(kù)文件中,找到名為message的數(shù)據(jù)表,這個(gè)數(shù)據(jù)表中就記錄了語(yǔ)音消息的相應(yīng)信息。在message數(shù)據(jù)表中有type字段和imgPath字段。當(dāng)type字段的值為34時(shí),此條記錄為語(yǔ)音記錄;imgPath中的內(nèi)容的MD5值是16字節(jié)編碼,該編碼前2個(gè)字節(jié)就是上述路徑中的標(biāo)識(shí),以此實(shí)現(xiàn).amr文件同消息的關(guān)聯(lián)[13]。
3.4 EnMicroMsg.db數(shù)據(jù)庫(kù)文件
3.4.1 微信數(shù)據(jù)庫(kù)文件
Android手機(jī)中的數(shù)據(jù)庫(kù)文件存放在/data/data/com.tencent.mm中,名為EnMicroMsg.db。要想找到并拷貝出EnMicroMsg.db文件,就要將手機(jī)ROOT得到最高權(quán)限[14]。在ROOT過的手機(jī)中將EnMicroMsg.db文件拷貝出來,該文件是經(jīng)過嚴(yán)格加密保存的,要將其打開還需要得到EnMicroMsg.db數(shù)據(jù)庫(kù)文件密碼[15],獲得密碼的前提是先獲取IMEI和UIN。
3.4.2 獲取IMEI
IMEI是識(shí)別碼。IMEI獲取方式有2種方式。第一種,通過系統(tǒng)的配置文件Compatible.cfg中獲取IMEI碼。第二種,手機(jī)開機(jī)后跳轉(zhuǎn)至撥號(hào)頁(yè)面,鍵入”* # 06 #”后,就可以查看到IMEI碼。
3.4.3 獲取UIN
UIN是user information。在”/data/data/com.tencent.mm”下的shared_prefs目錄中存儲(chǔ)著system_config_prefs.xml、app_brand_global_sp.xml文件,從中就可以獲取到UIN。
UIN 碼是計(jì)算密鑰的關(guān)鍵元素,而多個(gè)微信賬號(hào)登錄同一個(gè)Android 手機(jī)時(shí),在配置文件system_config_ prefs.xml 中只保存最后一個(gè)登錄的UIN碼。獲取其他賬戶的信息,必須利用保留在手機(jī)中的每個(gè)賬號(hào)的 32 位緩存文件名,udir_name =MD5(mm+uin)。依據(jù)已知的 32位文件名得到對(duì)應(yīng)的UIN。
3.4.4 EnMicroMsg.db文件密碼
要想破解EnMicroMsg.db文件的密碼,就要知道[CM)][LL]其密碼的算法,算法為把IMEI與UIN拼接后計(jì)算32位MD5值,在此基礎(chǔ)上選取前7位,如圖6所示。
4 結(jié)束語(yǔ)
本文通過對(duì)Android手機(jī)中的微信語(yǔ)音數(shù)據(jù)文件進(jìn)行提取、并與微信聊天消息相關(guān)聯(lián)、最后對(duì).amr文件還原解碼播放,來達(dá)到微信語(yǔ)音數(shù)據(jù)成功取證,以此實(shí)現(xiàn)通過對(duì)微信語(yǔ)音數(shù)據(jù)取證工作來推進(jìn)案件的審查調(diào)查進(jìn)度,提高辦案效率。本文研究具有重要的現(xiàn)實(shí)意義。
參考文獻(xiàn)
[1] 于朝暉. CNNIC發(fā)布第44次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》[J]. 網(wǎng)情軍民融合,2019(9):30.
[2]潘其凡. 現(xiàn)行監(jiān)察體制下職務(wù)犯罪調(diào)查權(quán)問題研究[D]. 上海:華東政法大學(xué),2018.
[3]黃鑫. 國(guó)家監(jiān)察體制改革法治化構(gòu)建之維—兼論“社會(huì)中心主義”與反腐“理性構(gòu)建”[J]. 時(shí)代法學(xué),2018,16(5):64.
[4]李佳. 微信語(yǔ)音鑒定意見的審查[J]. 人民檢察,2018(2):12.
[5]羅建利. Android手機(jī)數(shù)據(jù)取證在案件偵破中的應(yīng)用研究[D]. ?廣州:華南理工大學(xué),2016.
[6]王弈. 手機(jī)取證規(guī)范化研究[J]. 電信科學(xué),2010,26(S2):65.
[7]楊雪. Android手機(jī)取證技術(shù)研究綜述[J]. 計(jì)算機(jī)時(shí)代,2015(6):7.
[8]孫波,孫玉芳,張相鋒,等. 電子數(shù)據(jù)取證研究概述[J]. 計(jì)算機(jī)科學(xué),2005,32(2):13.
[9]PEREIRA M T. Forensic analysis of the Firefox 3 Internet history and recovery of deleted SQLite records[J]. Digital Investigation,2009,5(3-4):93.
[10]張艷姣,曾光裕,馮培均,等. 一種基于Android平臺(tái)的微信取證分析方法[J]. 信息工程大學(xué)學(xué)報(bào),2018,19(6):719.
[11]王偉兵,文伯聰,吳琪. 復(fù)雜條件下的Android版微信取證方法研究[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017(8):170.
[12]SANGJUN J, JEWAN B,KEUNDUCK B,et al. A recovery method of deleted record for SQLite database[J]. Personal and Ubiquitous Computing,2012,16(6):707.
[13]黃平,周俊峰,陶遠(yuǎn)輝. Android手機(jī)微信語(yǔ)音聊天數(shù)據(jù)提取研究[J]. 警察技術(shù),2017(2):64.
[14]陳丹. 基于Android平臺(tái)的手機(jī)取證技術(shù)[J]. 信息與電腦(理論版),2019(5):186.
[15]金波,吳松洋,熊雄,等. 新型智能終端取證技術(shù)研究[J]. 信息安全學(xué)報(bào),2016,1(3):37.