# ExportWeChatMsgForWindows **Repository Path**: rison13/ExportWeChatMsgForWindows ## Basic Information - **Project Name**: ExportWeChatMsgForWindows - **Description**: 导出Windows版本下的微信消息和收藏记录。只针对过去2016年的微信版本,需要先提取到数据库密钥 - **Primary Language**: C++ - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-10 - **Last Updated**: 2025-08-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 注意事项 1. 建议从导出的聊天记录里面,搜索密码,身份证照片等个人信息,删除掉避免留存 2. 使用代码前,建议备份好聊天数据,避免因bug造成数据损失 3. 已在Microsoft Edge(chromium 106.0.1370.37下验证通过) # 聊天记录导出 ## 聊天数据类型 1. 个人聊天数据存储在ChatMsg.db 2. 微信MSG下有很多数据库文件,如果我们需要的是好友+聊天记录,那么其实只需要三个数据库文件即可,为: MSG.db MediaMsg.db MicroMsg.db,当然存储数据达到一定体积后,会有 MSG0 MSG1 等。 3. 其他备忘 > MSG.db 存储的为聊天记录数据 MicroMsg.db 存储的为好友+群组等等联系人的信息,表为contact MediaMsg.db 主要存储的是语音数据,格式为silk . Misc.db 存储的是头像数据 ### type=1,文本 需要处理表情转换 ### type=3,图片 1. 数据以MsgSvrID为文件名存储在目录Data下面 2. 新版的图片放在目录FileStorage下面,而且文件名不是数据库字段的随机组合,暂不清楚是如何生成的 3. 数据库的bytesExtra存放了缩略图和大图的路径信息 4. 图片需要做解密,dat格式的,异或解密,[参考](https://blog.csdn.net/chrunlee/article/details/121238460) 5. 目前发现的格式类型有:jpeg,gif,png,webp ### type=34,语音 由于以前没接收到语音消息,没分析过 ### type=43,视频 1. 文件名为MsgSvrID的md5 2. 可能存在FileStorage\Video或者Video目录下,有缩略图和mp4文件。 3. 同样可以用bytesExtra字段信息获取到视频和封面缩略图信息 ### type=47,表情(斗图) 1. 文件名使用的是android md5字段。经过计算确认,md5是内容的md5 2. 存在CustomEmotions文件夹下,前两个字母用于分类 3. 有些没下载回来,本地没资源或者有androidmd5字段但是本地不存在,可以使用cdnurl下载原始表情 4. 加密方式是和图片一样的。后期的表情使用`V1MMWX`加密,暂没研究透 5. 补充,有些表情或者图片是没有做加密的,需要判断一下做更改文件名操作 6. 兜底工作 - 发送表情给企业微信(4.0.0.603以下),拖拽到电脑保存 - 截图,使用百度的以图搜图功能找到原始表情 - 文件传输助手发送到网页版,可以直接提取出来 ### type=49,扩展信息。如小程序,视频分享等 1. 文件传输,sub-type=6,数据存储在attachment目录 2. 早期表情,sub-type=8,bytesextra里有表情的路径 3. 微信一开始下载的数据放在download里面,读取bytesextra准没错 ### type=62,短视频 1. 可以在bytesextra里面获得存放路径和缩略图 ## 关于原始表情的解析和替换 1. 下载了两版表情,QQ小黄人表情和emoji表情 2. 对于文本,都需要做批量替换处理 # 微信收藏导出 ## 路径分析 ## 资源下载 1. 使用微信PC版,观看一边收藏(按键精灵点击),触发资源缓存到本地 2. 缓存目录为:FileStorage\Fav\Temp\随机 # 分析总结 1. 数据库密钥获取,[参考:PC版微信数据库解密详细教程](https://bbs.pediy.com/thread-251303.htm) 2. 有些资源是V1MMWX加密的,看过以下一些文章,没做算法还原 > https://zhuanlan.zhihu.com/p/187586112 https://www.52pojie.cn/thread-735810-1-1.html https://github.com/BlackTrace/pc_wxapkg_decrypt 3. 文件读取可以使用火绒剑分析或者ProcessMonitor 4. 数据库密码需要使用OD,吾爱破解的 5. 数据库读取使用SQLiteSpy1.9.8,Qt读取方法[参考这里](https://blog.csdn.net/lms1008611/article/details/81271712)