我有当前chatsync/**.dat
格式的 Skype 日志文件。我该如何读取它们?
它们来自一个我没有密码的 Skype 用户帐户,如果我尝试将它们和所有附带文件移动到我的 Skype 帐户的数据文件夹以通过 Skype 读取它们,它会抱怨数据库已损坏。
这些二进制文件中的部分文本很清晰,但还不够,而且通过十六进制转储读取它们很费力。
Delphi 中有一个查看器,但它只能处理英文消息,跳过包含挪威字符的行并混淆用户名。
答案1
任何 SQLite 接口都可以打开该XXX.db
文件。我使用SQLite工作室。
以下查询可用于获取您与给定用户名的所有聊天消息。andy
在此示例中,将其替换为您想要的用户名。
select
chatname,
strftime('%Y-%m-%d', datetime(timestamp, 'unixepoch')) AS date,
from_dispname,
body_xml
from
Messages
where
chatname like "%andy%"
order by
timestamp
答案2
Skype日志查看器应该做你想做的事。
SkypeLogView 读取 Skype 应用程序创建的日志文件,并显示指定 Skype 帐户的来电/拨出电话、聊天消息和文件传输的详细信息。您可以从日志列表中选择一个或多个项目,然后将其复制到剪贴板,或将其导出为文本/html/csv/xml 文件。
答案3
您可以使用用于存储聊天记录的数据库 sqlite 手动浏览它们(例如:sqlite foo.db)。Sqlitebrowser 将使这个过程不那么繁琐。您需要一个复杂的 sql 命令来按颜色顺序对它们进行排序和列出。您可以将查询从 sqlite 直接转储到文件中,因此我会使用 sqlite。
答案4
尝试使用skype-chatsync-viewer
以下工具这个包。
它只能部分解析数据,但如果您有兴趣恢复“已删除”的消息(这可能是人们想要读取这些*.dat
文件的唯一原因),它可能适合您的目的。