经典回顾|手机取证之安卓微信加密数据解析

admin 2026-04-22 04:55:35 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 该文档详细解析安卓微信三大加密数据库(EnMicroMsg.db/enFavorite.db/WxFileIndex.db)的解密方法与数据结构。核心发现包括:EnMicroMsg.db需通过IMEI+uin的MD5前7位解密,内含20余个关键表涵盖用户信息、聊天记录、群组、支付数据等;另两个数据库采用相同密钥,分别存储收藏内容与文件索引信息。文档提供了完整的字段解析与取证操作指引,为手机取证提供具体技术方案。 综合评分: 85 文章分类: 移动安全,取证,数据安全,应用安全


cover_image

经典回顾 | 手机取证之安卓微信加密数据解析

原创

取证者联盟 取证者联盟

取证者联盟

2026年4月21日 20:35 上海

在小说阅读器读本章

去阅读

前文回顾:经典回顾 | 手机取证之安卓微信数据分布

一、EnMicroMsg.db

EnMicroMsg.db是一个加密的SQLite文件,加密方式已经公开,解密密钥为手机IMEI与微信uin组合后计算其MD5值取前7位,因此只要得到手机的IMEI和微信的uin即可解密。这也是众多手机取证软件所采用的的方法,这里不做赘述。

#

使用sqlcipher打开EnMicroMsg.db,在弹出的窗口中输入密钥,即可看到明文内容。

重要数据表及其字段内容包括:

(1)userinfo:用户基本信息,如微信号(Stevenpi)、昵称(Steven)、qq邮箱(87*****[email protected])、手机号(186****1128)、QQ号(87*****08)、地区信息(上海虹口)以及个性签名、最近一次登录时间(UNIX时间戳)等。

(2)userinfo2:其他用户信息,与使用功能数量有关,多则可达数百项,主要包括:

最近登录的微信账号(USERINFO_LAST_LOGIN_USERNAME_STRING);

头像小图URL(USERINFO_SELFINFO_SMALLIMGURL_STRING);

首次安装版本(USERINFO_INSTALL_FIRST_CLIENT_VERSION_INT);

首次安装时间(USERINFO_INSTALL_FIRST_TIME_LONG);

数据库大小(USERINFO_HEAVY_USER_REPORT_TYPE_DB_SIZE_LONG);

群组数(USERINFO_HEAVY_USER_REPORT_TYPE_DB_CHATROOM_LONG);

消息数(USERINFO_HEAVY_USER_REPORT_TYPE_DB_MESSAGE_LONG);

通讯对象数(USERINFO_HEAVY_USER_REPORT_TYPE_DB_CONTACT_LONG);

会话数(USERINFO_HEAVY_USER_REPORT_TYPE_DB_CONVERSATION_LONG);

钱包零钱通余额(USERINFO_WALLET_LQT_ENTRY_WORDING_STRING);

更新时间(USERINFO_UPDATE_UPDATE_TIME_LONG);

更新版本(USERINFO_UPDATE_UPDATE_VERION_LONG);

最近登录账号头像路径(USERINFO_LAST_LOGIN_AVATAR_PATH_STRING);

最近使用的位置(USERINFO_LAST_LOCATION_STRING);

实名认证(USERINFO_WALLET_RELEAY_NAME_BALANCE_CONTENT_STRING);

面对面收款实名(USERINFO_WALLET_F2F_COLLECT_TRUE_NAME_STRING);

银行卡明细URL(USERINFO_WALLET_BANKCARD_DETAIL_URL_STRING)。

(3) BizChatUserInfo:企业账号信息,包括企业账号ID、名称、该用户在企业中的名称、头像/简介/添加成员链接等。

(4) MediaDuplication:多媒体文件信息,包括文件的MD5值、大小、路径和创建时间等。

(5) voiceinfo:语音信息,包括语音文件名称、语音发送者微信号、语音长度以及时间属性等。

(6) ImgInfo2:图片信息,包括消息ID、长度、大图路径、缩略图路径、创建时间、原图MD5等。

(7) videoinfo2:视频信息,包括文件名、大小、长度、消息ID、时间属性、对应用户ID(个人或群)等。

(8) VideoHash:视频哈希,包括视频文件的大小、创建时间、原始路径等。

(9) WalletUserInfo:钱包用户信息,包括用户的uin(退出登录的为空)、真实姓名、面对面支付链接、零钱通信息、认证类型等。

(10) WalletLuckyMoney:红包信息,包括接收总量、状态、时间等。

(11) WalletBankcard:钱包银行卡信息,包括银行名称、银行卡类型、尾号、单次转账限额、单日转账限额、转账时间等。

(12) bottleinfo1:漂流瓶信息,记录捡到的所有漂流瓶,包括ID、类型、语音长度、文字内容、创建时间等。

(13) bottlemessage:漂流瓶消息,记录进入临时会话窗口的漂流瓶数据,表中内容与上表类似。rbottlecoversation

(14) chatroom:群组,包括群ID、群成员列表(微信号)、显示名(默认显示成员备注名)、群主(微信号),自己的群内备注名等。奇怪的是,该表中没有记录自定义的群名称和群公告。

(15) rconversation:会话,以相同聊天对象的消息合并为一组,包括会话内消息数、会话对象ID(含群ID)、未读消息数、会话时间、内容等。目前conversation表为空,不再存储相关数据。

(16) message:聊天记录,包括点对点消息(发送者微信号、消息内容、时间)和群组消息(群ID、消息内容、时间),多媒体文件存储路径等。QQ离线消息单独存储在qmessage表中。

(17)ContactLabel:联系人标签,主要记录自定义的联系人分组标签,包括标签名、拼音(全称和缩写)以及创建时间等。

(18)rcontact:通讯对象(与userinfo2中的数量对应),指的是好友、公众号、小程序及群成员去重后的总和,还包括已经被删除的曾经好友。主要字段包括微信号(ID)、别名、备注名、昵称等。目前contact表为空,不再存储相关数据。

上表中,type(类型)字段用于区分对象类型,常见类型对应分类:

| | | | | | — | — | — | — | | 0 | 小程序 | 1 | 公众号 | | 2 | 群组 | 3 | 好友 | | 4 | 群成员 | 6 | 未通过的群好友 | | 7 | 互为好友的群好友 | 11 | 加入黑名单的人 | | 33 | 微信应用及辅助功能 | 67 | 设为星标的好友 | | 256 | 已删除的好友 | 259 | 不让对方看我的朋友圈 | | 2049 | 自己的公众号 | 32768 | 账号已不存在 | | 32771 | 可能是小号 | 65539 | 不看对方的朋友圈 |

(19)bottlecontact:漂流瓶联系人,专门存储捡到的漂流瓶主信息,字段与上述通讯对象相同。

(20)DeletedConversationInfo:删除会话信息,包括会话对象微信号或群ID、漂流瓶ID(该功能已取消)及其最近顺序。

二、 enFavorite.db

enFavorite.db文件的解密密钥与EnMicroMsg.db相同,同理解密。

   关键数据主要集中在FavSearchInfo和FavItemInfo表中,对应分析可以获得收藏内容的本地ID、内容、标签、时间、发送与接收者等信息。

 通过手机取证软件,可以快速友好的获得上述结果:

三、 WxFileIndex.db

WxFileIndex.db文件的解密密钥也与EnMicroMsg.db相同,同理解密后可以得到如图所示的内容。

该文件记录了微信聊天涉及的文件附件的情况,各字段含义分析如下:

(1)msgId:消息ID,同一来源的记录(点对点聊天时的同一个微信账号或群聊时的同一群)具有同一个ID。

(2)username:发送者,点对点聊天时对应发送者微信号(上图Stevenpi即为发送者微信号),群聊时对应群ID。

(3)msgType:消息类型,每种文件对应一个数字,比如语音音频对应34、图片对应3、文件对应49、视频对应62等等。

(4)msgSubType:消息子类,用于区分同一类型文件的多种形态,如图片的原图、缩略图、预览图等。

(5)path:文件的存储路径。

(6)size:文件大小,大小为0的情况比较常见的是由于缩略图没有点开预览或原图没有下载,也有些记录与微信数据某些生成机制有关。

(7)msgtime:产生该条记录的时间,通过UNIX时间戳记录,转换后可以获得准确的北京时间。

下期预告:手机取证之安卓微信数据恢复


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:取证者联盟 取证者联盟 取证者联盟《经典回顾 | 手机取证之安卓微信加密数据解析》

评论:0   参与:  0