NTFS文件系统
文章平均质量分 97
了解NTFS文件系统,参考GitHub开源项目和其他文章解析NTFS文件系统结构,简单介绍MFT元数据、文件记录头、属性的属性头和属性结构分析,通过读取Boot引导分区和MFT元数据遍历分区中的所有文件/目录数据
得鹿梦鱼、
打死不造轮子,只是他人轮子的搬运工。
主要分享项目中Qt/C++遇到的部分值得借鉴的案例和问题。。。
展开
-
Qt/C++ 了解NTFS文件系统,遍历Run Lists数据列表,读取0x30 $FILE_NAME属性,获取所有文件/目录数据
根据前面获取的 获取Run List数据列表 遍历读取所有MFT元数据,再根据0x30 $FILE_NAME属性和0x10 $STANDARD_INFORMATION属性获取NTFS系统中的所有文件和目录数据。原创 2024-09-23 11:56:41 · 796 阅读 · 0 评论 -
Qt/C++ 了解NTFS文件系统,解析0x80 $Data属性,获取Run Lists数据列表
在NTFS(New Technology File System)系统中,Run List数据是一个重要的概念,它用于描述文件或数据属性在磁盘上的存储位置和大小。具体来说,Run List记录了一个或多个数据流的起始簇号(Starting Cluster Number,SCN)和每个数据流的长度(即占用的簇数),这些信息对于定位和访问文件或数据属性的实际存储位置至关重要。原创 2024-09-23 11:55:03 · 1100 阅读 · 0 评论 -
Qt/C++ 了解NTFS文件系统,解析MFT主文件表中的常驻属性与非常驻属性
根据前面文件记录头内容获取的 第一个属性流的偏移位置 解析MFT表中的属性数据结构,而每个MFT记录中的属性分为常驻属性和非常驻属性,每个属性都有一个属性头,这个属性头包含了一些该属性的重要信息,如属性类型,属性大小,名字,标志,标识,属性长度等,并且属性的种类有很多,属性体的含义也不同原创 2024-09-23 11:53:27 · 720 阅读 · 0 评论 -
Qt/C++ 了解NTFS文件系统,获取首张MFT表数据,解析文件记录头内容找到第一个属性偏移地址
根据前文获取到的首张MFT(Master File Table)主文件表偏移地址,获取到首张MFT(Master File Table)主文件表数据,解析文件记录头内容数据,获取到的第一个属性的偏移地址。原创 2024-09-14 15:52:43 · 1057 阅读 · 0 评论 -
Qt/C++ 了解NTFS文件系统,解析盘符引导扇区数据获取MFT(Master File Table)主文件表偏移地址
根据NT File System (NTFS) 一文中对引导扇区数据结构的分析,结合前文介绍的GitHub开源项目 NTFS-File-Search中的NTFS_BOOT_SECTOR结构体设计,使用Bootice工具查看分区引导扇区实际数据,计算首张MFT(Master File Table)主文件表在磁盘的偏移地址。原创 2024-09-13 16:20:28 · 869 阅读 · 0 评论 -
Qt/C++ 了解NTFS文件系统,了解MFT(Master File Table)主文件表(一)
简单了解NTFS文件系统中的MFT(Master File Table)主文件表,介绍GitHub开源项目NTFS-File-Search,统计Qt库和Windows Api函数,以及使用NTFS-File-Search项目中的方法读取盘符所有目录文件速度示例原创 2024-09-13 08:47:34 · 1062 阅读 · 0 评论