资源描述
Windows mobile 短信数据恢复研究
摘要:随着手机取证技术日渐提高,人们已经逐渐不满足于只提取手机内存储数据,而对删除数据更有兴趣,往往删除数据是手机主人不肯为人知信息,因此对于取证办案人员来讲更具备参照价值,本文针对Windows mobile平台手机,提供了一种获取其删除短信办法。
核心字:Windows mobile 删除短信 恢复
一. 引言
随着电子技术迅猛发展,手机更新换代速度越来越快,近年来,手机平台呈现出多样化,智能化等特点。当前,常用手机智能操作系统涉及ios,Windows mobile,Android,Symbian以及Blackberry五种。而手机取证技术日趋完善,人们开始逐渐不满足于只提取手机内存储数据,反而对删除数据更有兴趣,往往删除数据是手机主人不肯为人知信息,因此对于取证办案人员来讲更有参照价值。Windows mobile作为微软公司旗下智能手机平台,拥有大量顾客群,从而对其删除数据恢复研究也更有必要。
Windows Mobile手机数据读取重要依托微软公司官方api,但是这些api只能读取正常短信(即存储在手机内短信)等数据。对于被删除数据,官方并未提供api去获取这些数据。因此要想获得删除数据,只能选取其她方式。
Windows Mobile手机短信保存在cemail.vol文献中,通讯录和通话记录保存在pim.vol文献中。这两个文献都是数据库文献,但是cemail.vol是cedb数据库文献,而pim.vol是edb数据库文献,两者文献格式是截然不同。cedb格式相对简朴某些,edb格式更为复杂。
由于手机端不能直接读取cemail.vol文献,而cemail.vol文献又被系统锁定,无法直接拷贝至PC。因此要想恢复被删除短信,就需要先把cemail.vol拷贝到PC,然后解析cemail.vol文献,找出被删除短信。
二. cemail.vol文献获取
由于cemail.vol文献无法直接拷贝,需要借用第三方工具来间接获取。Itsutils 工具是一套操作Windows Mobile手机工具,其中就有获取手机整个存储镜像办法。因而,运用itsutils获得手机整个存储镜像,然后从镜像中提取出cemail.vol文献。Itsutils 工具可以直接从网上下载。
Itsutils工具中有两个文献itsutils.dll和pdocread.exe。Itsutils.dll需要拷贝到手机上Windows文献夹下,pdocread.exe在PC端运营。
1. 运营pdocread.exe,在控制台下运营pdocread –l,将会列出手机存储器所有分区及其有关信息,保存这些信息,背面要用到。
图1 列出手机中所有分区
从图1可知,该手机共有三个分区,其大小分别为31.50M,87.95M,1.81M。
2. 依次尝试在不同扇区大小和不同分区状况下读取分区数据,依照反馈成果,判断该分区是不是保存OS数据分区,以及其扇区大小。
命令格式为:pdocread –w –b0x800 –h#0 0。0x800表达扇区大小,#0表达是序号为0分区。此时需要用不同扇区大小去试,普通状况下,扇区大小为200整数倍,惯用有0x200,0x400,0x600,0x800,0x1000。
图2 对#0分区,尝试用不同扇区大小读取
图2在序号为0分区中尝试不同扇区大小读取状况,可见该分区中扇区大小为0x200,注意如果不设立扇区大小,则默认值为0x200。由反馈信息TFAT 16可知,该分区正是TFAT格式,Windows mobile手机整个镜像就保存在该分区,因而是咱们需要分区。
图3 对其她分区,尝试用扇区大小0x1000读取
图3尝试了其她2个分区,其扇区大小均为0x1000。由反馈成果可见该分区并不是TFAT格式,不是常用文献系统。
3. 拷贝存储文献系统分区镜像。
命令为:pdocread –w –b0x200 –h#0 0 0x1f7ec00 c:\image.bin。其中第四个参数表达读取分区开始位置,第五个参数表达分区大小,第六个参数表达镜像保存途径。
图4拷贝#0分区镜像
至此,Windows mobile手机整个镜像就拷贝到了PC,分区镜像是FAT格式文献系统,按照该文献系统格式即可提取出cemail.vol文献。
而提取出cemail.vol文献正是咱们目所在,该项工作完毕之后,接下来工作就是对cemail.vol文献内容进行解析了。
三. 记录头解析
cemail.vol是cedb数据库文献,其内部包括了各种数据库,共九种数据类型,如表1所示:
表1 cedb数据库中数据类型
名称
类型
ID
CEVT_BOOL
布尔值
0x0B
CEVT_CEBLOB
二进制对象
0x41
CEVT_R8
8字节浮点数
0x05
CEVT_FILETIME
时间日期值
0x40
CEVT_I2
2字节有符号整数
0x02
CEVT_I4
4字节有符号整数
0x03
CEVT_LPWSTR
Unicode字符串
0x1F
CEVT_UI2
2字节无符号整数
0x12
CEVT_UI4
4字节无符号整数
0x13
数据库中每条记录格式可以分析出来。cedb格式记录,分为记录头和记录体,分别包括了列类型信息和列数据,因而只要把符合短信构造记录提取出来进行解析就可以了。列类型信息可以从每条记录记录头判断,这里所有数据采用小端模式存储。
如下过程用以辨认一条记录记录头:
1. 搜索整个文献,找到一种四字节构造(表达一种记录域类型):[0x0b|0x41|0x05|0x40|0x02|0x03|0x1f|0x12|0x13],[0|1],*,*。
2. 检查这个四字节构造前8字节,所示是记录头边界,普通前4个字节全是0。
3. 在1中,如果四字节构造中第二个字节是1,则代表这个类型列是最后一列,跳至 6。
4. 如果四字节构造中第二个字节是0,则继续读取接下来四个字节,仍旧是这样构造:[0x0b|0x41|0x05|0x40|0x02|0x03|0x1f|0x12|0x13],[0|1],*,*。
5. 如果在4中,第二个字节为0,则表达该类型不是最后一列,跳至4。
6. 辨认过程结束,这是一种潜在记录头。
每个四字节构造后两个字节表达逻辑意义,例如短信内容、发信人等。
在辨认完一条记录记录头之后,就可以判断该条记录构造,对于Windows mobile 6.5来讲,短信构造定义为14列,列类型编码分别为:13 13 13 1F 1F 1F 1F 13 40 13 13 13 13 40,其中,第五列表达短信内容,第六列表达对方手机号码,而第九列表达发送或接受短信时间。辨认出短信构造记录之后就需要对记录体进行解析了。
四. 记录体解析
由于Windows mobile中数据采用是Unicode编码方式,因而cemail.vol文献中记录体被分为偶数字符链和奇数字符链。在存储数据时对偶数字符链和奇数字符链分别进行压缩,对Unicode编码具备更好压缩效果。自然地,在解析数据时,就需要分别判断其与否通过了压缩,若通过压缩则要分别解压缩。
图5为Windows mobile 6.5平台 cemail.vol文献中一条记录。
图5 Windows mobile 6.5 平台cemail.vol文献中一条记录
详细解析过程如下:
1. 如图5所示,0x3a1a0-0x3a1d7表达记录头,0x3a198-0x3a19f表达记录头边界。在记录头边界中,前4个字节总是0,接下来第5和第6两个字节低14位表达记录体原始数据长度,这里是0x80;高2位是一种标记,这里0x40表达记录体中数据通过了压缩。最后第7,第8两个字节低14位表达压缩后数据长度,这里是0x76;高2位也是一种标记,含义未知。
2. 0x3a1a0-0x3a1d7表达14列记录类型数据,每4个字节表达一种类型。0x3a1d5值为1,表达该类型是最后一列。
3. 接下来就是记录体内容,由于记录体被分为偶数字符链和奇数字符链,因此在记录体中,紧跟在记录头背面是偶数字符链有关信息。其中,0x3a1d8-0x3a1d9两个字节低15位表达偶数字符链长度,最高位是一种标记,表达偶数字符链与否被压缩,0x80表达没有压缩,0x00表达通过压缩,即1表达没有压缩,0表达通过了压缩。
4. 若偶数字符链没有被压缩,则跟在背面就是偶数字符链内容,图5中偶数字符链没有被压缩,其长度为0x40。
若偶数字符链通过了压缩,则由于在解压缩时需要懂得压缩前数据长度,即原始数据长度,因此跟在背面3个字节表达原始数据长度,再背面3个字节表达压缩后长度(涉及这6个字节),之后就是偶数字符链内容了。
5. 偶数字符链之后就是是奇数字符链,由于奇数字符链是都要通过压缩,因而下来3个字节表达数据原始长度,再下来3个字节表达压缩后长度(涉及这6个字节),之后就是奇数字符链内容。
6. 偶数字符链和奇数字符链分别通过解压缩(如果被压缩话),然后一偶一奇依次拼凑后就得到了记录体。这里使用压缩算法不是常用原则压缩算法,而是微软自己算法,详细计算办法可以通过逆向工程得到,分析对象是cedb400.dll,来自于Windows CE Platform Builder,在WINCE520\PUBLIC\COMMON\OAK\BIN\I386目录下。
这样通过解析cemail.vol文献中记录所得到短信,通过和正常渠道得到 短信对比,便可拟定哪些是已经删除短信。
五. 结束语
随着行业内部对删除数据恢复需求越来越明确,无形中增长了对删除数据恢复研究必要性。Windows mobile作为微软旗下手机智能操作系统,大量顾客群是研究人员动力,由于微软公司不会发布各种数据在数据库中存储格式,因此当前对数据研究只能通过猜并且验证方式。Windows mobile智能操作系统有各种版本,不同版本之间数据存储格式也有一定差别,本文提供办法对Windows mobile所有版本有效,但是对于短信数据格式仅限于Windows mobile 6.5,其版本众多也决定了对其删除数据恢复研究有着更美好前景。
参照文献
[1] C.Klaver. Windows Mobile advanced forensics [J]. DIGITAL INVESTIGATION 6, ,pp:147-167
[2] ~itsme/cvs-xdadevtools/itsutils
作者简介
金星,男,北京锐安科技西安研发中心软件工程师,本科,重要研究方向为手机取证和 手机安全;
曹雪芬,女,北京锐安科技西安研发中心软件工程师,研究生,重要研究方向为手机取 证。
联系人
姓名:曹雪芬
联系方式:,
通信地址:陕西省 西安市高新区科技路37号海星都市广场B座2906室
邮编:710075
展开阅读全文