我4年前做过这件事,今天我需要再次做。
因此,在使用SQLite Browser打开main.db文件后,您需要:
确定对话的ID(一个人可能会在多个对话中出现):
select conv_dbid, * from Chats where friendlyname like '%Friendly Name%';
或者您可以使用以下方法找到所需的对话 ID:
select * from Conversations where identity like '%accountname%';
最后,获取特定对话中所有消息的SQL查询语句:
select body_xml, datetime(timestamp, 'unixepoch'), edited_by, edited_timestamp
from Messages where convo_id=YOUR_CONVERSATION_ID;
不幸的是,我发现 main.db 的 body_xml、edited_by 和 edited_timestamp 字段每次有人编辑/删除消息时都会更改,而主数据库中没有 body_xml 的备份。
但不用担心!在 main.db 数据库旁边有一个名为 chatsync 的文件夹(在您的 Skype 帐户文件夹 /AppData/Roaming/Skype/Account_Name_Folder 中)。
所有 chatsync 中的消息均采用 Skype 二进制格式,要读取它们,您可以使用轻巧免费的实用程序 http://www.nirsoft.net/utils/skype_log_view.html
这是 SkypeLogView 的开始对话框,它会自动选择您的 Skype 目录(最好关闭 Skype 应用程序,但这不是必需的)。选择日期以加快搜索过程。
就这样!