我想组织一个包含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