Python解析微信dat文件的方法
今天想查看某個微信聊天記錄的圖片內(nèi)容,查看文件記錄全部是dat文件,因此,開始了一頓百度+操作!
先貼代碼:
import os
def imageDecode(dat_dir,dat_file_name):
dat_read = open(dat_dir, "rb")
if not os.path.exists(target_path):
os.makedirs(target_path)
out=target_path+"\\"+dat_file_name+".png"
png_write = open(out, "wb")
for now in dat_read:
for nowByte in now:
newByte = nowByte ^ xor_value
png_write.write(bytes([newByte]))
dat_read.close()
png_write.close()
def findFile(dat_path):
fsinfo = os.listdir(dat_path)
for dat_file_name in fsinfo:
temp_path = os.path.join(dat_path, dat_file_name)
if not os.path.isdir(temp_path):
print('文件路徑: {}' .format(temp_path))
imageDecode(temp_path,dat_file_name)
else:
pass
if __name__=='__main__':
# 修改dat文件的存放路徑
dat_path = r'C:\Users\zhang\Desktop\dat_dir'
# 修改轉(zhuǎn)換成png圖片后的存放路徑
target_path = r'C:\Users\zhang\Desktop\dat_dir\image'
# 修改加密的異或值
xor_value = 0x5f
findFile(dat_path)
接下來代碼在本地運行時,有注釋的地方需要自行進行修改。
這里的對 xor_value的具體修改值說明:
——————————————————————————
據(jù)說微信圖片是用異或值加密?(or轉(zhuǎn)碼?)
——————————————————————————
緊跟步驟
首先,我知道在 ~\WeChat Files 下的文件夾里面 ~\Image 文件夾下dat文件一定是圖片,常用的圖片格式為 PNG 和 JPG!我分別用十六進制方式打開了一張PNG和JPG的圖片

圖1 PNG16進制

圖2 JPG的16進制jpg
強迫癥請忽略圖片不完全一致
發(fā)現(xiàn) PNG 和 JPG圖片格式的文件分別是 “89 50” **“FF D8”**來開頭的。
隨意打開一個dat文件,同樣是16進制格式打開

文件開頭為 “a0 87”,于是電腦計算器程序員專用走一波~

PNG XOR

JPG XOR
這個圖片是針對于JPG來進行的一個XOR加密,并且加密用的16進制 5F。因此 xor_value*值填寫0x5f。
到此這篇關(guān)于Python解析微信dat文件的文章就介紹到這了,更多相關(guān)Python微信dat文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)圖片與視頻互轉(zhuǎn)代碼實戰(zhàn)(親測有效)
圖片轉(zhuǎn)視頻,視頻轉(zhuǎn)圖片手機一操作,立馬轉(zhuǎn)換過來,那么基于代碼是如何操作的呢?下面小編給大家?guī)砹薖ython實現(xiàn)圖片與視頻互轉(zhuǎn)代碼實戰(zhàn),感興趣的朋友跟隨小編一起看看吧2021-12-12
python多進程中的內(nèi)存復(fù)制(實例講解)
下面小編就為大家分享一篇python多進程中的內(nèi)存復(fù)制(實例講解),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
分析Python編程時利用wxPython來支持多線程的方法
這篇文章主要介紹了Python編程時利用wxPython來支持多線程的方法,本文主要以開發(fā)GUI程序時做線程通訊作為一個示例來講解,需要的朋友可以參考下2015-04-04
Python設(shè)計模式之狀態(tài)模式原理與用法詳解
這篇文章主要介紹了Python設(shè)計模式之狀態(tài)模式原理與用法,簡單描述了狀態(tài)模式的概念、原理并結(jié)合實例形式分析了Python實現(xiàn)與使用狀態(tài)模式的相關(guān)操作技巧,需要的朋友可以參考下2019-01-01
python GUI庫圖形界面開發(fā)之PyQt5 MDI(多文檔窗口)QMidArea詳細使用方法與實例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5 MDI(多文檔窗口)QMidArea詳細使用方法與實例,需要的朋友可以參考下2020-03-03

