日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

某聊天工具消息记录数据库文件解密逆向分析

發布時間:2024/1/23 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 某聊天工具消息记录数据库文件解密逆向分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0x00 簡介

?

每一個聊天工具賬號登入后會在"\Document\Tencent Files\賬號"的目錄下Msg3.0.db文件里寫入加密后的聊天記錄信息。

查看該工具的Bin目錄下的DLL文件可以知道它用的是sqlite的數據庫,sqlite默認是沒有實現加密的函數只是提供了接口,網絡上有一些開源的加密庫,比如wxsqlite3,sqlcipher等。

0x01 前期準備

?

?

?

先再IDA中分析sqlite.dll,查找含有version字符串的函數然后交叉引用,找到上一個函數就可以發現當前程序使用的sqlite的版本號,可以從網上Down下來源碼方便進一步分析,下載鏈接在文末。

sqlite的加解密簡易流程:

0x02 獲取加密所需的函數

?

?

?

在sqlite.dll里對這些函數下斷點動態調試發現沒有斷下來,結合網絡上前輩的分析,IDA中打開KernelUtil.Dll函數名字都很類似,猜測這個Dll就是tx自己對sqlite的具體實現。

我們可以先在CMultiSQLite3DB::innerOpen等open函數下斷點,并打開火絨劍對文件操作進行監控。具體下斷點的方法就是附加進程然后在模塊里找到KernelUtil.DLL,在IDA找到要下斷點的函數的偏移,[KernelUtil.DLL + 偏移]就是要下斷點的位置。

然后觀察堆棧傳遞的參數結合火絨劍和x96dbg單步步過,就可以找到是哪個函數真正打開db文件。

結合sqlite源碼和IDA分析可以還原參數和函數名。

在innerOpen這個函數中我們可以看到CppSQLite3DB::execDML這個函數,我們可以大膽猜測它是封裝了sqlite3_exec,結合源碼進行重命名。sqlite3_exec的第三參數和第四個參數是回調函數,主要的作用是接收sql語句執行的結果,這個在后續編寫Demo有用到,具體用法在文末的鏈接可以參考。

sqlite3_key的具體實現函數我們可以在IDA中觀察CppSQLite3DB::key這個函數并結合sqlite3的源碼可以推測真實設置key的函數,不妨在此處下斷點,后續抓取key時有大作用。

至此我們獲得了后續抓取解密Key所需要的幾個函數地址,在x96dbg的對應偏移位置下上斷點。

0x03 抓取解密Key

?

?

?

key是云端生成的理論上沒有賬號的密碼是打不開這個聊天記錄文件的,并且在每次打開程序后的密鑰都是不一樣的,所以這里得注意抓到密碼后關閉程序得備份Msg3.0.db這個文件,文件于key是一一對應的。

我們先讓它正常登入然后在火絨劍觀察它是什么時候對Msg3.0.db進行操作的。可以發現是在比較前面就打開了Msg3.0.db所以大膽猜測是在進程在剛啟動的時候執行解密操作。接下來附加進程開始調試。

?

?

在附加進程的時候得注意,選擇上面那個進程,下面那個是登入進程在登入成功后會自動銷毀了。

在CreateFileW下斷點觀察火絨劍和x96dbg堆棧知道發現它打開了Msg3.0.db這個文件。

一直F9直到調用sqlite3_open函數的參數有Msg3.0.db(期間可能有多個地方調用了open,真實的是先調用open后調用key,多次嘗試可以試到真實獲取解密Key的地方),根據上文可知sqlite會先打開對應db文件并在后面在設Key,根據IDA分析結果可以知道原始key是16位的,擴展之后變成16*17位了。

有了擴展key可以直接調用sqlite3_key_impl這個實現函數,也可以使用原始16位key直接調用sqlite3_key.備份好Msg3.0.db和Key開始編寫demo。

0x04 總結

?

總的來說主要是要找到sqlite解密的各個函數的偏移地址和解密key,有個小坑就是key是動態的而且和Msg3.0.db一一對應的,每次抓到key的記得備份Msg3.0.db。

所以我們可以直接調用tx的KernelUtil.Dll,在Load KernelUtil.Dll的時候要注意放在\Bin 目錄下不然會導入失敗,因為KernelUtil.Dll還有導入其他的Dll。

0x05 參考鏈接

?

?

?

sqlite v3.8.8.1下載鏈接:

https://www.sqlite.org/2015/sqlite-amalgamation-3080801.zip

?

sqlcipher v3.3.1下載鏈接:https://codeload.github.com/sqlcipher/sqlcipher/zip/v3.3.1

?

撬開PC QQ的本地SQLite數據庫(適用于Msg3.0.db等):https://www.52pojie.cn/thread-1370802-1-1.html

?

sqlite_exec回調函數的使用:https://blog.csdn.net/zscfa/article/details/77119522

總結

以上是生活随笔為你收集整理的某聊天工具消息记录数据库文件解密逆向分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕亚洲国产 | 日本免费视频 | 欧美暧暧视频 | 久久二区三区 | 日韩欧美精品中文字幕 | 依人久久 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 老熟妇高潮一区二区高清视频 | 精品国产1区 | 久久午夜精品人妻一区二区三区 | 一级片视频免费观看 | 国产成人精品a视频 | 国产又粗又黄又爽的视频 | 全黄一级裸体 | wwwxxx在线观看 | 日韩电影一区二区三区 | 中文国语毛片高清视频 | 国产精品白嫩极品美女 | 国产精品日韩欧美一区二区三区 | 国产一区二区亚洲 | 精品电影一区二区 | 97中文在线 | 丰满少妇一区二区三区 | 国外成人在线视频 | 亚洲一级二级三级 | 天堂社区av | 日韩久久在线 | 北条麻妃一区二区三区在线观看 | 国产日韩精品一区二区三区在线 | 国产亚洲欧美一区二区 | 熊出没之冬日乐翻天免费高清观看 | 免费成人深夜小野草 | 欧美第九页| 日本午夜激情 | 天天爱天天做 | 韩国三级视频 | 国产视频精品久久 | 久操视频免费看 | 精品无码一区二区三区在线 | 伊人久久青青草 | 欧美成人h版在线观看 | 国产精品一区二区三区四区 | 99思思| 热久久在线 | 亚洲国产免费 | 久久精品中文字幕 | 在线观看二区 | 重口味av| 亚洲精品无码不卡在线播he | 可以免费看的av | 欧美区二区三区 | 久草电影网站 | 亚洲无码精品在线播放 | 粗大的内捧猛烈进出视频 | 午夜视频福利在线观看 | 日本一区免费 | 亚洲欧美激情一区二区三区 | 你懂的国产视频 | 浪漫樱花在线观看高清动漫 | 日韩精品无码一区二区三区久久久 | 在线观看av一区二区 | 亚洲网站在线 | 99久久婷婷国产综合精品电影 | 精品一区二区三区无码视频 | 午夜免费观看视频 | 精彩久久 | 日日干夜夜干 | 日韩色婷婷 | 国产精品91一区二区 | 久久久久国产一区 | 91久久久久久久久久久久久 | 噜噜噜亚洲色成人网站 | 伊人久久一区二区三区 | 先锋资源在线视频 | v天堂在线 | 日韩中文字幕不卡 | 国产精品无码内射 | 日韩亚洲欧美在线观看 | 女人叫床高潮娇喘声录音mp3 | 国产精品一区二区三区线羞羞网站 | 亚洲小说专区 | 欧美另类一区二区 | 日韩久 | 无码成人一区二区 | 国产亚洲精品成人av在线 | 欧美激情一二三 | www.激情五月.com | 高清久久 | 在线观看的av网站 | 污网站免费看 | 色香影院| 一区二区三区四区在线 | 亚洲一区www | 狠狠撸在线视频 | 2025中文字幕 | 欧美肉丝袜videos办公室 | 国产三级精品在线 | 中文av在线播放 | 青春草久久 |