手机qq 微信 qq聊天记录怎么截长图图 需要下载什么软件的 我是ios

八月工资献给了中秋,九月工资献给了国庆,十月工资献给了双十一。
全新 MacBook Pro 发布以来,消费者对这款全新产品的评价不一。最多的评价估计就是针...
《轩辕剑叁:云和山的彼端》奠定了轩辕剑系列在玩家心目中举足轻重的地位,揭开了一个...
用户对于AirPods的反馈是否热烈,还需要等到这款产品上市后才能见分晓。
Mac用户对于Touch ID的期待由来已久,尤其是考虑到iPhone配备Touch ID已经有一段时间...
苹果自己早期就研究过触摸屏的 iMac,但到现在一直以“多余”作为借口,也没有证实触...
毕竟现在这两家厂商都是 A 系列芯片的供应商,没了它们就没 iPhone 了。
整个 2016 年只有两个 Mac 产品获得了更新,一是 12 英寸的 Retina MacBook,一是MacB...
近日,游戏开发商Creative Mobile在苹果商店中推出了其新作《线上赛车(Cyberline Rac...
自从金卡戴珊推出手游之后,明星进军手游的风潮就一发不可收拾,如今美国知名歌手Demi...
如果说在游戏圈中找一个玩气球最溜的厂商,那么来自美国的游戏开发商 Ninja Kiwi 绝对...
伴随着世嘉旗下的足球模拟类年货游戏《Football Manager 2017》面向全平台正式解锁,...
玩家们一打开游戏就会被周围的美景所吸引,也许并不真实,但是整个画面能够给人一种非...
如果你更关心点经历和回忆,东西不多,你也会快乐。如果你只有一点东西也快乐的话,你...
相比起此前系列作品的灵动、飘逸,新作《极限越野》决定带着玩家来一场“硬仗”。
用一个小配件就让 12 英寸 New MacBook 和全新的 MacBook Pro 重新获得 MagSafe 特性...
如果你拥有一部 iPhone 7 并且经常使用传统的 3.5mm 耳机的话,你应该知道需要时刻携...
不知道是不是因为太超前,外界的吐槽似乎有点让苹果措手不及。
参与活动的两款耳机分别是PowerBeats 2无线入耳式耳机和Beats solo 2无线头戴式耳机。
除了给 iPhone 提供意外跌落等方面的保护之外,这款产品还能够避免室外气候对 iPhone ...
功能方面,i.am+ Buttons 耳机的内部配置有麦克风,可以用于打电话或者向 Siri 发出指...
有售后配件制造商报告称苹果新款笔记本电脑 MacBook Pro 可能无法跟现有的 Thunderbol...
15英寸新MacBook Pro与BreakSafe之间还存在功率问题~
谁知道微信聊天记录截长图怎么截?
注册时间 最后登录
在线时间100 小时 UID
主题帖子人气
白苹果, 积分 535, 距离下一级还需 965 积分
谁知道微信聊天记录截长图怎么截?,没越狱
注册时间 最后登录
在线时间870 小时 UID
帖子 精华1
主题帖子人气
人,最大的敌人是自己。
piiic&&这个软件 AppStore 里面下载
<p id="rate_38437" onmouseover="showTip(this)" tip="威锋有你更精彩&人气 + 7
" class="mtn mbn">
威锋有你更精彩
注册时间 最后登录
在线时间96 小时 UID
主题帖子人气
谢谢分享回2楼下乡人于3 秒前发表的: piiic&&这个软件 AppStore 里面下载......
注册时间 最后登录
在线时间166 小时 UID
主题帖子人气
piiic&&这个软件 AppStore 里面下载
注册时间 最后登录
在线时间100 小时 UID
主题帖子人气
谢了回2楼下乡人于5 天前发表的: piiic&&这个软件 AppStore 里面下载......
注册时间 最后登录
在线时间1 小时 UID
主题帖子人气
我也去下了一个,一块钱
注册时间 最后登录
在线时间0 小时 UID
主题帖子人气
3Q。去试一下看看。
威锋旗下产品
Hi~我是威威!
沪公网安备 29号 | 沪ICP备号-1
新三板上市公司威锋科技(836555)
增值电信业务经营许可证:
Powered by Discuz!王文完小欢迎您 >> 德育之窗 >> 首页
&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&
您现在的位置:&&>>&&>>&首页
最 新 专 题
频 道 统 计
文章总数: 21 个待审文章: 0 个评论总数: 3 条专题总数: 0 个文章阅读:
调 查 投 票
&没有任何调查
03-2903-2901-0601-0412-0611-0609-2509-0506-1503-15
没有推荐文章
没有热点文章
03-2909-07
01-0601-0412-0611-0609-2509-0506-1503-15
此栏目下没有文章
09-2709-2709-2709-27
此栏目下没有文章
版权所有(c)
纯化王文小学信息中心 建议采用 IE5.0 以上浏览
联系电话: 邮政编码:256500许李中心校 >> 首页
&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&&|&
最新公告:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
您现在的位置:&&>>&首页
&[]&(163)&&(149)&&(216)&[]&(408)&&(96)&&(110)&&(104)&&(92)&&(128)&&(120)
?[]yah11-121263?[]yah09-071417?[]张金利12-111331?[]李乃臣06-121577?[]佚名06-122417?[]佚名06-121146
?周文博12-23149?[]周文博09-03408?[]yah01-07518?[]yah11-121263?[]佚名09-07721?[]佚名10-22317?[]佚名10-22378?高德清02-13417
暂无新加入的空间!
&&(107)&&(100)&&(99)&&(156)&&(129)&&(106)&&(100)&&(242)
网站综合统计
学校概况:27 篇文章学生乐园:15 个文章教研科研:8 篇文章德育天地:9 篇文章周工作计划:3 篇文章安全校园:18 篇文章家长学校:17 篇文章图片中心:3 张图片下载中心:1 个软件教师之家:6 个文章教师博客:0 个博客博客:0 个博客注册会员:15位
&没有任何调查
&&&&&&&&&&
&&&&&&&&&&&&&&&& && &&&&&&&&&&&&&&&&&&&& &&&&&&&& &&&&&&&&&&&&&&&&&&&
论坛数据加载中...
博兴县吕艺镇许李中心校
电话 站长:
模板设计:就是把聊天记录截成一个长图。
刚好前段时间也在找保存微信记录的如那件,这个软件可以帮你。 from WeiphoneBBSEnjoyit
&a href=&///?target=http%3A//maybeiwill.me/ppiicc/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&PPIICC – Android可用的长截图应用 #Android #iOS&i class=&icon-external&&&/i&&/a&
已有帐号?
无法登录?
社交帐号登录
我说的话,都是错的。微信的聊天记录是如何保存在 iOS 里的?
iOS 微信的本地存储结构简析
伪红学家,Math@THU, CS@CMU
大约四年前,我有了一个暗恋对象,所以想要把微信的聊天记录保存起来。那时在网上只有一种要付费的类似软件,所以我想,写一个开源的工具好了。于是这件事(对应微信 6.0;那时的代码质量很低我知道)。
后来我没有了暗恋对象,也就不再关心这件事。最近,因为有不少人认为这样的功能仍然很有用,并且据我搜索到的情况,仍然没有能让每个人拿来直接用的工具。因为在几年之间文件结构发生了一些变化,我在这里记录下来,方便其他的开发者(对应现在的版本 6.3.25;虽然我没想到还能有什么用)。
1. 怎么得到这些文件?
过去,我可以提示用户在越狱之后用软件自行把微信 App 所在文件夹复制出来。然而自从某个版本的 iOS 开始,在不越狱的情况下,我们只能看到 /User/Media 这里的文件,而需要的本地数据在 /User/Containers/Data/Application/ 微信的 UID。强迫用户为了这么一件事前去越狱显然不太友好,而对&聊天记录迁移&抓包也不方便,所以我想到另一种途径。
这就是 iTunes 备份。从经验判断,恢复备份之后微信里的聊天记录都还在,说明肯定这些文件在备份的时候保存到了电脑上。它们在哪里?。简单地说,Windows 下在&\用户\(用户名)\AppData\Roaming\Apple Computer\MobileSync\Backup\&,然后我不喜欢用 Mac OS。
不过,iTunes 备份的文件夹结构不是很友好,似乎每个手机上的文件名都变成了一串序号,当然打开相关的 plist 然后看出规律也不难。好消息是,已经有很多人做了类似的事情,例如 ,它也是用 C# 写的,用起来比较方便。
因此,我做的第一步是让用户选取做好的 iTunes 备份,从上面那个源码,稍微修改一下就可以找到 com.tencent.xin 的相关文件,从而在程序里直接通过 iOS 上的路径找到对应的文件。
2. 主要的数据库:MM.sqlite
从很久以前,iOS 微信的大部分数据就保存在这个 SQLite 3 数据库里。没有安卓上可恶的加密,直接可以打开。这个文件在 Documets/xxxx/DB/MM.sqlite,中间是对应用户名的 MD5,稍后会讲它的具体含义。不过一般只需要遍历所有的。
我们感兴趣的是 Chat_ 开头的表,分别是和一个人(或群聊、公众号)的对话内容;以及记录朋友列表的 Friend 和 Friend_Ext。下面两图是朋友表的内容:
很明显,微信号是 UsrName,昵称是 NickName,备注名在 ConRemark。
此外在 ConStrRes2 里面(XML 格式)还有一些有用的信息。比如地区、签名、来源、LinkedIn&&我们更需要的是头像的地址 HeadImgUrl,下面会用到。
特别有个属性叫 alias 需要处理。我们知道每个用户最多可以修改一次微信号,那么新的微信号就会保存在 alias 当中。因为很多地方是用微信号作为 key 来索引到用户的(尽管每个用户也有一个数字的 ID),我们对两种微信号都要检查。
既然已经知道所有人的信息,下面就来看聊天记录。不过在这之前,我还遇到了一个意想不到的新问题。
3. 消失的 Friend
程序写到一半,在某次备份之后,突然读不到朋友们的名字了。打开 MM.sqlite,发现 Friend 表当中确实几乎已经没有记录。那么微信究竟把这么多信息藏到哪里了?
我发现在同一个文件夹下面还有名叫 WCDB_Contact.sqlite 的文件。打开之后一目了然:
猜想是因为随着中老年用户大量加入各种群聊,用户表的长度急速增长(聊天室里的陌生人可能也需要记录信息呀!),所以微信在最近的版本里选择了分表,而我刚好赶上了它转存数据的这个时间。
后面那些列都是 BLOB 格式的二进制,打开之后是这样的:
以人类的视角,我们很容易看出所有内容的含义,只要多一些耐心,都可以直接找到需要的内容。问题在于,让程序怎么分割呢?
我们来观察一下这位微信号为 suan*******cai 的朋友的信息。图片中选中了他的微信号字符串,那么微信如何知道这是需要的字符串呢?一种猜想是用分隔符,例如 C 字符串的 '\0' 结尾。但是,这字符串之后是 0x1a (或者其他很多可能性),无法与正常字符区分。另一种选择是在文件开始记录每一个变量的偏移量,但是观察其他文件发现开头部分非常短,最多 3 字节,不足以保存这样的内容。
自然只剩字符串的前一字节。0x0e,这刚好是选中字符串的长度。我们再往后看,例如有一个拼音首字母 XXK,刚好前一个字节是 0x03。后面的备注 INI-Mob,所以前一个字节是 0x07。于是这个疑问解决了。
再前面一个字节,例如第一行的 0x12,可以发现在同类每个文件的相应位置都不变。我猜想是下一个字符串的类型。
这样,这种记录的结构我们已经大致了解:
开头若干字节未知信息 --& (1 字节类型说明 --& 1(?) 字节长度 --& 字符串) 若干个
不过,在 dbContact 的上空还飘着两朵乌云:
(1) 文件开头究竟应该跳过几个字节,开始真正的内容?这好像在文件自身当中找不到线索,但在同一列当中是相同的,例如 dbContactRemark 是 0x0a,dbContactProfile 是 0x08 0x?? 0x12。问号表示可能有差别,但长度是确定的。所以相应地,可以人为让每种类型跳过若干个字节。至少我没有找到任何反例。
(2) 如果字符串长度超过一字节的表示范围,怎么办?一种合理的猜想是类似 UTF-8 或者 SQLite 的数值类型的表示法,也就是让某些高位为 1 来表示这个数字还要加上下一个字节。我暂时没有过多检验这个说法,因为唯一涉及这个问题的地方是 dbContactHeadImage 和 dbContactChatRoom。而这二者都有很明显的分隔位置,例如头像的链接总是以 http 开始,到 \/\d+ 为止。我在这里偷懒直接去匹配了。
4. 聊天文字记录
有了前面的准备,我们已经可以解析 Chat_[0-9a-f]{32} 表,并且以文本形式导出每个对话的聊天记录。怎么知道聊天的对象是谁?Chat_ 后面是 UsrName 或 alias 的 MD5 值。
首先看一下聊天记录的结构。MesLocalID 是一个比较重要的数字,虽然暂时还用不到。CreateTime 顾名思义,并且应该是 UTC+0 的。Message 就是消息本身。Type 表示消息的类型,可以自己试验一下,最后 Des 应该表示我是否为消息的接收方。
下面简单描述一下我见到过的 Type 和对应的 Message 处理:
10000: 系统消息,就是那种居中的。
34: 语音,消息里会有
47: 表情,
62: 小视频,&videomsg。
50: 视频 / 语音通话,&voipinvitemsg。本来在微信里二者就可以切换,对用户解释得太细也没啥用。
48: 位置。
42: 名片。
49: 链接。这里面包含的类别比较多,在 Message 里面会有、、、 等信息。微信应该是通过 标签来确定一些特殊的应用,比如 2001 是红包,2000 转账,17 实时位置共享,6 文件。(我试过把它或者后面的模板地址改成别的,好像不管用。)
对于导出文字来说,这些特殊的东西就给用户显示个&[图片]&、&[表情]&吧。
还有一个问题是群聊,特点是用户名为 \d+@chatroom。在群聊当中,每个人(除了自己)的发言前面都会有&微信号:\n&,好让我们知道对方身份。问题在于,有些人在群聊当中可以改自己显示的名字。这个信息如果在新版数据库当中,包含在 dbContactChatRoom 列。它有 ... 的结构,处理起来应该不难。
5. 其他多媒体资源
为了给用户初恋般的体验,我还希望能尽量还原聊天的全部内容,这就需要加入对应的图片(头像)、语音、视频、动画表情等元素。
我们自然会想在&Documents/ 微信号的 MD5&文件夹下面找这些内容。这时很容易发现:
(1) Img 文件夹中有一些以 MD5 命名的文件夹,它们对应数据库中的各 Chat_ 表,而具体文件是以数字编号的,这个编号等于对应消息的 MesLocalID(上面提到过)。文件有三种后缀:.pic、.pic_hd、.pic_thum,顾名思义是正常大小的图片、原图、缩略图。基本上是 JPEG 格式吧,这个影响不大。
(2) Video 文件夹类似,有 .video_thum 扩展名的缩略图,以及 .mp4 的视频本体。视频是 AVC+AAC 编码的,不过仍然不重要吧。
(3) Audio 是语音,以前是 3GP 格式,现在打开之后可以看到 SILK_V3 的字样,搜索可以直接发现。不过没有源码,也可以自行搜索其他解决方案。
然而在这个版本中,我始终没有从备份当中找到动画表情和头像这两项资源。怎么回事?
正好那段时间盘古越狱出现了,我把完整的 Documents 和 Library 文件夹复制出来,看了一遍。原来它们在 Library/WechatPrivate 里,而这个文件夹设置成了不备份。这也有道理,因为前面的几个是个人的资源,而头像和表情随时都可以再去下载,所以并不需要放在 iTunes 备份当中。
那么不越狱的情况下,我们怎么获得它们呢?记得上面提到过,在每个好友的 dbContactHeadImage 当中有正常和放大头像的地址;如果看一下含有动画表情的消息,其中也有这个表情的 GIF 地址。好的,下载就可以了。
最后,还有一件小事有点麻烦。
当前用户的微信号和头像在哪?
打开 mmsetting.archive,这是一个 plist 文件,在里面有几项是我的微信号、昵称、头像地址&&
问题在于这里没有很清楚的 key-value 形式,所以只能猜测出来一些找到相应内容的方法。如果能改进一下就更好了。
以上描述了找到微信聊天记录涉及的文件的方法,不过讲道理它们都只能算是&有根据的推测&。因为聊天记录这件事不太方便收集测试数据,只能保证它们符合我能找到的记录。
我写了一个放在 GitHub 上,请有兴趣的读者尽情地 Fork 走修改之类的!
客官,这篇文章有意思吗?

我要回帖

更多关于 怎么截图qq聊天记录 的文章

 

随机推荐