西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁騰訊專區(qū)QQ安全 → QQ聊天記錄數(shù)據(jù)庫DB探析

QQ聊天記錄數(shù)據(jù)庫DB探析

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:網(wǎng)絡(luò)時間:2010/4/24 17:17:46字體大。A-A+

作者:佚名點擊:3844次評論:0次標簽: 黑客

  • 類型:SIM模擬經(jīng)營大小:560M語言:中文 評分:10.0
  • 標簽:
立即下載

QQ聊天記錄文件存儲方式解密
最近花了幾天時間跟蹤了一下“QQ聊天記錄查看器 5.3 華軍版”,總算把聊天記錄的存儲方法弄清了。大家不要笑我,只是好奇而已,呵呵。
1.聊天記錄存儲方式
QQ聊天記錄保存在MsgEx.db文件中。以前很早的版本是保存在Msg.db中,文件結(jié)構(gòu)也與現(xiàn)在不同,我們就不分析了。
MsgEx.db采用Storage結(jié)構(gòu)化存儲。關(guān)于Storage復合文檔的知識請查閱Microsoft相關(guān)文檔,我們不做贅述。
大家可以用VC自帶的DocFile View工具查看該文件的內(nèi)容,可以看到文件結(jié)構(gòu)大致如下:

|----MsgEx.db
| |----C2CMsg
| |----QQ號碼
| |----Data.msj
| |----Index.msj
| |----IMInfo
| |----info.dat
| |----Matrix
| |----Matrix.db
| |----SysMsg
| |----10000
| |----Data.msj
| |----Index.msj
| |----DiscMsg
| |----GroupMsg
| |----MobileMsg
|---------TempSessionMsg
消息內(nèi)容都存儲在每個號碼下面的Data.msj中,通過Index.msj索引。消息內(nèi)容是經(jīng)過加密處理的,必須經(jīng)過解密才能看到。
2.解密方法
消息內(nèi)容采用BlowFish分組加密。每8個字節(jié)為一個分組。密鑰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,重復b,c兩步;
e.最終全部數(shù)據(jù)解密完畢。
最后會剩下一組8字節(jié)無法解密,這個實際上是冗余數(shù)據(jù),似乎是用來作為校驗。
3.具體步驟
以上解密時,BlowFish的密鑰是一個全局公用密鑰Key。Key要通過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 Name[nLen];
int rLen;
char Content[rLen];
};
初始內(nèi)容也是通過加密存儲的。解密方法很簡單:將長度的低位字節(jié)和高位字節(jié)XOR,得到key;將內(nèi)容逐個與key進行XOR,就得到結(jié)果。對名字和內(nèi)容分別進行解密即可。解密后會看到STL, TIP, CRK, CPH, CAH等字段,不清楚具體的啥含義,感興趣的同學可以自己去研究研究。我們要用到的是CRK字段,長度為32字節(jié)(如果本地聊天記錄加密,可能會有變化,沒試過)。將得到的CRK字段作為pData。
c.用Md5Key對pData進行BlowFish解密,得到全局密鑰Key
4.結(jié)論
以上討論的都是本地聊天記錄沒有加密的情況。如果選擇了加密,沒有密碼是肯定解不出來滴,大伙就不用費心了。

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    第 2 樓 四川成都鐵通ADSL 網(wǎng)友 客人 發(fā)表于: 2014/3/17 14:13:40
    hehe

    支持( 0 ) 蓋樓(回復)

    第 1 樓 四川成都鐵通ADSL 網(wǎng)友 客人 發(fā)表于: 2010/12/2 17:00:37

    支持( 0 ) 蓋樓(回復)

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)