


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、qqmsgex.db 分析最近花了幾天時間跟蹤了一下“qq 聊天記錄查看器 5.3 華軍版” ,總算把 聊天記錄的存儲方法弄清了。大家不要笑我,只是好奇而已,呵呵。 1.聊天記 錄存儲方式 qq 聊天記錄保存在 msgex.db 文件中。以前很早的版本是保存在 msg.db 中,文件結(jié)構(gòu)也與現(xiàn)在不同,我們就不分析了。 msgex.db 采用 storage 結(jié)構(gòu)化存儲。關(guān)于 storage 復(fù)合文檔的知識請查閱 microsoft 相關(guān)文檔,我們不做贅述。 大家可以用 vc 自帶的 docfile view 工具查看該文件的內(nèi)容, 可以看到文件結(jié) 構(gòu)大致如下: |-msgex.db | |-i
2、ndex.msj | |-matrix.db | |-index.msj | |-c2cmsg | |-iminfo | |-sysmsg | |-discmsg | |-qq 號碼 | |-info.dat | |-10000 | |-groupmsg | |-data.msj | |-matrix | |-data.msj | |-mobilemsg|-tempsessionmsg 消息內(nèi)容都存儲在每個號碼下面的 data.msj 中,通過 index.msj 索引。 消息內(nèi)容是經(jīng)過加密處理的,必須經(jīng)過解密才能看到。 2.解密方法消息內(nèi)容采用 blowfish 分組加密。每 8 個字節(jié)為一
3、個分組。密鑰 key 通過 qq 號碼生成,具體算法稍后討論。 解密方法: a.取前 8 個字節(jié),通過 blowfish 解密,得到 decryptkey; b.decryptkey 與后面 8 個字節(jié) xor,對結(jié)果再進行一次 blowfish 解密; c.將 decryptkey 與前 8 個字節(jié) xor,得到第一組結(jié)果; d.decryptkey 與后面 8 個字節(jié) xor,重復(fù) b,c 兩步; e.最終全部數(shù)據(jù)解密完畢。最后會剩下一組 8 字節(jié)無法解密,這個實際上是 冗余數(shù)據(jù),似乎是用來作為校驗。 3.具體步驟以上解密時,blowfish 的密鑰是一個全局公用密鑰 key。key 要通
4、 過 qq 號碼生成,具體步驟是: a.將 qq 號碼進行 md5 變換,得到 md5key b.取 matrix.db 的數(shù)據(jù),對其進行解碼。簡單說一下 matrix.db 文件的結(jié)構(gòu):matrix.db 采用分塊存儲,每個 record 包含類型、名字長度、名字、內(nèi)容長度、 內(nèi)容幾個字段組成。用數(shù)據(jù)結(jié)構(gòu)表示就是:struct record char rtype; short nlen; char namenlen; intrlen; char contentrlen; ; 初始內(nèi)容也是通過加密存儲的。 解 密方法很簡單:將長度的低位字節(jié)和高位字節(jié) xor,得到 key;將內(nèi)容逐個與 key
5、 進行 xor, 就得到結(jié)果。 對名字和內(nèi)容分別進行解密即可。 解密后會看到 stl, tip, crk, cph, cah 等字段,不清楚具體的啥含義,感興趣的同學(xué)可以自己去研究研 究。我們要用到的是 crk 字段,長度為 32 字節(jié)(如果本地聊天記錄加密,可能 會有變化,沒試過) 。將得到的 crk 字段作為 pdata。 c.用 md5key 對 pdata 進行 blowfish 解密, 得到全局密鑰 key 4.結(jié)論以上討論 的都是本地聊天記錄沒有加密的情況。如果選擇了加密,沒有密碼是肯定解不出 來滴,大伙就不用費心了。qq 的安全問題qq,就是 oicq,tencent 公司研發(fā)的
6、即時信息軟件,是中國市場上國產(chǎn) im 軟件絕對的老大。中國網(wǎng)民幾乎人手至少一個 qq 號碼。大家都比我清楚,不多 介紹。 本文談?wù)?qq 的安全問題。 qq 具有如此驚人的人氣,卻有著與之不相稱的安全問題?;旧峡梢哉f, 使用 qq,基本沒有任何隱私可言!另外它也為你的電腦帶來了諸多附送的安全 隱患。有識之士如我都早已不用 qq 啦。 一,本地密碼保存方式 qq 的客戶端會不經(jīng)用戶同意,把用戶的密碼經(jīng)過數(shù)萬次的 md5 運算后存在本地。每次登陸在發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包之前進行本地驗 證,相信熟悉 qq 的朋友對這一點都不陌生。這樣事實上給了攻擊者暴力破解 qq 密碼的機會,只要攻擊者得到本地保存的這個
7、數(shù)據(jù)即可。這個文件曾經(jīng)叫 ewh.db 或者 user.db, 不知道現(xiàn)在是否又變了。 說明一點, 由于 md5 作了數(shù)萬次, 這樣的破解效率不高,但再低的效率也有弱智密碼中招,當(dāng)年在線嘗試登陸都可 以,還有什么不可能呢?如果選擇了自動登陸,那么密碼的一次 md5 保存在 oicq2000.cfg 中,破解速度大大提高。二,本地聊天記錄查看漏洞典型的攻擊場景是:已經(jīng)拿到全部本地記錄,就 是一個以 qq 號為名的文件夾,不知道密碼(或者俗稱忘記了密碼,求助者多數(shù) 號稱是 mm)如何查看其聊天記錄? qq 登陸的流程是這樣的:1.輸入用戶名密碼->2.本地驗證通過->3
8、.得到用戶界面(企鵝開始閃動)->4.發(fā)送登陸包->5.收 到登陸包成功響應(yīng)->6.登陸成功。其中在步驟 3 的時候,我們就可以查看聊天記 錄了。如果 2 失敗,則要求重新輸入密碼;如果 5 失敗,則退出步驟 3 中得到的 用戶界面。對于沒有正確密碼的攻擊者來說,要保持 3 的狀態(tài)以查看本地聊天記 錄,需要首先騙過 2,并防止 4 發(fā)生。由于 qq 沒有軟件加密(加殼) ,所以 2 十分容易,修改一個跳轉(zhuǎn)就 ok。4 就更容易了,拔了網(wǎng)線或設(shè)置防火墻就可以 了?,F(xiàn)在網(wǎng)上有很多這樣的修改教程和修改好的客戶端。所以不再贅述。 三,本地聊天記錄的加密方法事實
9、上以上第二條所說是一個利用已有客戶端 簡單規(guī)避本地檢查的辦法。如果你愿意,可以自己寫一個查看聊天記錄的工具, 因為它的加密方式是如此的脆弱。首先普及一點常識:tea 算法(tiny encryption algorithm,即微型加密算法)是一個正規(guī)的密碼學(xué)意義上的加密算法,你可以在 http:/www.ftp.cl.cam.ac.uk/ftp/papers/djw-rmn/djw-rmn-tea.html 找到原作者對 其的介紹。 qq 的加密,包括本地文件加密和遠程數(shù)據(jù)包加密,主要使用的就是這個算 法。值得注意的是原作者使用的是 32 輪運算(即使是 32 輪,這個算法也被證明 是可以已知明文攻擊的) ,然而 tencent 將其降為了 16 輪。時間上省了一半, 但安全性卻嚴重下降。算法常識以后再講,我們只要知道該算法是公開的就可以 了。 (廢話,不公開哪來的那么多開源 qq,比如 lumaqq) 。 qq 本地歷史數(shù)據(jù),包括聊天記錄和一些日志,用一個 key 加密后存在本地 msg.db 或者 msgex.db 中,但是這個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技企業(yè)成功經(jīng)驗分享創(chuàng)新驅(qū)動發(fā)展
- 電商直播模式下的消費者互動與購買行為
- 知識產(chǎn)權(quán)與數(shù)字化文化產(chǎn)品的保護
- 電力企業(yè)中電氣設(shè)備維護的標(biāo)準化流程研究報告
- 長葛防腐木拱橋施工方案
- 2024年12月廣東廣州市黃埔區(qū)人力資源和社會保障局基層公共就業(yè)創(chuàng)業(yè)服務(wù)崗位招募10人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解-1
- 花園卵石排水溝施工方案
- 河北水利電力學(xué)院《虛擬商業(yè)環(huán)境綜合實訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東鋁業(yè)職業(yè)學(xué)院《地球物理測井》2023-2024學(xué)年第二學(xué)期期末試卷
- 共青科技職業(yè)學(xué)院《工程職業(yè)健康與環(huán)境管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 農(nóng)產(chǎn)品的互聯(lián)網(wǎng)營銷課件
- 三年級下冊數(shù)學(xué)課件 兩位數(shù)除兩、三位數(shù) 滬教版 (共15張PPT)
- 《六大茶類》講義
- Unit 2 Listening and speaking 課件-高中英語人教版(2019)選擇性必修第二冊
- X會計師事務(wù)所的J城投公司發(fā)債審計項目研究
- 中國傳媒大學(xué)全媒體新聞編輯:案例教學(xué)-課件-全媒體新聞編輯:案例教學(xué)-第7講
- 生理學(xué)泌尿系統(tǒng)6學(xué)時課件
- PySide學(xué)習(xí)教程
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter1 Introduction
- 人教三年級數(shù)學(xué)下冊表格式全冊
- 優(yōu)秀教研組評比制度及實施細則
評論
0/150
提交評論