下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、qqmsgex.db 分析最近花了幾天時(shí)間跟蹤了一下“qq 聊天記錄查看器 5.3 華軍版” ,總算把 聊天記錄的存儲(chǔ)方法弄清了。大家不要笑我,只是好奇而已,呵呵。 1.聊天記 錄存儲(chǔ)方式 qq 聊天記錄保存在 msgex.db 文件中。以前很早的版本是保存在 msg.db 中,文件結(jié)構(gòu)也與現(xiàn)在不同,我們就不分析了。 msgex.db 采用 storage 結(jié)構(gòu)化存儲(chǔ)。關(guān)于 storage 復(fù)合文檔的知識(shí)請(qǐng)查閱 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 號(hào)碼 | |-info.dat | |-10000 | |-groupmsg | |-data.msj | |-matrix | |-data.msj | |-mobilemsg|-tempsessionmsg 消息內(nèi)容都存儲(chǔ)在每個(gè)號(hào)碼下面的 data.msj 中,通過(guò) index.msj 索引。 消息內(nèi)容是經(jīng)過(guò)加密處理的,必須經(jīng)過(guò)解密才能看到。 2.解密方法消息內(nèi)容采用 blowfish 分組加密。每 8 個(gè)字節(jié)為一
3、個(gè)分組。密鑰 key 通過(guò) qq 號(hào)碼生成,具體算法稍后討論。 解密方法: a.取前 8 個(gè)字節(jié),通過(guò) blowfish 解密,得到 decryptkey; b.decryptkey 與后面 8 個(gè)字節(jié) xor,對(duì)結(jié)果再進(jìn)行一次 blowfish 解密; c.將 decryptkey 與前 8 個(gè)字節(jié) xor,得到第一組結(jié)果; d.decryptkey 與后面 8 個(gè)字節(jié) xor,重復(fù) b,c 兩步; e.最終全部數(shù)據(jù)解密完畢。最后會(huì)剩下一組 8 字節(jié)無(wú)法解密,這個(gè)實(shí)際上是 冗余數(shù)據(jù),似乎是用來(lái)作為校驗(yàn)。 3.具體步驟以上解密時(shí),blowfish 的密鑰是一個(gè)全局公用密鑰 key。key 要通
4、 過(guò) qq 號(hào)碼生成,具體步驟是: a.將 qq 號(hào)碼進(jìn)行 md5 變換,得到 md5key b.取 matrix.db 的數(shù)據(jù),對(duì)其進(jìn)行解碼。簡(jiǎn)單說(shuō)一下 matrix.db 文件的結(jié)構(gòu):matrix.db 采用分塊存儲(chǔ),每個(gè) record 包含類型、名字長(zhǎng)度、名字、內(nèi)容長(zhǎng)度、 內(nèi)容幾個(gè)字段組成。用數(shù)據(jù)結(jié)構(gòu)表示就是:struct record char rtype; short nlen; char namenlen; intrlen; char contentrlen; ; 初始內(nèi)容也是通過(guò)加密存儲(chǔ)的。 解 密方法很簡(jiǎn)單:將長(zhǎng)度的低位字節(jié)和高位字節(jié) xor,得到 key;將內(nèi)容逐個(gè)與 key
5、 進(jìn)行 xor, 就得到結(jié)果。 對(duì)名字和內(nèi)容分別進(jìn)行解密即可。 解密后會(huì)看到 stl, tip, crk, cph, cah 等字段,不清楚具體的啥含義,感興趣的同學(xué)可以自己去研究研 究。我們要用到的是 crk 字段,長(zhǎng)度為 32 字節(jié)(如果本地聊天記錄加密,可能 會(huì)有變化,沒(méi)試過(guò)) 。將得到的 crk 字段作為 pdata。 c.用 md5key 對(duì) pdata 進(jìn)行 blowfish 解密, 得到全局密鑰 key 4.結(jié)論以上討論 的都是本地聊天記錄沒(méi)有加密的情況。如果選擇了加密,沒(méi)有密碼是肯定解不出 來(lái)滴,大伙就不用費(fèi)心了。qq 的安全問(wèn)題qq,就是 oicq,tencent 公司研發(fā)的
6、即時(shí)信息軟件,是中國(guó)市場(chǎng)上國(guó)產(chǎn) im 軟件絕對(duì)的老大。中國(guó)網(wǎng)民幾乎人手至少一個(gè) qq 號(hào)碼。大家都比我清楚,不多 介紹。 本文談?wù)?qq 的安全問(wèn)題。 qq 具有如此驚人的人氣,卻有著與之不相稱的安全問(wèn)題。基本上可以說(shuō), 使用 qq,基本沒(méi)有任何隱私可言!另外它也為你的電腦帶來(lái)了諸多附送的安全 隱患。有識(shí)之士如我都早已不用 qq 啦。 一,本地密碼保存方式 qq 的客戶端會(huì)不經(jīng)用戶同意,把用戶的密碼經(jīng)過(guò)數(shù)萬(wàn)次的 md5 運(yùn)算后存在本地。每次登陸在發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包之前進(jìn)行本地驗(yàn) 證,相信熟悉 qq 的朋友對(duì)這一點(diǎn)都不陌生。這樣事實(shí)上給了攻擊者暴力破解 qq 密碼的機(jī)會(huì),只要攻擊者得到本地保存的這個(gè)
7、數(shù)據(jù)即可。這個(gè)文件曾經(jīng)叫 ewh.db 或者 user.db, 不知道現(xiàn)在是否又變了。 說(shuō)明一點(diǎn), 由于 md5 作了數(shù)萬(wàn)次, 這樣的破解效率不高,但再低的效率也有弱智密碼中招,當(dāng)年在線嘗試登陸都可 以,還有什么不可能呢?如果選擇了自動(dòng)登陸,那么密碼的一次 md5 保存在 oicq2000.cfg 中,破解速度大大提高。二,本地聊天記錄查看漏洞典型的攻擊場(chǎng)景是:已經(jīng)拿到全部本地記錄,就 是一個(gè)以 qq 號(hào)為名的文件夾,不知道密碼(或者俗稱忘記了密碼,求助者多數(shù) 號(hào)稱是 mm)如何查看其聊天記錄? qq 登陸的流程是這樣的:1.輸入用戶名密碼->2.本地驗(yàn)證通過(guò)->3.得到用戶界面(
8、企鵝開始閃動(dòng))->4.發(fā)送登陸包->5.收 到登陸包成功響應(yīng)->6.登陸成功。其中在步驟 3 的時(shí)候,我們就可以查看聊天記 錄了。如果 2 失敗,則要求重新輸入密碼;如果 5 失敗,則退出步驟 3 中得到的 用戶界面。對(duì)于沒(méi)有正確密碼的攻擊者來(lái)說(shuō),要保持 3 的狀態(tài)以查看本地聊天記 錄,需要首先騙過(guò) 2,并防止 4 發(fā)生。由于 qq 沒(méi)有軟件加密(加殼) ,所以 2 十分容易,修改一個(gè)跳轉(zhuǎn)就 ok。4 就更容易了,拔了網(wǎng)線或設(shè)置防火墻就可以 了?,F(xiàn)在網(wǎng)上有很多這樣的修改教程和修改好的客戶端。所以不再贅述。 三,本地聊天記錄的加密方法事實(shí)上以上第二條所說(shuō)是一個(gè)利用已有客戶端 簡(jiǎn)
9、單規(guī)避本地檢查的辦法。如果你愿意,可以自己寫一個(gè)查看聊天記錄的工具, 因?yàn)樗募用芊绞绞侨绱说拇嗳?。首先普及一點(diǎn)常識(shí):tea 算法(tiny encryption algorithm,即微型加密算法)是一個(gè)正規(guī)的密碼學(xué)意義上的加密算法,你可以在 http:/www.ftp.cl.cam.ac.uk/ftp/papers/djw-rmn/djw-rmn-tea.html 找到原作者對(duì) 其的介紹。 qq 的加密,包括本地文件加密和遠(yuǎn)程數(shù)據(jù)包加密,主要使用的就是這個(gè)算 法。值得注意的是原作者使用的是 32 輪運(yùn)算(即使是 32 輪,這個(gè)算法也被證明 是可以已知明文攻擊的) ,然而 tencent 將其降為了 16 輪。時(shí)間上省了一半, 但安全性卻嚴(yán)重下降。算法常識(shí)以后再講,我們只要知道該算法是公開的就可以 了。 (廢話,不公開哪來(lái)的那么多開源 qq,比如 lumaqq) 。 qq 本地歷史數(shù)據(jù),包括聊天記錄和一些日志,用一個(gè) key 加密后存在本地 msg.db 或者 msgex.db 中,但是這個(gè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:聚焦體育新課標(biāo)小學(xué)體育課運(yùn)動(dòng)負(fù)荷主觀測(cè)評(píng)路徑與調(diào)控策略研究
- 課題申報(bào)參考:教師教學(xué)洞察力的表現(xiàn)特征、生成機(jī)制及發(fā)展路徑研究
- 包含維修條款的2025年度二手手機(jī)買賣合同范本3篇
- 二零二五版桉樹種植與星海生態(tài)教育合作項(xiàng)目合同3篇
- 二零二五年度出國(guó)留學(xué)學(xué)費(fèi)支付及管理合同3篇
- 二零二五年度煤炭運(yùn)輸合同范本:多式聯(lián)運(yùn)與綜合物流服務(wù)協(xié)議4篇
- 二零二五版文化中心場(chǎng)地租賃協(xié)議書4篇
- 2025年度海洋工程聘用工程師及項(xiàng)目實(shí)施合同4篇
- 2025版充電樁安全風(fēng)險(xiǎn)評(píng)估與應(yīng)急預(yù)案制定合同3篇
- 二零二五版智慧醫(yī)療路演投資合同范本4篇
- 2025年度版權(quán)授權(quán)協(xié)議:游戲角色形象設(shè)計(jì)與授權(quán)使用3篇
- 心肺復(fù)蘇課件2024
- 《城鎮(zhèn)燃?xì)忸I(lǐng)域重大隱患判定指導(dǎo)手冊(cè)》專題培訓(xùn)
- 湖南財(cái)政經(jīng)濟(jì)學(xué)院專升本管理學(xué)真題
- 全國(guó)身份證前六位、區(qū)號(hào)、郵編-編碼大全
- 2024-2025學(xué)年福建省廈門市第一中學(xué)高一(上)適應(yīng)性訓(xùn)練物理試卷(10月)(含答案)
- 《零售學(xué)第二版教學(xué)》課件
- 廣東省珠海市香洲區(qū)2023-2024學(xué)年四年級(jí)下學(xué)期期末數(shù)學(xué)試卷
- 房地產(chǎn)行業(yè)職業(yè)生涯規(guī)劃
- 江蘇省建筑與裝飾工程計(jì)價(jià)定額(2014)電子表格版
- MOOC 數(shù)字電路與系統(tǒng)-大連理工大學(xué) 中國(guó)大學(xué)慕課答案
評(píng)論
0/150
提交評(píng)論