1. 程式人生 > >Android 獲取手機中微信聊天記錄

Android 獲取手機中微信聊天記錄

首先我們要知道,微信的聊天記錄一般是不提供給我們獲取的,所以一般情況下我們手機沒root的話就拿不到了。就算是root後的手機,想要獲取微信的EnMicroMsg.db檔案並且解密它、開啟它也有點難度。

下面我們就來演示怎麼從安卓裝置的手機中拿到微信的資料檔案吧~

  • 實驗軟體 :Android Studio
  • 實驗裝置:Root過的真機一部

一、拿到資料庫檔案EnMicroMsg.db

一步步來,開啟Android Studio的File Explorer:Tools –> Android –> Android Device Monitor

首先我們可以先隨便執行一個專案,將真機作為除錯工具,跑起來之後按照上面方式開啟檔案管理器,進入“/data/data/”我們可以看到是這樣的:
這裡寫圖片描述

可以看到有很多應用的專案路徑,我們找到微信的,目錄是:com.tencent.mm,這裡其實會出現一個問題,就是許可權不夠開啟/data/data目錄其中就是需要進入到adb.exe所在的目錄下,開啟命令列形式,改變檔案許可權,由於安卓檔案系統的內建問題,我們只好一層層地開啟許可權,才可以檢視到裡面的檔案。可以參照下我的目錄是:D:\Users\Administrator\AppData\Local\Android\sdk\platform-tools
具體操作如下:

  • 在此adb.exe所在的目錄下開啟命令列形式,按SHIFT+右鍵開啟
  • 進入adb shell模式:在命令列中輸入: adb shell
  • 進一步進入root許可權:在命令列輸入: su
  • 這時候你在File Explorer中可以發現上面講到的問題,就是資料夾打不開,這時候就需要你改變許可權,但是許可權的改變不是改變根資料夾的許可權後子檔案的許可權也隨著改變,比方你想改變/data/下的所有資料夾及其子資料夾檔案的許可權:chmod -R 777 /data/
    這裡寫圖片描述

會爆上面這個錯,所以我們只好一層層改變許可權,拿到我們需要的檔案就好,依次輸入命令:

chmod 777 /data/
chmod 777 /data/data/
chmod 777 /data/data/com.tencent.mm/
chmod 777 /data/data/com.tencent.mm/MicroMsg/
chmod 777 /data/data/com.tencent.mm/MicroMsg/01xxxxxxxxxxxxxx

二、解密資料庫檔案

  • 這一步比較簡單,首先需要我們下載一個SQLcipher,SQLCipher開發得和開放原始碼的擴充套件,它提供的SQLite資料庫的透明加密.資料頁之前被寫入加密儲存和讀取解密。
    下載傳送門:SQLcipher下載
  • 我們試著開啟EnMicroMsg.db,發現它被加密了!但是微信給資料庫加密的方式實在太簡單,我們可以輕鬆地破解,一破一個準!該資料庫密碼的生成是由微信uin跟手機IMEI兩個字串相加後去md5前七位
    1、這裡先要拿到微信uin,很簡單,有兩種方式可以獲取:
    第一種是 :→傳送門
    第二種呢,我們可以在shell命令列中cd進入:/data/data/com.tencent.mm/share_prefs/ 後 :
cat system_config_prefs.xml

然後我們就可以看到下面這張圖片的資訊:
這裡寫圖片描述
上面我們就可以清楚地看到了,標記了default_uin標籤名對應的value值就是我們要找的uin了~

2、手機IMEI的獲取:在手機撥號鍵輸入:*#06# 即可獲取

3、得到微信uin和手機IMEI相加,因為都是數字,加完之後還是數字,得到了一個最終的數字字串,通過線上md5加密軟體加密後去前7位就是密碼了,輸入密碼我們就可以進入夢寐以求的db檔案EnMicroMsg.db了!!!
這裡寫圖片描述
這裡寫圖片描述

實驗成功,教程結束,覺得可以就點個贊吧~O(∩_∩)O謝謝