Skype:如何使用main.db读取聊天消息

10

我已经尝试了一段时间,但现在卡住了。以下是我遵循的步骤:

  1. 我可以在此位置看到C:\Users\Admin\AppData\Roaming\Skype\paul.lowry198中的main.db文件。
  2. 为了打开这个main.db文件,我安装了SQL Lite BB Browser应用程序。
  3. 此应用程序可以显示DB中所有现有的表。有一个名为chats的表。对于这个表,我正在执行一个查询select * from Chats where friendlyname = 'Jimmy Trevor';它返回了69个结果。
  4. 现在,在这之后,如何阅读他写过但删除(或任何消息)在我读之前。

什么是正确的查询,可以显示给我这条消息?

3个回答

13

我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 应用程序,但这不是必需的)。选择日期以加快搜索过程。

SkypeLogView start dialog 就这样!


2
请注意,从2017年4月开始,新版Windows 10 Skype(Skype UWP - 通用Windows平台)中的main.db文件已移动到以下位置:%localappdata%\Packages\Microsoft.SkypeApp_kzf8qxf38zg5c\LocalState\<SkypeUsername>\main.db其中%localappdata%C:\Users\<username>\AppData\Local

而且它看起来内部的sqlite3数据库方案已经被相当大的重组了。 - Kurt Pfeifle

0

在线浏览和导出您的Skype历史记录

我最近使用了以下平台: http://www.skypebrowser.com/更新该域名已经失效)

步骤

  1. 点击上传您的Skype数据库(最大30 MB)。 从本地磁盘中找到main.db文件

找到main.db文件: C:\Users<Windows用户名>\AppData\Roaming\Skype<Skype用户名>\main.db

等待几分钟上传文件: 已上传main.db文件

  1. 打开文件后,您可以使用导出按钮将其导出为HTML压缩文件到本地磁盘。导出为压缩的HTML文件
  2. 另存为该文件。 另存为压缩文件

在压缩文件中,存在与不同人或组的所有对话的不同HTML文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接