编者按:在手机电子数据取证领域,微信数据提取一直都是行业关注的焦点。自微信正式小程序发布以来,在行业内外引发了高度关注。目前,针对微信小程序数据提取与解析还处于空白阶段,市面上还未出现任何可以提取微信小程序数据的软件或工具,这也给手机取证带来难题。为此,数据恢复四川省重点实验室科研人员将以手机中的一些高频程序为例,讲解微信小程序的存储结构及如何提取。
一、背景介绍
2017年1月9日,万众瞩目的微信小程序正式发布。微信小程序是一种不需要下载安装即可使用的应用,用户只需扫一扫或搜一下即可打开应用。这不仅解决了手机安装多个应用APP的内存问题,同时也为急需使用某应用的用户解决了燃眉之急,不用在软件商店下载安装,也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。
二、微信小程序数据提取意义
微信小程序具有无处不在,随时可用,但又无需安装卸载等优点,极具普及性及广泛性。目前,美团外卖、滴滴公交查询、车来了、大众点评、京东购物、摩拜单车、滴滴出行、携程网等高频使用软件都已开始进入微信小程序,未来将会有更多的应用软件进入,甚至完全替代现有网络应用模式。
微信小程序会记录当前小程序产生的用户数据,包括地理位置、聊天记录、行踪轨迹等,这些数据在案件侦破中往往可以起到关键作用,使案件线索更加明朗,可以提升办案人员工作效率。目前,市面上的取证工具和软件,针对的都是对手机应用软件数据进行直接提取,未发现任何可以支持提取微信小程序数据的软件或工具,一旦取证过程中需要提取微信小程序里的数据,办案人员便会束手无策。因此,研究微信小程序的数据分析与提取,对整个电子数据取证行业都有重要指导意义。
三、如何激活微信小程序
1.升级微信到最新版本6.5.3;
2.在微信的第一个页面的顶端,有一个搜索按钮,在搜索条里输入:小程序示例(必须输入完整,暂不支持模糊搜索),然后搜索;
3.选择第一个结果,图标是黑色斜写的英文字母“S”,点开它,进入后无需任何操作;
4.在微信第一个页面的末端,就会发现小程序的入口,激活成功;
5.在“发现”里点开小程序,在里面搜索不同的小程序。
备注:具体操作过程,可参考微信小程序大全:http://mp.weixin.qq.com/s/8AjrZdCePhJi5YgiH-fJ0Q
四、微信小程序使用前后的数据变化
微信6.5.3版本(目前最新版本)已携带小程序所需环境,appbrand%文件为小程序相关文件,存储在账号id下,如图2。
经数据恢复四川省重点实验室科研人员分析,AppBrandComm.db为非常规数据库,通过对其进行解密操作,发现如果未使用小程序的,数据库内多项表值为空;而使用过小程序的,则会在表中存储数据。
五、微信小程序数据解析
1.获取小程序的“安装”包
首批接受邀请的企业小程序已经上线,由于微信内部对于小程序的大小进行设定(目前大小为一兆),企业只能实现一些简单功能。在AppBrandComm.db中,某表则存储了小程序与包名的关联,如图3。
2.获取使用的微信小程序本地存储数据
微信小程序以key-data的键值方式存储数据。其中,key值指明“程序名——操作”,data值为具体数据,表中标明数据存储类型。
每项表中每个小程序都有一个wxXXXXXXXXXX++@@@TOTAL@DATA@SIZE@@@值,表明总共数据大小,统计该程序所有key-data的数据大小总和,如图4。
六、案例实操
为了便于大家更易理解,我们以微信小程序中的高频软件——“大致点评”为例,进行实操讲解。
1.从AppBrandComm.db中的AppBrandWxaAppInfo表获取appId、appName,如图5。
2.从AppBrandComm.db中的AppBrandKVData表获取key、data、dataType。
KEY值:appId_关键词[如history];
Data:对应的键值数据;
如:“大众点评”的key为“wx734c1ad7b3562129__keyword_history”,对应data为Object类型的关键词搜索历史,如图6。
结语:微信小程序试图创造操作系统中的微型操作系统,颠覆现有的网络应用模式。无论是网站,还是APP,都将变成微信里的一个小程序。对于手机电子数据取证而言,微信小程序数据提取必将是未来研究的一个重点。本期,数据恢复四川省重点实验室科研人员讲解了如何对微信小程序数据结构进行解析,填补了国内相关领域的空白。目前,此方法已经开始在效率源SPF9139智能手机数据恢复取证系统中进行应用测试,将有助于进一步提升工作效率。