如何破解 Android WeChat 資料庫

分类: 365速度发国际大厅 时间: 2026-07-17 23:07:00 作者: admin 阅读: 6993

問題

鑑識工具無法開啟微信資料庫

挑戰

解密微信資料庫 – EnMicroMsg.db

工具

計算 MD5 雜湊值

結果

使用客製化 SQLite Cipher 解密資料庫

前言微信 (WeChat) App 在 Android 平台上採取不同於 iOS 資料保護方式,為提供更安全的資料防護,Android 平台上會採加密方式儲存 EnMicroMsg.db 資料庫 (該資料庫內有所有的對話內容);而在 iOS 平台上則套用 Apple 既有的 File Based Encryption 加密機制保護,並不會針對資料庫做額外的加密處理。因此,在數位鑑識過程,若從 Android 提取出的微信資料庫無法正常解析,則重要資訊可能無法判讀。藉由本文章希望可以協助鑑識人員透過簡易流程,將資料庫解密成功並找出重要關鍵資訊。

微信資料庫加密方式加密演算法使用的兩個值

IMEI

UIN

取得解開資料庫的密碼大致上為透過 MD5 計算出 (IMEI + UIN) 的雜湊值,該雜湊值前 7 位數值則為解開微信資料庫的密碼。

1. IMEI

如何取得 IMEI 值?

*#06#:可透過撥號介面輸入短碼取得

可從「設定」、「關於裝置」內顯示

透過記錄在 DENGTA_META.XML 內取得

微信採用預設的 IMEI 碼:1234567890ABCDEF

需注意的是,藉由上述項次一與二取得的 IMEI 碼,不一定為微信採用的 IMEI。若手機有多個門號功能,可能會採用第二個甚至第三個 IMEI 值。另外還有一個情況,因微信有可能無法讀取到裝置的 IMEI 值,這時會採用預設的 IMEI 碼來計算雜湊值。

2. UIN 值 (User Information 值)

UIN 值可在以下幾個檔案內找到:

/data/data/com.tencent.mm/shared_prefs/system_config_prefs.xml

/data/data/com.tencent.mm/shared_prefs/auth_hold_prefs.xml

註:若 UIN 有負號,與 IMEI 合併時需保留負號。

圖一、system_config_prefs.xml

計算 MD5 + UIN 雜湊值藉由以上方式,可得知 IMEI 與 UIN 值,現在需合併這兩個值來計算 MD5 雜湊值。

註:由於測試裝置 WeChat 無法取得 IMEI 碼,測試結果微信採用預設 IMEI 值來進行加密。

複製Syntax Highlighter值一、IMEI+UIN 值

注意事項

1. MD5(IMEI+uin)的輸入字符串有大小寫要求嗎?

如果 IMEI 值有英文的話,需要將其轉變為大寫,否則計算的 MD5 值會不同。

2. MD5(IMEI+uin)的輸出結果作為密碼有大小寫限制嗎?

是的,計算出的結果須為小寫,並僅取前 7 碼。

方法一、使用 DOS certutil 指令

先將 IMEI 與 UNI 值使用記事本存放於內。

圖二、imeiuin.txt

再藉由 DOS 的 certutil 指令計算出 txt 檔案內的內容

複製Syntax Highlighter指令一、certutil

方法二、使用線上 MD5 Hash Generator 網站

先複製 IMEI 與 UNI 值,並直接在 MD5 Hash Generator 上貼上即可產生雜奏值。

圖三、MD5 Hash Generator 網站

資料庫密碼

雜湊值結果:c0892eb6a0318dd846811f65c89fdd54

取前 7 位數為密碼: c0892eb

透過 SQLite Cipher 解密並開啟資料庫由於解開資料庫的方式甚多,以下介紹透過 GitHub 客製化的 SQLite Cipher 程式開啟加密資料庫。只要點選 EnMicroMsg.db 檔案並輸入密碼,即可解開。

圖四、SQLite Cipher 開啟 EnMicroMsg.db

圖五、EnMicroMsg.db 資料

有關進階的 SQLite 語法使用指令,可參考 「iPhone LINE SQLite資料庫分析與語法操作」。

相关文章

365速度发国际大厅

浙江省温州市中级人民法院:(2024)浙03破224号——温州市初旭食品有限公司

365速度发国际大厅

QQ邮箱附件过期时间解析:保存期限、超大附件及文件中转站指南

be365备用网址

我们是冠军!阿根廷点球大战7-5法国,勇夺世界杯冠军,队史第3座