1. 程式人生 > >清除微信登入歷史、自定義預設檔案儲存位置以及聊天記錄還原

清除微信登入歷史、自定義預設檔案儲存位置以及聊天記錄還原

這篇文章的本意呢,其實對個人使用者意義不大,因為桌面端微信本身提供了自定義使用者資料檔案存放路徑的設定項,那麼為什麼要寫出來這麼一篇看似無用的教程來呢?是因為微信本身的特殊性,需要使用者登入以後才可以修改設定,那麼對於運維人員來說,想要預裝微信再自定義使用者資料存放路徑就比較麻煩了,登入自己的賬號修改設定後,又會留下使用過的痕跡(其實也是有辦法清除的)下次開啟微信就會赤裸裸地預設提供自己賬號的登入二維碼以及頭像。但是電腦的所有者又不會在自己不在場的情況下讓你登入她的微信看到個人隱私,這就比較尷尬了……

現在開始需求分析:

一、微信預設檔案儲存位置是在使用者文件目錄中,具體位置可通過下方的路徑獲取,如果你沒有修改過使用者根目錄位置,那麼這個目錄預設在你的系統分割槽中,以目前固態硬碟的普及程度以及容量限制,整塊硬碟的剩餘空間很快就會被微信中大量的小視訊、圖片以及檔案等的快取吃空,所以,把微信預設檔案儲存位置修改到非系統分割槽中是很有必要的。

%USERPROFILE%\Documents

二、微信的設定需要登入以後才可以修改,且未提供清除登入歷史記錄的功能,下次啟動預設顯示最後一次登入使用者的頭像及登入用二維碼影象,對於普通使用者而言,造成困擾。

綜上所述,需求是存在的,所以就決定搞定它。既然支援自定義,就說明路徑不是寫死在程式碼裡的,就是不知道為什麼桌面端的微信不在安裝時像QQ一樣提供可自定義使用者資料存放位置的選項了,你不給那我就自己來。其實我當時面對的需求要更加複雜一點,就是不僅要在不登入微信的情況完成存放位置修改,還要把以前的聊天記錄還原回去,好在最後還是實現了。那麼,廢話不多說了,下面開始正文:


第一步,從官網下載桌面版微信客戶端並安裝,安裝結束後不要點開始使用,直接關閉掉。


通過對安裝日誌的分析,發現了比較可疑的操作,於是跳轉到上圖所示的目錄開啟目標檔案分析

%USERPROFILE%\AppData\Roaming\Tencent\WeChat\All Users\config\3ebffe94.ini


檔案內容高度可疑,內容很明顯就是微信檔案的預設儲存位置,也就是“我的文件”系統目錄中


登錄檔專案也建立了一個比較可疑的註冊項“FileSavePath”,鍵值同樣為“MyDocument:


為了弄明白這些設定究竟是起什麼作用,對微信主程式的啟動過程進行了後臺追蹤並分析日誌,可以看到微信主程式先後訪問了如下檔案,暫且記錄一下並大概查看了下檔案內容

%USERPROFILE%\AppData\Roaming\Tencent\WeChat\All Users\config\3ebffe94.ini
%USERPROFILE%\Documents\WeChat Files\All Users\config\config.data
%USERPROFILE%\AppData\Roaming\Tencent\WeChat\1\config.ini
%USERPROFILE%\AppData\Roaming\Tencent\WeChat\1\kvcomm\config.ini
%USERPROFILE%\Documents\WeChat Files\All Users\config\c9d52eb5.ini


其它檔案都是純文字,內容沒什麼特別,但是這個檔案中記錄的是我登入微信後的實際使用者資料夾位置,對比下微信剛安裝完成時這個檔案是空的,可以證明微信啟動後顯示的預設賬戶就是你最後一次登入的微信賬號資訊。


這兩個配置檔案是在執行賬號登入過程中訪問到的、但實際根本不存在的配置檔案。為了節省篇幅,接下來的實驗過程我就不一一截圖了,只作文字說明,必要的時候會截圖證實。


HKEY_CURRENT_USER\Software\Tencent\WeChat
@FileSavePath = "C:\ProgramData\Tencent\WeChat"


嘗試著使用微信設定修改了預設檔案儲存位置,後臺記錄到微信在新位置複製了一份原目錄中的檔案,隨後修改了登錄檔中預設儲存位置的鍵值,同時建立了一個新的配置檔案“b928cd74.ini”,記錄了修改前的預設檔案儲存位置。

%USERPROFILE%\AppData\Roaming\Tencent\WeChat\All Users\config\b928cd74.ini

微信重啟登入後,會刪除原目錄,同時修改“config.data”中的預設檔案儲存位置,至此全部過程結束。現在我們已經瞭解了相關的配置檔案以及登錄檔項,過程也清楚了,那麼需求就方便解決了。

1、自定義微信預設檔案儲存位置

微信安裝結束後不要立即執行,修改配置檔案"3ebffe94.ini"以及登錄檔項“FileSavePath”的取值

#配置檔案
%USERPROFILE%\AppData\Roaming\Tencent\WeChat\All Users\config\3ebffe94.ini
#登錄檔項
HKEY_CURRENT_USER\Software\Tencent\WeChat
@FileSavePath = "MyDocument:"

2、清除微信登入歷史

刪除微信預設檔案儲存位置“WeChat Files”下除“All Users”外的所有賬號資料夾、刪除“All Users”目錄中所有的JPEG影象檔案(登入過的微信賬號頭像快取)、刪除"All Users"的子目錄“Config”中除“c9d52eb5.ini”之外的所有檔案,然後使用如下命令重建“config.data”配置檔案。

cd\
#注意替換成自己的微信檔案預設儲存位置
cd "C:\ProgramData\Tencent\WeChat\WeChat Files\All Users\config"
#輸入下面命令回車後按Ctrl+Z再按回車儲存即可
copy con config.data

3、還原微信賬號資料(含聊天記錄等)

重灌系統後,只需把之前備份好的“WeChat Files”資料夾複製到微信檔案預設儲存位置即可,主要不要覆蓋“Config”子目錄中原有的配置檔案“c9d52eb5.ini”,重啟後微信會讀取並自動修改“Config.data”中的目錄位置。

好了,寫得差不多了,其實這篇文章內容對於普通使用者沒有什麼用處,主要是給運維人員用,比如幫同事或朋友乃至領導修電腦重做系統後,預裝軟體,需要在不登入領導微信賬號的情況下修改預設檔案儲存位置並導回原微信的聊天記錄,那麼這篇文章的內容就可以派上用場了。