热搜词
发表于 2019-1-9 09:47:41 | 显示全部楼层 |阅读模式
手机即时聊天软件-易信凭借着清新可爱又实用的特点已被大家接受。但是目前它本身不提供备份聊天记录的功能。

工具/原料
RE管理器(Version 3.1.8)
SQLite Database Browser(200_b1_win)
易信APP(V6.8 20190110)

方法/步骤
1、使用“RE管理器”文件浏览器打开聊天记录数据库文件。
  先把安装易信APP的手机获得root权限,然后安装EC或RE文件浏览器,再打开data\data\im.yixin文件夹,在im.yixin文件夹下有以数字命名的文件夹,其中就包含有聊天记录。根据数字文件的时间属性很容易判断,时间最新的肯定是包含聊天记录的文件。如果你用易信接受邮件的话,那你的邮件记录保存在mail.db。说最主要的吧,我们的聊天记录保存在msg.db文件中,其中main.db也保存可能感兴趣的数据。具体可通过SQLite Database Browser查看数据。

易信聊天记录.png

不多说了,先把msg.db和main.db两个文件都拷贝到电脑上再说吧。

2、利用数据库管理软件SqliteDev查看msg.db数据库的内容。

打开msg.db文件,发现内容简单多啦,其中msghistory表文件包含你的聊天记录数据。

未标题-1.png

3、导出为csv格式或Excel格式文件
查看msghistory数据表,我们可以看到有人下几列:
    seqid表示消息的序号,第一条消息为1,依次递增。

    msgid表示每条消息唯一的ID号。

    id表示聊天的对象的ID号。

    fromid表示了该消息是发送的消息还是接收的消息。如果id=fromid,那么说明该消息为接收的消息。

    session表示。。。。我也没搞清楚。或许是会话类型?

    time表示消息发出的时间。好像单位为分钟。

    status可能表示消息是否已读。

    msgtype表示发送的消息类型。0为文本消息,1为图片,3为视频,4为表情符号,10为网址链接,1005为网络通话,。

    content即为消息的内容。

    attachs表示附件的链接信息。使用JSON保存。

  点击右上角的保存工具图标,在弹出的窗口中,选择seqid、id、 fromid、time、msgtype、 content六项数据,再选择选择文件路径和保存格式之后,即可将聊天记录保存为csv格式或是Excel格式。如图。
03.png

这样就大告成功了!



全部评论1
灰儿 发表于 2019-1-9 09:51:08 | 显示全部楼层
导出结束之后,我们可以看到,在Excel表上“time”一栏,表示的时间格式为毫秒值,我们还需要把毫秒格式转换为日期时间格式。

假设我们想显示的标准格式是“2018/11/13 22:03”,毫秒表示应该是"1542117797000"。

可是在易信msg.db数据库文件的msghistory数据表中,time字段中显示值是“1542117797”,这并不是原始毫秒值,末尾少了000,毫秒值应该是1542117797000,这其实是1970 年1月1日8时(北京时间)时至今的毫秒数,这种格式是一种可行的表示形式但不是普通人可以看懂的友好格式。

现在我的目的是要处理一组这样的字符串,希望返回的格式可以日期和时间。公式如下:
1542117797000/1000/60/60/24=17849,转换为日期时间表示格式为:1948/11/11 14:03,把这个日期时间再加上1970年1月1日8时,按这种方法可以得出年月日时。

公式:
=毫秒值/1000/60/60/24   注意把excel相关单元格设置为日期格式(2001-3-14 13:30)
未标题-1.png





回复

使用道具 举报

回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-27 17:22 , Processed in 0.177477 second(s), 25 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team