教你怎么编写智能手机APP的取证脚本

发布时间:2016-06-02 10:30:45   来源:文档文库   
字号:

教你怎么编写智能手机APP取证脚本

编者:本期数据恢复四川省重点实验室科研人员重点介绍一种编写手机APP取证脚本的方法,在手机取证实战中,该技术方案扩展性强可助力一线取证人员有效应对暂不支持的APP数据提取问题

一、 简介

手机APP手机应用程序,APPApplication的缩写手机软件就是安装在手机上的软件,完善原始系统的不足与个性化1随着科技的发展,现在手机的功能也越来越多,越来越强大发展到可以和电脑相媲美。

1 手机APP

1、 手机APP种类

随着智能手机迅速普及和用户的海量增长,新的手机App层出不穷220151月份的数据显示,以Android系统为主的Google Play应用商店,App数量超过140万。而7月份的报道数据显示,苹果AppStore应用商店里的App数量已超过150万。

2手机App数量增长趋势图

2手机APP版本

不仅如此,随着时间推移,App新旧版本更替频繁,比如手机QQ,从2012目前,Android已经有超过30个版本IOS上也有10多个版本更新(图3不同版本之间的数据存储结构也有很大区别。

3 手机QQ历史版本

App的支持和已有App的版本更新,使得手机取证也遇到了很大的难题。如果针对每个App的每个版本都由软件研发人员编写代码实现解析,这将是一件非常庞大的工程而且很有可能难以跟上APP更新速度,导致手机APP取证遭遇难题

二、 技术方案

在这种情况下,数据恢复四川省重点实验室科研人员推荐一种脚本插件式开发的解决方案能快速、有效解决手机APP取证不兼容的难题。

1、 什么是脚本插件式开发

插件是指不修改程序的情况下对程序的功能进行扩展任何人都可以按照相应的规则制作插件来新增或修改程序功能,实现“即插即用”软件开发。脚本是使用一种特定的描述性语言,依据一定的格式编写的可执行文件。脚本通常以文本(如ASCII保存,只在被调用时进行解释或编译。常用的脚本语言包括pythonJavaScript

2、 脚本插件式开发3好处

2.1不需重新下载安装软件

利用脚本插件式开发,可以将数据解析与软件界面分开,便于软件框架的搭建和程序的扩展,当添加新AppApp版本更新时不需要重新下载安装软件,直接将新脚本添加到对应目录即可

2.2用户自己可编写

脚本采用常见的pythonJavaScript语言编写易学易懂不仅软件发人员可以编写脚本,客户在遇到突发的不能解决的数据解析时也可以自己编写脚本

2.3 自动匹配插件

可以通过App名称、生产厂商、软件版本自动匹配插件,方便有效。

3、怎么编写脚本插件

下面我们以取证工具SPF9139智能手机取证分析系统Android下解析途牛旅游App为例来说明如何编写脚本插件

3.1生成数据

首先,我们在手机上下载安装途牛旅游App然后创建账号并使用,产生数据(图4,包括飞机票、火车票、乘车人记录、酒店查询记录等

4下载安装使用APP产生数据

3.2 提取数据

利用第三方工具从手机中提取App的数据到本地56

5红色框代表途牛插件App的名称安装路径版本等基本信息

6红色框代表提取到本地的数据路径

3.3 数据分析

经过分析,途牛App的数据存储结构如下78910

7 途牛App相关数据文件路径及保存的内容

8 途牛App相关数据文件路径及保存的内容

9 Groupchat数据库表

10 红色框Groupchat数据库表

3.4 编写插件

这里我们可以使用JavaScript编写插件该语言编写工具非常之多,甚至可以使用记事本编写,非常方便。本期案例我们采用SPF9139智能手机取证分析系统自带的XLYScriptVisualStudio编写好处是便于调试

脚本分为3部分:配置信息、数据定义和解析数据并生成结果

3.4.1配置信息

配置信息定义了该脚本关联的App名称、版本、分组、所需源文件、数据结构等信息,供主程序调用。我们按照途牛旅游App的信息依次编写如下11

11编写脚本配置信息

3.4.2 数据定义

根据树形菜单节点分别定义js数据结构,比如游客历史记录信息节点TouristHistory定义如下12

12 编写脚本配置信息

3.4.3 解析数据并生成结果

根据之前分析结果编写解析代码并生成结果由之前的分析得知途牛数据主要存储于groupchat.dbsqlite数据库)文件和TuniuApp.xml文件中。因此在解析时,只需要读取sqlite数据库和xml文件分析即可1314

13 构建树形菜单列表

14获取购买飞机票记录其余项目呈现方式一样)

点击XLYScriptVisualStudio调试按钮,可以看到最终结果。如果出现了错误,则修改代码并调试15

15脚本调试结果

3.5 脚本添加

将脚本文件放入软件对应Script目录下,重启软件,即完成了对脚本文件的添加。添加途牛图标

此时开始测试途牛App发现已经可以解析了,包括飞机票、火车票、乘车人记录、酒店查询记录信息16


16SPF9139智能手机取证分析系统程序中查看新加的途牛插件

三、 总结

与传统方式相比脚本插件方式最大的优点就是扩展性强取证人员遇到突发性的无法解析的App时,不需要等到软件新版本的发布才处理,只需要手动编写脚本,即可完成解析工作,帮助取证人员快速获取手机中的电子证据。目前,该技术已经在效率源SPF9139智能手机取证分析系统应用,极大地延展了SPF9139APP取证功能,一线取证人员只需简单学习就可上手,快速编写可直接应用的APP取证小工具,快速提高手机取证效率。本文重点是以Android下解析途牛旅游App”为例,讲解脚本插件方式大概思路与方法,而整个执行步骤相对复杂如果是删除数据的恢复则会更复杂,有兴趣的读者可联系效率源工程师进行实战指导。

本文来源:https://www.2haoxitong.net/k/doc/ebd6d33baeaad1f346933fdf.html

《教你怎么编写智能手机APP的取证脚本.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式