【技术视界】第11期:教你怎么编写智能手机APP的取证脚本
本期,数据恢复四川省重点实验室科研人员重点介绍一种编写手机APP取证脚本的方法,在手机取证实战中,该技术方案扩展性强,可助力一线取证人员有效应对暂不支持的APP数据提取问题。
手机APP,即手机应用程序,APP是Application的缩写。手机软件就是安装在手机上的软件,完善原始系统的不足与个性化(图1)。随着科技的发展,现在手机的功能也越来越多,越来越强大,发展到可以和电脑相媲美。
【图1 手机APP】
随着智能手机迅速普及和用户的海量增长,新的手机App层出不穷(图2)。2015年1月份的数据显示,以Android系统为主的Google Play应用商店,App数量超过140万。而7月份的报道数据显示,苹果AppStore应用商店里的App数量已超过150万。
不仅如此,随着时间推移,App新旧版本更替频繁,比如手机QQ,从2012年到目前,Android上已经有超过30个版本,IOS上也有10多个版本更新(图3)。不同版本之间的数据存储结构也有很大区别。
新App的支持和已有App的版本更新,使得手机取证也遇到了很大的难题。如果针对每个App的每个版本都由软件研发人员编写代码实现解析,这将是一件非常庞大的工程,而且很有可能难以跟上APP的更新速度,导致手机APP取证遭遇难题。
在这种情况下,数据恢复四川省重点实验室科研人员推荐一种脚本插件式开发的解决方案,能快速、有效解决手机APP取证不兼容的难题。
插件是指不修改程序的情况下对程序的功能进行扩展,任何人都可以按照相应的规则制作插件来新增或修改程序功能,实现“即插即用”软件开发。脚本是使用一种特定的描述性语言,依据一定的格式编写的可执行文件。脚本通常以文本(如ASCII)保存,只在被调用时进行解释或编译。常用的脚本语言包括python、JavaScript等。
2.1 不需重新下载安装软件
利用脚本插件式开发,可以将数据解析与软件界面分开,便于软件框架的搭建和程序的扩展,当添加新App或App版本更新时不需要重新下载安装软件,直接将新脚本添加到对应目录即可;
2.2 用户自己可编写
脚本采用常见的python、JavaScript等语言编写,易学易懂。不仅软件研发人员可以编写脚本,客户在遇到突发的不能解决的数据解析时也可以自己编写脚本;
2.3自动匹配插件
可以通过App名称、生产厂商、软件版本自动匹配插件,方便有效。
下面我们以取证工具SPF9139智能手机取证分析系统在Android下解析途牛旅游App为例来说明如何编写脚本插件。
3.1生成数据
首先,我们在手机上下载安装“途牛旅游App”,然后创建账号并使用,产生数据(图4),包括飞机票、火车票、乘车人记录、酒店查询记录等。
3.2 提取数据
利用第三方工具从手机中提取App的数据到本地。(图5、图6)
【图5 红色框代表途牛插件App的名称、安装路径、版本等基本信息】
3.3数据分析
经过分析,途牛App的数据存储结构如下(图7、图8、图9、图10)
3.4 编写插件
这里我们可以使用JavaScript编写插件,该语言编写工具非常之多,甚至可以使用记事本编写,非常方便。本期案例我们采用SPF9139智能手机取证分析系统自带的XLYScriptVisualStudio编写,好处是便于调试。
脚本分为3部分:配置信息、数据定义和解析数据并生成结果。
3.4.1配置信息
配置信息定义了该脚本关联的App名称、版本、分组、所需源文件、数据结构等信息,供主程序调用。我们按照途牛旅游App的信息依次编写如下(图11):
3.4.2 数据定义
根据树形菜单节点分别定义js数据结构,比如游客历史记录信息节点TouristHistory定义如下(图12):
3.4.3 解析数据并生成结果
根据之前分析结果,编写解析代码并生成结果。由之前的分析得知,途牛的数据主要存储于groupchat.db(sqlite数据库)文件和TuniuApp.xml文件中。因此在解析时,只需要读取sqlite数据库和xml文件分析即可(图13、图14)。
点击XLYScriptVisualStudio的调试按钮,可以看到最终结果。如果出现了错误,则修改代码并调试(图15)。
3.5 脚本添加
将脚本文件放入软件对应Script目录下,重启软件,即完成了对脚本文件的添加。添加途牛图标, 此时开始测试途牛App,发现已经可以解析了, 包括飞机票、火车票、乘车人记录、酒店查询记录等信息(图16)。
1、【技术视界】第1期:手机取证-手机音频文件恢复提取技术研究
2、【技术视界】第2期:精确读取 提高缺陷硬盘数据恢复成功率
3、【技术视界】第3期: 如何利用S.M.A.R.T.技术对硬盘进行健康体检?
4、【技术视界】第4期: 电子取证-WD硬盘固件损坏的文件恢复提取技术研究
5、【技术视界】第5期:电子取证——智能手机定位痕迹如何快速提取?
6、【技术视界】第6期:电子取证——日立硬盘BIOS加密无法访问的快速解密方法技术研究
7、【技术视界】第7期:手机取证-SQLite数据库文件恢复提取技术研究
9、【技术视界】第9期:视频侦查——不转码直接检索监控视频的方法探讨
10、【技术视界】第10期:电子取证— RAID 5、RAID 6崩溃的数据恢复取证提取技术研究