我想組織一個包含Whatsapp組中所有照片的相冊。 使用rooted手機,我已將未加密的whatsapp數據庫下載到我的電腦。WhatsApp數據庫中每個媒體文件的鏈接位置
在Ubuntu上使用Sqliteman我環顧四周,特別是在msgstore.db中,似乎無法找到指向特定組圖像的所有鏈接。
對於表「chat_list」,我看到一個特定的「key_remote_jid」值對應於我想要的組,並且在「messages」數據庫中,我可以使用該「key_remote_jid」來獲取與該組有關的所有消息像:
select * from messages where key_remote_jid="[email protected]";
而且我可以放棄的短信,以重點我想在媒體上(照片和視頻爲主)由
select * from messages where key_remote_jid="[email protected]" and not media_wa_type = 0;
而一些有欄下有一個文件名的圖像「media_name」,但它們只是那些 我已經發送了。
還有另一張名爲「media_refs」的表,其中包含許多圖像和視頻路徑,但似乎只包括已轉發給多個聊天的文件,並且有一個關鍵字,但我沒有找到與關聯的關鍵字「消息」表。
該組織相當老舊(可以追溯到2013年),似乎whatsapp處理其數據庫的方式多年來一直在變化,因爲有些列過去一直保持{null},而不是最近一次消息(如participant_hash)和值key_id似乎會在某個時刻更改格式。
但是,Whatsapp應用程序在向我顯示過去任何時候的文件並且給我選擇使用「Gallery」類型軟件打開實際文件的選項時沒有問題,所以信息在我的手機某處。
所有這一切的關鍵是基本上有一個備份我可以使用,並能夠從我的手機刪除圖像,仍然有他們在該組共享相同的方式組織。
哇!謝謝,我想是這樣,我幾乎給了希望。然而,我在幾臺沒有「instr」功能的計算機上運行sqlite 3.7.9和3.7.13。所以我試圖修改腳本,如下所示:https://www.techonthenet.com/sqlite/functions/instr.php(但我在第一次替換時遇到了語法錯誤instr爲「哪裏」,我試圖更好地理解它) – JunCTionS
好吧,放棄了。剛剛從這裏下載了一個預編譯的二進制文件:https://sqlite.org/download.html,它的工作非常好!非常感謝你! – JunCTionS
哦,如果任何人想知道,對於視頻的命令如下所示: 選擇_id,media_mime_type,SUBSTR(SUBSTR(thumb_image,INSTR(thumb_image, 'VID'),60),INSTR(SUBSTR(thumb_image,INSTR (thumb_image, 'VID')從'messages',23), 'VID'),23)其中'key_remote_jid' LIKE '%<您希望的接觸>%' 和'media_mime_type' LIKE '%視頻%'; – JunCTionS