准备工作
直接通过物理方法读取出来的手机数据表现为数字电信号,经过计算机处理后,手机存储芯片的数据被转换为计算机可以识别的有效文件(下称“手机镜像文件”)。
与计算机硬盘数据类似,通常情况下,绝大多数Android手机镜像文件的开头512字节为MBR主引导记录+DPT分区表+结束标志,即采用DOS分区(部分Android手机可能保留一定字节,扇区大小不同,甚至使用GPT分区)。那么我们将根据目前广泛使用的DOS分区的数据结构,开发出一款能够提取手机镜像文件中关键数据的工具(下称“RawAnalyzer”),方便我们日常对手机数据进行电子取证分析。
由于Android基本上采用EXTX文件系统,该文件系统在Linux上广泛使用,而Windows系统原生并不支持,因此RawAnalyzer的开发选择在Linux环境下。至于开发语言,我们使用目前比较流行的Python,界面开发使用QT。
分区及文件系统
开发前需要了解手机镜像文件的数据结构,也就是了解分区及文件系统。
DOS分区通常位于第一扇区,由三部分组成,分别是占446字节的MBR主引导记录(00 - 1BD)
、占64字节的DPT分区表(1BE - 1FD)
和占2字节的DOS分区结束标志(1FE - 1FF)
。这个扇区被称为MBR主引导记录扇区。
MBR主引导记录扇区的数据结构
分区表项的数据结构
EXTX文件系统是EXT2、EXT3和EXT4的统称,现在普遍使用EXT3和EXT4。EXTX被分为若干个块组,每个块组的结构基本相同。一个块组由超级块、块组描述符表、块位图、i-节点位图、i-节点表和数据区。块组的基本信息存放在超级块中,超级块总是位于块组的2-3号扇区,占用1024字节。
EXTX超级块的数据结构
开发过程
使用WinHex打开测试用的手机镜像文件,参照MBR主引导记录、分区表项和EXT超级块的数据结构,对镜像文件进行人工分析。
使用Python编写RawAnalyzer,在编写的同时,使用该手机镜像文件对程序进行测试。
工具介绍
打开镜像文件前,列表框为空白
打开镜像文件后,列表框列出镜像文件的所有分区
“打开文件”:打开手机镜像文件,打开失败时,列表框为空。
“保存磁盘文件”:将选中分区保存为分区镜像文件
“挂载磁盘文件”:将选定分区镜像文件挂载至选定目录
“卸载磁盘文件”:卸载选定分区镜像文件
“一键提取安卓数据”:提取安卓数据至选定目录,提取失败时,无数据输出
结语
安卓手机数据电子取证分析工具RawAnalyzer经过测试,可以用于安卓手机镜像文件的数据分析,该工具功能虽不多,但是可以自动对手机镜像进行电子取证分析,在一定程度上提高取证的效率。由于测试条件有限以及各种镜像文件格式不一致,工具可能存在分析失败的情况,这需要后期对工具进一步地改进。
Source: impakho.com | Author:impakho
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论