找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

闲来无事研究了下离线聊天记录的文件

路径在这里,感兴趣的可以打开看看:
%LocalAppData%\CalabiYau\Saved\Chat
·
其中文件夹0是默认值(或者说访客用户或空用户),就不说了。
以你ID命名的文件夹里存着所有你与别人的离线记录;点开后,与文件夹同名的文件里保存的是会话预览,也就是会话管理器最外面能直接看到的几句信息,包括你和它的名字和ID,以及最后一句话。
·
chat文件就是会话历史,但是暂不清楚1的意思,也许未来会有2和3……
打开后无疑是乱码,但是这个其实有点说法;本来我是计划做个程序一键转换的,但一想到又是原生二进制操作——唉!
·
·
我目前只分析出用户名和具体信息的储存方式,前面和中间疑似换行或分隔符的东西我不知道是啥;
·
每个用户名之前都有这么一段:
69 F3 28 00 00 00 00 00 B4 51 9B 00 00 00 00 00 06 00 00 00
·
用户名与信息之间有这么一段:
00 EE 05 D9 01 0E 48 E8 01 ?? ?? ?? 66 00 00 00 00
打问号的部分似乎是序号,不确定是怎么排列的;
·
每段信息的开头都有这么一段:
如果是全ASCII:?? 00 00 00
如果包含汉字:?? FF FF FF
这个理论上应该跟上一段是一起的,只是我本以为是编码描述符,后来想想可能还包含了信息的长度;
·
然后是信息本体,这个是最邪门的:
ASCII字符直接以ASCII编码储存,Unicode字符是以UTF-16 LE编码储存;是的,一条信息里会出现两种编码,我推测全部都是UTF-16 LE,只是ASCII部分省略了00部分,难道是UTF-7的标准?也不像。空间倒是省了。
UTF-16 LE部分倒是标准,不论是00还是四字节长字符都完整保留。只能说不愧是二进制读写,真想看还是换编码凑合读吧
闲来无事研究了下离线聊天记录的文件-1.jpg ,累了。
回复

使用道具 举报

说点什么

您需要登录后才可以回帖 登录 | 立即注册
HOT • 推荐