999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向取證應用的PC版微信的內存分析方法

2019-04-01 12:44:06曾劍平
計算機應用與軟件 2019年2期
關鍵詞:微信內容分析

李 威 廖 健 曾劍平

1(浙江中煙工業有限責任公司信息中心 浙江 杭州 310001) 2(復旦大學計算機科學技術學院 上海 200433)

0 引 言

微信作為一款免費即時通信軟件,因其方便快捷的特性,迅速成為了人們溝通交流所普遍使用的工具。微信的崛起是一把雙刃劍,在給公眾帶來便利的同時,也讓不法分子有了可乘之機。由于微信本身是一個信息傳遞平臺,并且擁有數量龐大的非實名制用戶群體,在魚龍混雜的用戶環境下,利用微信進行的犯罪活動日益猖獗。微信犯罪已經成為了一種新的犯罪形式,正在不斷引起社會的廣泛關注,而許多微信犯罪案件的偵破工作都需要相應的取證分析技術,所以對微信信息的分析技術的研究就有了重大意義[1]。

不法分子在作案時經常出現的情況是通過微信聊天對受害者進行誘導或是詐騙。通常情況下,不法分子會具備一定的反偵查能力,會下意識的減少或是掩蓋自己的犯罪證據。因此在此類案件中經常會發生的情況是不法分子在發送完一些證據信息之后狡猾地選擇撤回這些消息,從而干擾警方的取證工作。

由于微信應用本身沒有提供還原撤回信息的功能,消息一經撤回就難以還原,而目前微信取證分析技術領域對于怎樣還原這些具有證明案件事實能力的信息也沒有系統的方法。因此,本文針對PC版微信軟件,進行了內存結構分析,特別對文本、表情等信息撤回的特征進行了分析,給出了一種分析方法和流程。

1 研究現狀

在計算機取證技術的研究方向中,有兩個研究方向占據了主要地位,一個是磁盤取證,一個是內存取證[2]。其中磁盤取證是早年使用得很多的一種取證手段,但由于目前磁盤容量擴大,磁盤加密等技術的風行,從磁盤中提取證據在某些情況下就變得更加困難了,因此,現階段內存取證也成為計算機取證技術的一種重要手段。

內存證據分析技術也分為兩部分,其一是內存數據獲取,研究怎樣從計算機上獲得完整的內存數據,實現方法主要是通過收集內存鏡像;其二是內存分析,研究怎樣對獲取的內存進行分析,從而提取相關的數據[2]。

目前主流的內存分析方法共有4種,分別為:字符串搜索法、內存掃描法、基于數據結構特征法、基于操作系統關鍵數據結構法[3]。字符串搜索法是指在內存中對已知的敏感信息進行搜索,例如“銀行賬戶”、“密碼”等詞匯,鎖定內存中的證據內容。但是,基于字符串搜索的方法所得到的結果準確度得不到保證,因為沒有其他搜索條件的輔助存在,只要包括搜索內容的字段都會作為結果返回,導致的問題就是搜索結果過于粗糙。基于數據結構特征法是指通過數據結構或者已知字段的一些特征,對內存進行掃描。由于在這種方法中會使用一系列的語言對特征進行精確描述,所以分析結果準確性較高,但相應的問題是,這種方法依賴于特征的存在,所以應用范圍較為狹窄。基于操作系統關鍵數據結構法是指一種通過分析操作系統的關鍵數據結構來幫助取證的方法,由于操作系統中包含有很多關鍵數據結構,所以基于關鍵數據結構進行分析的方法就有很多種,通常對取證工作幫助最大的進程結構是EPROCESS[7-8]。

微信作為一種使用范圍非常廣泛的綜合性工具,系統中的許多數據成為取證的重點,因此微信取證技術得到了越來越多的研究。

吳熙曦等[4]在基于KNN的Android智能手機微信取證方法中,提出了一種在大量微信聊天記錄中快速鎖定與案件有關內容的方法。他們利用同義詞林計算微信聊天信息中的詞語相似度,從中篩選最佳特征詞,再通過向量表示會話,利用KNN算法對會話進行分類,從而實現較快速地從大量聊天會話內容中找到與案件相關的內容,提高微信取證的效率。湯帥等[5]提出了一種基于iOS平臺進行微信取證的方法,利用iTunes對iPhone/iPad的備份文件進行提取,在備份文件中,可以還原出微信程序的信息文件,從而進行微信取證工作。馬夢筆[6]在2015年對iOS平臺下微信刪除恢復的原理進行了研究及技術試驗,針對基于iOS系統的取證研究工作,文中給出了恢復微信刪除信息的若干種途徑,所采用的方法與湯帥等的想法略同,也是通過取得iPad的備份文件,并通過越獄手段獲得對備份文件的讀寫權限展開。王偉兵等[9]針對Android系統手機,對加密和解密進行了研究,提出了一系列新的取證方法,對存儲在本地的加密信息提取微信中的通話記錄和其他相關信息。姜華巖[10]對Android系統中SQLite數據進行了提取, 對百度地圖、滴滴打車和攜程三個應用程序的數據提取進行實驗,發現最終得出的結果可以很好地提供嫌疑人的活動信息,為警方偵破案件提供很大便利。常亞翠[11]對Android中的SQLite數據庫進行了解密分析,提出了一種Android手機遠程數據提取的方法,實現Android手機未root時和root后兩種情況下的數據獲取。陳廷明[12]設計了一種Android系統存儲數據取證系統,實現了數據提取、案件管理、數據查看、系統分析及報告,通過Android系統的API接口進行數據提取、刪除數據恢復和提取。

從以上可以看出,目前微信取證技術研究的方向中,基于Android和iOS系統展開的研究占了主流。但PC版微信的取證技術研究工作有所缺失,成為了短板。此外,目前微信取證以數據文件為主要對象,研究從數據文件中提取數據、破解數據的方法,但是在實際取證中有大量的數據存在于內存中。在微信交流中,除了用戶刪除數據之外,還有撤回數據的情況,對撤回數據與刪除數據的處理在取證工作中的并不相同。綜上,本文的研究主題確定為采用內存取證技術對PC版微信撤回消息的分析技術研究。

2 PC版微信內存分析法

2.1 問題及分析

本文以對Windows 7操作系統下的微信for Windows 1.1.0.41版本研究為例,主要的研究目的是通過分析微信內存文件,找到能夠定位撤回消息的方法。所提出的方法可以適合于其他版本的微信應用。

在微信中,如果一條信息被發送出的時間不超過2分鐘,那么這條信息可以由該信息的發送方通過“撤回”操作進行撤回,而經過“撤回”操作之后,這條信息將消失于所有參與該聊天的用戶的聊天界面上,并且無法通過微信所提供的功能重新恢復。本文的主要研究內容就是找出定位這條消息的方法,為今后進行各類撤回消息的復原提供一些技術基礎。

微信發送的消息包括多種類型,例如:中文、英文、數字、表情、圖片、語音、視頻等;因為目前微信for Windows版本不支持發送語音消息,所以語音類型的消息在本文中就不作考慮了,因此本文主要分析的對象是前3類,即中文文本、英文文本和表情。

2.2 微信應用的內存分析環境配置

操作系統為Windows 7旗艦版操作系統,微信軟件為for Windows 1.1.0.41版本。

在內存數據獲取方面,采用的工具是pmdump進程內存文件轉儲工具;同時需要簡單的字符串搜索匹配工具,要求支持十六進制數據的搜索,因此選擇常用的UltraEdit32編輯器。

2.3 微信應用的內存數據獲取方法

在PC版微信的默認安裝中,可以發現微信內容存儲信息位于C:UsersAdministratorAppDataRoamingTencentWeChat,Administrator是安裝的用戶名。這個路徑下包括一些系統文件,打開之后我們發現里面存儲了這個微信號最近接收到的部分文件和圖片。該文件夾中還有一個最主要文件是MMdata數據庫,存儲用戶登錄記錄等數據。但是由于數據存儲和內存尚存在一定的同步點,因此這里我們主要考慮直接獲取內存的方式。所使用的工具就是pmdump,它是一個命令行工具,能夠在不結束程序運行的情況下轉儲(Dump)一個進程的內存內容。如圖1所示,pmdump工具有兩種功能,其一是在命令行中調用了pmdump工具之后,寫入一個PID號(進程控制符)和一個文件名,pmdump將會把與輸入的PID號對應進程的內存文件轉儲到與所輸入的文件名對應的文件當中;其二是在調用pmdump之后寫入“-list”,這個功能的作用是可以查看計算機中運行的所有進程以及它們對應的PID號。

圖1 pmdump工具的使用方法

基于這個工具,通過-list參數獲取微信進程的PID,進而通過pmdump pid可以將正在運行的微信進程內存信息轉儲到一個后綴名為.dmp的文件中。這個文件中包含了微信應用當前的內存數據,我們接下來的研究內容將全部圍繞著這類文件進行展開。

2.4 內存轉儲文件分析

Pmdump工具轉儲出的內存文件是分析的基礎,它是一個十六進制文件,需要用十六進制文件編輯器打開。本文采用UltraEdit十六進制編輯器進行觀察和分析。接下來要進行的工作就是探究微信消息在內存文件中的位置和表現形式。

為了探究微信中各種消息類型分別都是怎樣映射到微信內存文件中的,在接下來的過程中,我們將針對不同的消息類型分別進行實驗來探究。研究內容包括:查看微信消息在內存文件中都是以怎樣的形式進行保存的,是否微信聊天中撤回的消息也存在于內存文件當中,以及各種類型的撤回消息在內存文件中的格式是否都相同。在這里需要額外做出說明的是,由于微信不同版本之間內存文件的內容和格式可能差異較大,所以以下實驗中的得出的關于內存文件的結論,目前只成立于微信for windows 1.1.0.41版本中,由于其他版本未經過實驗驗證,但是基本的分析方法是一樣的。下面以中文、英文和表情信息為例進行介紹。

(1) 中文消息 在分析前進行測試對話,我們一共向微信測試賬號發送了5條微信信息,并且撤回了其中的第4條,所撤回信息的文本內容為:“撤銷”。如圖2所示。

圖2 中文文本對話內容

經過內存文件分析可以發現,所有的中文文本信息在內存文件中的保存內容都是經過了URL編碼轉換之后所得的形式。例如:

“微信取證”經過編碼轉換后為:“%e5%be%ae%e4%bf%a1%e5%8f%96%e8%af%81”;

“技術研究”經過編碼轉換后為:“%e6%8a%80%e6%9c%af%e7%a0%94%e7%a9%b6”;

“撤銷”經過編碼轉換后為:“%e6%92%a4%e9%94%80”;

“完畢”經過編碼轉換后為:“%e5%ae%8c%e6%af%95”;

相應的內容可以利用UltraEdit的搜索操作比較快捷地從內存文件中找到,例如“微信取證”的信息如圖3所示。其他的不再列出。

圖3 編碼轉換后的“微信取證”

(2) 英文消息 按照類似的方法可以對英文消息進行測試分析。可以發現英文字符經過URL編碼轉換得到的結果就是它本身,所以在內存文件中查找英文類型的微信消息時,不需要像中文一樣先將消息文本經過編碼轉換。但是由于微信內存文件本身是十六進制的文件格式,所以不能直接在16進制區域查找英文字母,在這個問題上,UltraEdit編輯器中提供了比較方便的解決方法,如圖4所示。

圖4 通過勾選“查找ASCII”進行ASCII碼區域的搜索

對于本文的實驗來說,可以得到如圖5所示的查找結果,可以看到test1按照ASCII進行了編碼。

圖5 編碼轉換后的“test1”

(3) 表情消息 對于表情符而言,第一個需要解決的問題就是它是采用什么方式進行編碼的。為此,可以按照同樣的方法,利用測試賬號發送微信信息,并讓表情消息在在兩個英文消息之間,這樣便于后續進行定位分析。撤回其中的微信表情:[微笑]。

經過分析發現,如圖6所示,我們在內存文件中找到了“test over”和“test biaoqing”這兩條消息,而這兩條消息中間夾著一條經過了編碼轉化的消息,由于它被夾在兩條消息之間,按照位置分析,這條消息應該是我們所發送的表情信息,為了求證這個想法是否正確,可以將中間那條消息進行URL解碼,即“%5B%E5%BE%AE%E7%AC%91%5D”經過解碼之后的結果是[微笑]。

圖6 在ASCII區域搜索test over,并定位表情消息

這說明在該版本的微信中,對自己本身資源內部的表情定義形式為文本“[表情名字]”形式。得出這個結論之后,針對表情類型的微信消息的還原技術就能夠歸并到文本類型的微信消息識別技術當中去了,由于其不存在特殊性,所以能夠以同一種方式進行判斷。

2.5 在內存文件中定位和提取撤回消息

經過對內存轉儲文件的分析,我們能夠得出兩個結論:一是消息內容在內存文件中的保存格式為經過URL編碼轉換之后得到的十六進制形式,中文文本在進行查找之前需要先進行編碼轉換;二是撤回消息在內存文件中依然保存了完整的內容信息,這就為我們接下來從內存文件中定位微信撤回消息的研究提供了可能性。其中最主要的問題是要如何尋找撤回消息的標志。

在使用微信的過程中,當我們發送了一條或者一條以上的語句后,選擇一條消息撤回時,聊天界面上會在撤回的語句下面顯示一個提示語句:“你撤回了一條消息”(如圖1所示),于是我們可以假設微信的內存文件中應該同樣也存在這條提示信息。于是,以上一節微信撤回消息內容是中文文本中得到的實驗結果為例,我們進行了實驗求證。

“你撤回了一條消息”經過URL編碼轉換后為:

%e4%bd%a0%e6%92%a4%e5%9b%9e%e4%ba%86%e4%b8%80%e6%9d%a1%e6%b6%88%e6%81%af

在內存文件中進行搜索該編碼串,發現該語句確實存在于內存文件內(如圖7所示),并且通過觀察可以發現,內存文件中通過在內容前后添加來阻隔區分系統提示消息“你撤回了一條消息”(下文中用字段指代)和用戶輸入消息。

圖7 微信內存文件中找到的提示字段

進一步實驗和數據分析表明,在微信內存文件中,我們可以通過 字段中“33 6B 6C 58”這個字段之后的8個字節來準確地找到撤回消息字段,并將這8個字節的內容稱為匹配字段。由此,在微信內存文件中直接定位撤回消息字段位置的方法是:

(1) 首先在微信內存文件中搜索“33 6B 6C 58”,它是整個字段的起始位置。也就是,它是字段的一個標志,即能夠通過查找“33 6B 6C 58”字段直接定位到字段。

(2) 之后提取“33 6B 6C 58”字段之后8個字節的內容作為匹配字段,如圖8所示。這8個字節的內容稱為匹配字段,所有的撤回消息和對應的字段之間都存在著這8個字節的重合,并且這種重合沒有出現在其他微信消息中。

圖8 字段中的匹配字段

(3) 接著再次向下做一次匹配字段的搜索,目的是要找到撤回消息字段的位置。此時,可能存在兩種情況,第一種是直接匹配到了撤回消息字段,這意味著我們找到了撤回消息字段的位置,進入下一個步驟。另外一種情況是,在微信內存文件中存在不止一個字段,我們再次搜索時可能匹配到的是另外一個字段,在這種情況下就需要繼續向下做匹配字段的搜索直到匹配到的是撤回消息字段。

(4) 找到撤回消息字段的匹配字段之后,從匹配字段結束之后的第25個字節開始提取,直到遇到結束符“0A 04 08 01”結束,提取出來的字段便是撤回消息文本段經過URL編碼轉換之后的形式。

最后,在多次不同的微信內存轉儲文件分析中,發現該方法能夠正確地找出用戶撤回的中文、英文和表情消息。

3 結 語

本文從微信取證技術的研究背景出發,介紹了微信內存文件的獲取,內存分析,微信消息在內存文件中的內容與格式等內容。通過實驗驗證了該方法的可操作性和有效性。

本文研究結果也還存在不足。沒有實現對所有的微信消息類型都能進行識別,對內存的分析也可以繼續深入優化,將本文所設計的分析方法優化成為對眾多微信版本都普適的判斷方法也是今后值得進一步研究的。

猜你喜歡
微信內容分析
內容回顧溫故知新
科學大眾(2022年11期)2022-06-21 09:20:52
隱蔽失效適航要求符合性驗證分析
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
微信
電力系統及其自動化發展趨勢分析
主要內容
臺聲(2016年2期)2016-09-16 01:06:53
微信
微信
微信
主站蜘蛛池模板: 伦精品一区二区三区视频| 午夜色综合| 中文字幕有乳无码| 国产精品网拍在线| 亚洲无码高清视频在线观看 | 国产jizzjizz视频| 无码日韩视频| 亚洲国产欧美国产综合久久| 免费观看成人久久网免费观看| 亚洲视频四区| 亚洲综合专区| 亚洲国产精品成人久久综合影院| 老司机精品99在线播放| 一本大道无码高清| 无码 在线 在线| 在线观看91精品国产剧情免费| 亚洲成肉网| 少妇精品在线| 欧美视频在线不卡| 九九这里只有精品视频| 久夜色精品国产噜噜| 永久在线精品免费视频观看| 日韩性网站| 美女视频黄频a免费高清不卡| 免费啪啪网址| 成人字幕网视频在线观看| 精品人妻一区无码视频| 欧美综合区自拍亚洲综合天堂| 久久国产毛片| 国产成人精品在线1区| 性视频久久| 午夜啪啪福利| 国产女人综合久久精品视| 超碰aⅴ人人做人人爽欧美 | 亚洲人成网站在线观看播放不卡| 韩国自拍偷自拍亚洲精品| 全部无卡免费的毛片在线看| av午夜福利一片免费看| 999在线免费视频| 亚洲AV电影不卡在线观看| 亚洲69视频| 精品中文字幕一区在线| 国内老司机精品视频在线播出| 精品无码一区二区在线观看| 精品午夜国产福利观看| 亚洲日本在线免费观看| 久久免费成人| 思思热精品在线8| 91在线高清视频| 日韩精品少妇无码受不了| 国产精品久线在线观看| 5388国产亚洲欧美在线观看| 中文字幕一区二区视频| 国产成人啪视频一区二区三区 | 美女视频黄频a免费高清不卡| 久久国产精品无码hdav| 婷婷激情亚洲| 毛片在线区| 伊人AV天堂| а∨天堂一区中文字幕| 亚洲中文无码av永久伊人| AV片亚洲国产男人的天堂| 三上悠亚一区二区| 亚洲va欧美va国产综合下载| 国产乱子伦一区二区=| 亚洲天堂777| 精品一区二区三区无码视频无码| 中国国产一级毛片| 2019国产在线| 日本午夜三级| 这里只有精品在线| 五月婷婷激情四射| 91香蕉视频下载网站| 欧美激情综合| 在线观看91香蕉国产免费| 亚洲性影院| 97久久精品人人| 国内精品91| 亚洲欧美国产视频| 亚洲第一综合天堂另类专| 国产在线啪| 国产高清不卡|