wechat dump rs
v1.0.26
該工具用於導出正在運行中的微信進程的key 並自動解密所有微信數據庫文件以及導出key 後數據庫文件離線解密。

可能存在封號風險,後果自負! ! !
使用需知: 微信4.0 重構後改用HMAC_SHA512 算法,尋找key 的方式和v3 不同,工具內仍然採用內存暴力搜索的方式,對於v4 解密時將使用多線程加速,可能會導致cpu 飆到100%,取決於key 離起始查找點的距離。
wechat-dump-rs (1.0.13) - REinject
A wechat db dump tool
Options:
-p, --pid < PID > pid of wechat
-k, --key < KEY > key for offline decryption of db file
-f, --file < PATH > special a db file path
-d, --data-dir < PATH > special wechat data dir path (pid is required)
-o, --output < PATH > decrypted database output path
-a, --all dump key and decrypt db files
--vv < VERSION > wechat db file version [default: 4] [possible values: 3, 4]
-r, --rawkey convert db key to sqlcipher raw key (file is required)
-h, --help Print help如果不帶任何參數,程序只輸出所有微信進程的key、微信號、手機號、數據目錄、版本等信息:
=======================================
ProcessId: 4276
WechatVersion: 4.0.0.26
AccountName: xxxxxx
NickName: xxxxxx
Phone: 15111611111
DataDir: C: U sers x xx D ocuments x wechat_files w xid_xxxx_xxa
key: f11fd83bxxxxxx4f3f4x4ddxxxxxe417696b4axx19e09489ad48c
=======================================使用參數-a可以直接導出所有數據庫文件。
工具自動解密後的文件可能存在畸形問題,可以直接使用DB Browser for SQLCipher 瀏覽原始數據庫文件。
打開sqlcipher 數據庫時,選擇“原始密鑰”,微信V3 選擇自定義(頁大小4096/KDF迭代64000/HMAC算法SHA1/KDF算法SHA1),V4 選擇sqlcipher4 默認,每個數據庫文件對應的原始密鑰都是不一樣的,獲取方式如下:
微信V3 數據庫文件rawkey:
wechat-dump-rs.exe -k xxxxxxxxxxxxxxxxx -f c: u sers x xxx x xxx c ontact.db -r --vv 3微信V4 數據庫文件rawkey:
wechat-dump-rs.exe -k xxxxxxxxxxxxxxxxx -f c: u sers x xxx x xxx c ontact.db -r --vv 4一般情況下,key 要在運行的微信進程內存中拿到,內存偏移在每個版本都不一樣,大部分工具是對每個版本維護一套偏移,但是當出現新版本的時候都要重新找偏移,方法見後面有簡單記錄。
其實,除了這個方法外,還有一個更通用的方法就是內存暴力搜索找到能用於解密的密鑰位置,當然如果對進程全部內存掃一遍肯定不行,所以項目裡用下面這種方式縮小密鑰內存範圍加快掃描速度:
還有其它一些小細節,直接看一下代碼吧。
其它未測試版本不代表不能用,這個列表只是我本地有過的環境。
4.0 聊天記錄內容解析參考示例導出聊天記錄到TXT。