System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种实现F2FS目录深度解析方法、装置及可读介质制造方法及图纸_技高网

一种实现F2FS目录深度解析方法、装置及可读介质制造方法及图纸

技术编号:41062123 阅读:2 留言:0更新日期:2024-04-24 11:14
本发明专利技术公开了一种实现F2FS目录深度解析方法、装置及可读介质,包括:对待解析的F2FS文件系统对象中的NAT表进行解析,构建节点集合;对待解析的F2FS文件系统对象进行常规解析,若解析得到的节点块中记录的节点号与NAT表所解析得到的节点号不一致,则已建立目录树的目录集合为空;依次遍历待解析的F2FS文件系统对象的主区中的每个数据块,对数据块进行校验,通过数据块的块号和节点集合读取数据块的节点号,若校验成功,则记录数据块的父节点号,并对数据块进行常规解析,得到数据块的目录项;根据数据块的父节点号对数据块的目录项和节点号建立目录层级关系,并放入已建立目录树的目录集合,解决现有解析方案无法满足完整目录解析的应用场景。

【技术实现步骤摘要】

本专利技术涉及数据解析领域,具体涉及一种实现f2fs目录深度解析方法、装置及可读介质。


技术介绍

1、在实际场合中,特别是移动终端的芯片镜像,受限于芯片提取过程中存在的介质损坏风险,提取的镜像可能存在数据丢失的情况,如根目录数据丢失或者其它目录数据丢失。针对存在数据丢失,而需要实现f2fs文件系统的完整目录解析的应用场景。目前f2fs文件系统的解析有三种方案:

2、1、常规解析/快速解析方案:依赖于根目录,可以输出“整颗树”或者指定单个目录/文件输出。适用文件系统完整且需要快速访问单个目录/文件的场合。

3、2、文件深度解析方案:不依赖根目录,遍历文件系统,输出没有目录层级关联的多个文件(支持按文件类型分类)。适用于文件系统不完整(如根目录数据丢失)的场合。

4、3、局部解析方案:根据目录/文件名,以及设定的规则,可以绕过父目录,实现某个目录/文件的解析。

5、以上三种方案在实现f2fs文件系统的完整目录解析的应用场景中存在以下缺点:

6、(1)常规解析/快速解析方案:如果某个目录/文件的父目录数据丢失了,则无法实现该目录/文件的解析。

7、(2)文件深度解析方案:实际应用中一般需要完整解析某个目录,因为该方案无法建立输出文件的目录层级关联,所以无法满足该应用场合。

8、(3)局部解析方案:只能实现某个目录/文件的解析。


技术实现思路

1、针对上述提到的技术问题。本申请的实施例的目的在于提出了一种实现f2fs目录深度解析方法、装置及可读介质,来解决以上
技术介绍
部分提到的技术问题。

2、第一方面,本专利技术提供了一种实现f2fs目录深度解析方法,包括以下步骤:

3、获取待解析的f2fs文件系统对象,对待解析的f2fs文件系统对象中的nat表进行解析,构建节点集合,节点集合中的每个元素为节点信息;

4、对待解析的f2fs文件系统对象进行常规解析,并构建已建立目录树的目录集合,响应于确定解析得到的节点块中记录的节点号与nat表所解析得到的节点号不一致,则已建立目录树的目录集合为空;

5、依次遍历待解析的f2fs文件系统对象的主区中的每个数据块,对数据块进行校验,通过数据块的块号和节点集合读取数据块的节点号,若校验成功,则记录数据块的父节点号,并对数据块进行常规解析,得到数据块的目录项;

6、根据数据块的父节点号对数据块的目录项和节点号建立目录层级关系,并放入已建立目录树的目录集合。

7、作为优选,nat表包括第一nat表和第二nat表。

8、作为优选,对待解析的f2fs文件系统对象中的nat表进行解析,构建节点集合,具体包括:

9、分别对第一nat表和第二nat表进行解析,读取第一nat表和第二nat表中的所有nat_entry,每个nat_entry包含一个节点号及对应节点在f2fs文件系统中的块号,将节点号及对应节点在f2fs文件系统中的块号作为节点信息放入节点集合中;

10、若第一nat表中解析得到的节点号与第二nat表解析得到的节点号相同,则将第一nat表中解析得到的节点号及对应节点在f2fs文件系统中的块号作为节点信息放入节点集合中。

11、作为优选,若校验成功,则记录数据块的父节点号,具体包括:

12、响应于确定数据块为目录节点块,且通过数据块的块号和节点集合所读取的数据块的节点号不在已建立目录树的目录集合中,则记录数据块的父节点号。

13、作为优选,确定数据块为目录节点块,具体包括:

14、响应于确定数据块的头部符合目录标识,数据块的尾部的节点id与节点号一致,数据块中间记录的数据块号合法,且部分位置存在连续出现n个“0”。

15、作为优选,数据块的父节点号位于数据块的位置偏移0x54~0x57处。

16、作为优选,根据数据块的父节点号对数据块的目录项和节点号建立目录层级关系,并放入已建立目录树的目录集合,具体包括:

17、判断数据块的父节点号是否在已建立目录树的目录集合中,若是,则将数据块的目录项和节点号加入已建立目录树的目录集合,否则将数据块的目录项和节点号加入未建立目录树的目录集合。

18、第二方面,本专利技术提供了一种实现f2fs目录深度解析装置,包括:

19、nat表解析模块,被配置为获取待解析的f2fs文件系统对象,对待解析的f2fs文件系统对象中的nat表进行解析,构建节点集合,节点集合中的每个元素为节点信息;

20、常规解析模块,被配置为对待解析的f2fs文件系统对象进行常规解析,并构建已建立目录树的目录集合,响应于确定解析得到的节点块中记录的节点号与nat表所解析得到的节点号不一致,则已建立目录树的目录集合为空;

21、数据块校验模块,被配置为依次遍历待解析的f2fs文件系统对象的主区中的每个数据块,对数据块进行校验,通过数据块的块号和节点集合读取数据块的节点号,若校验成功,则记录数据块的父节点号,并对数据块进行常规解析,得到数据块的目录项;

22、目录层级建立模块,被配置为根据数据块的父节点号对数据块的目录项和节点号建立目录层级关系,并放入已建立目录树的目录集合。

23、第三方面,本专利技术提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。

24、第四方面,本专利技术提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。

25、相比于现有技术,本专利技术具有以下有益效果:

26、(1)本专利技术提出的实现f2fs目录深度解析方法结合常规解析,遍历镜像中常规解析未解析出的目录,建立跟已有目录的层级关联,最终输出目录树。

27、(2)本专利技术提出的实现f2fs目录深度解析方法适用于文件系统对象出现数据丢失(如根目录数据丢失或者其它目录数据丢失)且需要完整解析目录的情况,并成功应用于移动终端中出现数据丢失的芯片镜像的解析,提高了f2fs解析在电子取证中的作用。

本文档来自技高网...

【技术保护点】

1.一种实现F2FS目录深度解析方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的实现F2FS目录深度解析方法,其特征在于,所述NAT表包括第一NAT表和第二NAT表。

3.根据权利要求2所述的实现F2FS目录深度解析方法,其特征在于,所述对所述待解析的F2FS文件系统对象中的NAT表进行解析,构建节点集合,具体包括:

4.根据权利要求1所述的实现F2FS目录深度解析方法,其特征在于,所述若校验成功,则记录所述数据块的父节点号,具体包括:

5.根据权利要求4所述的实现F2FS目录深度解析方法,其特征在于,所述确定所述数据块为目录节点块,具体包括:

6.根据权利要求4所述的实现F2FS目录深度解析方法,其特征在于,所述数据块的父节点号位于所述数据块的位置偏移0x54~0x57处。

7.根据权利要求1所述的实现F2FS目录深度解析方法,其特征在于,所述根据数据块的父节点号对数据块的目录项和节点号建立目录层级关系,并放入已建立目录树的目录集合,具体包括:

8.一种实现F2FS目录深度解析装置,其特征在于,包括:

9.一种电子设备,包括:

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。

...

【技术特征摘要】

1.一种实现f2fs目录深度解析方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的实现f2fs目录深度解析方法,其特征在于,所述nat表包括第一nat表和第二nat表。

3.根据权利要求2所述的实现f2fs目录深度解析方法,其特征在于,所述对所述待解析的f2fs文件系统对象中的nat表进行解析,构建节点集合,具体包括:

4.根据权利要求1所述的实现f2fs目录深度解析方法,其特征在于,所述若校验成功,则记录所述数据块的父节点号,具体包括:

5.根据权利要求4所述的实现f2fs目录深度解析方法,其特征在于,所述确定所述数据块为目录节...

【专利技术属性】
技术研发人员:李永兴黄志炜陈明辉曹荣鑫
申请(专利权)人:厦门市美亚柏科信息安全研究所有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1