【技术实现步骤摘要】
一种用于APFS文件的恢复方法和系统
[0001]本专利技术涉及计算机取证安全的
,尤其是一种用于APFS文件的恢复方法和系统。
技术介绍
[0002]APFS作为苹果公司最新的文件系统,凭借着优秀的性能被广泛的应用到了新一代的苹果电脑、苹果手机等电子设备上。在电子数据取证行业,苹果设备的取证是当前关注的重点,而作为苹果系统的文件管理系统APFS,则更是取证过程中需要重点解析的对象,APFS文件系统能否做深入的解析和恢复直接影响到了取证深入程度。由于APFS文件被删除时,对应的元数据索引信息会丢失且元数据处于零散分布的状态,导致无法像NTFS这类文件系统直接通过获取标识过的文件记录进行恢复,整体恢复的难度大大增加,目前尚未有快速恢复的手段。
技术实现思路
[0003]为了解决现有技术中尚未有快速恢复被删除的APFS文件的技术问题,本专利技术提出了一种用于APFS文件的恢复方法和系统,能够快速发现元数据离散碎片信息,并基于该方法实现了APFS删除文件的快速恢复。
[0004]根据本专利技术的一个方面,提出了一种用于APFS文件的恢复方法,包括:
[0005]S1:解析获取APFS文件信息块的叶子节点信息集合;
[0006]S2:获取叶子节点信息集合中空闲数据区域集合,并依照叶子节点在B-Tree树中的位置从左至右排序;
[0007]S3:响应于空闲数据区域集合中还有未获取元素,获取一元素并对元素指向的区域数据进行ThreadRecord数据区域检测,并检测与Thre ...
【技术保护点】
【技术特征摘要】
1.一种用于APFS文件的恢复方法,其特征在于,包括:S1:解析获取所述APFS文件的信息块的叶子节点信息集合;S2:获取所述叶子节点信息集合中空闲数据区域集合,并依照所述叶子节点在B-Tree树中的位置从左至右排序;S3:响应于所述空闲数据区域集合中还有未获取元素,获取一元素并对所述元素指向的区域数据进行ThreadRecord数据区域检测,并检测与ThreadRecord数据配对的DataIndexRecord数据区域;S4:响应于一数据索引的数据大小与已构建数据索引集合中所有数据大小之和不大于文件大小,将数据索引的信息添加至所述已构建数据索引集合中生成对应文件的数据索引信息集合;以及S5:根据所述ThreadRecord数据以及所述对应文件的数据索引信息集合恢复删除文件。2.根据权利要求1所述的用于APFS文件的恢复方法,其特征在于,所述ThreadRecord数据包括描述文件的名称、时间、FileID和ParentFileID大小,DataIndexRecord数据包括描述文件的数据存储位置,包含起始块位置和长度信息。3.根据权利要求1所述的用于APFS文件的恢复方法,其特征在于,所述步骤S2中所述空闲数据区域集合的获取方法为:B-Tree树中所有文件信息块叶子节点中空闲的数据区域集合表示为FDATA={fdata1,fdata2…
fdata
m
},fdata={freedata1,freedata2,
…
,freedata
n-1
}表示为一个文件信息块节点中空闲的数据区域集合,集合中的每个元素均包含空闲数据偏移FreeDataOffset
i
、空闲数据长度FreeDataLenth
i
,其计算方式如下:FreeDataOffset
i
=DataOffset
i
+DataLenth
i
;FreeDataLenth
i
=DataOffset
i+1-FreeDataOffset
i
;其中,DataOffset
i
为数据偏移,DataLenth
i
为数据长度。4.根据权利要求1所述的用于APFS文件的恢复方法,其特征在于,所述步骤S3中的ThreadRecord数据区域检测具体包括:所述ThreadRecord数据区域被所述空闲数据区域集合中的元素freedata
ij
所指向,并且基于ThreadRecord结构对相应区域进行解析获取文件FileID、ParentID、文件名称、文件大小、文件占用大小、文件创建时间、文件修改时间、文件访问时间以及文件节点修改时间,并满足以下条件:FileID小于下一叶子节点信息集合中第1个元素的FileID;ParentID必须等于当前叶子节点信息集合中第j个元素的ParentID;文件节点修改时间大于文件访问时间;文件节点修改时间mod 1000000000不等于0。5.根据权利要求1所述的用于APFS文件的恢复方法,其特征在于,所述步骤S3中的与ThreadRecord数据配对的DataIndexRecord数据区域的判断条件包括:DataIndexRecord
j
区域和ThreadRecord
i
数据区域被同一个空闲数据区域集合fdata集合所指向;不存在其他任何被同一个fdata集合所指向的ThreadRecord
k
数据区域离
DataIndexRecord
j
更近;按照DataIndexRecord结构对相应区域进行解析获取数据块号BlockNumber以及数据大小DataSize,并且解析结果需同时满足DataSize mod 4096等于0和DataSize/文件大小小于等于1。6.根据权利要求1所述的用于APFS文件的恢复方法,其特征在于,所述步骤S4中数据索引的添加具体包括:响应于一个数据索引(BlockNume,DataSize)满足如下公式:添加到文件的数据索引集合FDI中生成{fdi1,fdi2…
fdi
k
,fdi
i+1
}新集合,其中fdi
i+1
为(BlockNume,DataSize),已构建的数据索引集合为FDI={fdi1,fdi2…
fdi
k
},FileSize为文件大小。7.根据权利要求1或6所述的用于APFS文件的恢复方法,其特征在于,依照从左到右的顺序添加相应的数据索引信息生成所述对应文件的数据索引信息集合。8.一种计算机可读存储介质,其上存储有一或多个计算机程序,其特征在于,该一或多个计算机程序被计算机处理器执行时实施权利要求1至6中任一项...
【专利技术属性】
技术研发人员:沈长达,杜新胜,黄志炜,叶景,
申请(专利权)人:厦门市美亚柏科信息股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。