WO2020103493A1 - 基于fat32文件系统的删除文件恢复方法及系统 - Google Patents

基于fat32文件系统的删除文件恢复方法及系统

Info

Publication number
WO2020103493A1
WO2020103493A1 PCT/CN2019/099120 CN2019099120W WO2020103493A1 WO 2020103493 A1 WO2020103493 A1 WO 2020103493A1 CN 2019099120 W CN2019099120 W CN 2019099120W WO 2020103493 A1 WO2020103493 A1 WO 2020103493A1
Authority
WO
WIPO (PCT)
Prior art keywords
cluster
directory
fdt
file
information
Prior art date
Application number
PCT/CN2019/099120
Other languages
English (en)
French (fr)
Inventor
邵炳阳
范玮
沈长达
吴少华
Original Assignee
厦门市美亚柏科信息股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 厦门市美亚柏科信息股份有限公司 filed Critical 厦门市美亚柏科信息股份有限公司
Priority to EP19808665.4A priority Critical patent/EP3848808A4/en
Publication of WO2020103493A1 publication Critical patent/WO2020103493A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1489Generic software techniques for error detection or fault masking through recovery blocks

Definitions

  • the present disclosure relates to the technical field of computer data recovery, and in particular to a method and system for recovering deleted files based on the FAT32 file system.
  • the FAT32 file system is one of the most widely used file systems in the Windows operating system, and is used more on storage media such as SD cards and U disks.
  • the FAT32 file system is composed of reserved sectors (DBR), file allocation table area (FAT), root directory area (ROOT), and data area (DATA); the reserved sector is located at the beginning of the FAT32 file system, and the first reserved sector
  • DBR the DOS boot record of the FAT32 file system, that is, DBR, which stores the cluster size, reserved sectors, total sectors, the starting position of the root directory of the FAT32 file system on the disk, the size and number of the FAT table, etc.
  • FAT table is used to describe the allocation status of clusters in the data area and to describe the location of the file or directory data stored on the disk, each FAT table entry consists of 4 bytes, recording each cluster in the data area
  • the address of the root directory area is located in the first data cluster of the data area.
  • the directory entry FDT is a crucial data structure of the FAT32 file system.
  • all files and folders are assigned a 32-byte directory entry to store metadata information of files or folders.
  • FAT32 The file system directory items are divided into short file name directory items, long file name directory items, ".” And "..” directory items, and volume label directory items.
  • a file recovery method and system based on the FAT32 file system including: obtaining the starting cluster number and starting sector number of each FDT directory entry in the current partition; The starting cluster number and starting sector number of a valid FDT directory entry are recorded as the starting cluster number and starting sector number of the root directory of the current partition; determine the next valid FDT directory entry; calculate the cluster size of the current partition ; Calculate the number of offset sectors of the root directory; calculate the theoretical starting sector number of the next valid FDT directory entry; if the starting sector number of the next valid FDT directory entry is not equal to the theoretical starting sector number, Then it is determined that there is a new partition; restore the previous FDT directory entry; in the present disclosure, when there are multiple partitions on the disk and the partition is formatted and deleted, the file recovery of each partition is achieved, which can improve data recovery effect.
  • the cluster high position of the directory item will be cleared when deleting, resulting in the direct resolution of the deleted folder directory item cannot be correctly located to the location of the subfolder, resulting in the actual restored directory may be incomplete Problem, the present disclosure proposes a deleted file recovery method based on the FAT32 file system, including the following steps:
  • the file allocation table of the FAT32 file system is initialized to obtain cluster allocation information of the file system
  • F AT S represents the file allocation table of FAT32
  • F AT S ⁇ C 1 , C 2 , ..., C N ⁇ , where C i Indicates whether the location space indicated by the cluster number has been used
  • C i Indicates whether the location space indicated by the cluster number has been used
  • CS represents the cluster status bitmap of FAT32
  • CS ⁇ S 1 , S 2 , ..., S N ⁇ , where S i represents the data attribute stored in the corresponding cluster number position on the partition. It will be processed later based on the attribute of whether the location space indicated by the cluster number in the file allocation table of FAT32 has been used and the data attribute stored in the cluster status bitmap corresponding to the location of the cluster number on the partition.
  • the attributes included in the directory item R i include file name / folder name FileName, file size FileSize, 0 under the folder, cluster number high HClusterNumber, cluster number low LClusterNum, access date AccessDate, creation date Createdatee, creation time CreateTime 3. CreateTimeRefinement with accurate creation time in milliseconds. The following will classify files or folders according to the attribute information contained in the directory item R i .
  • the actual physical location of the current normal file or deleted file can be obtained by calculating the starting sector number of the directory item R i in the first root directory FDT information set, and the current normal file or deleted file in the first root directory FDT information set can be parsed out Information about the catalog item R i .
  • the FDT cluster high bit algorithm is dynamically calculated by the low number of the cluster number recorded in the directory item R i and the matching of the characteristics and information of the directory item
  • the actual physical location of the current normal folder or the deleted folder can be obtained by calculating the starting sector number of the directory item R i in the first root directory FDT information set, and the current normal folder or in the first root directory FDT information set can be parsed out Delete the information of the directory item R i of the folder.
  • the actual physical location of the current normal file or deleted file can be obtained by calculating the starting sector number of the directory item R i in the second root directory FDT information set, and the current normal file or deleted file in the second root directory FDT information set can be parsed out Information about the catalog item R i .
  • the FDT cluster high bit algorithm is dynamically calculated through the cluster number low bit recorded in the directory item R i and the combination of the directory item characteristics and information matching
  • the actual physical location of the current normal folder or the deleted folder can be obtained by calculating the starting sector number of the directory item R i in the second root directory FDT information set, and the current normal folder or in the second root directory FDT information set can be parsed out Delete the information of the directory item R i of the folder.
  • the dynamic calculation of the FDT cluster high-level algorithm in combination with the file characteristics specifically includes the following steps:
  • M2 For deleting the folder FDT record R i , record the current file type, and obtain the file signature corresponding to the current file type;
  • M7 If the cluster state indicated by the Start cluster in the CS cluster state is not marked, read the data of one sector and record it as DATA1, determine the data characteristic state of DATA1, and update the CS state information to the corresponding data characteristic information;
  • the algorithm for dynamically calculating the FDT cluster high order by combining the characteristics of directory items and information matching specifically includes the following steps:
  • N2 For the deleted folder FDT record R i , record the current record attributes LClusterNum, AccessDate, Createdate, CreateTime, CreateTimeRefinement information;
  • N7 If the cluster state indicated by the Start cluster in the CS cluster state is not marked, read the data of one sector and record it as DATA1, determine the data feature state of DATA1, and update the CS state information to the corresponding data feature information;
  • HCNX HCNX + 1
  • a deleted file recovery system based on the FAT32 file system is also proposed, including:
  • the initialization module is used to initialize the file allocation table and cluster status bitmap of the FAT32 file system
  • the information reading module obtains the starting position of the root directory from the FAT32 file system, and reads the FDT information of each directory item R i to form the first root directory FDT information set, which is denoted as F DT S;
  • the attribute of the FDT information of i and it is determined according to the attribute whether each directory item R i in the first root directory FDT information set represents a directory item of a file or a folder;
  • a first parse module for R i in the directory entry for the root directory is the directory entry file when calculated start sector number of directory entries R i, and obtain the actual physical location of the current file, parsing the current file directory entry R i information;
  • the second parsing module is used to calculate the starting sector number of the directory item R i when the directory item R i represents the directory item of the folder, and obtain the actual physical location of the current folder, and read the current folder
  • the FDT information of the directory item of each sub-file forms a second root directory FDT information set. All directory items in the second root directory FDT information set are parsed by the first parsing module to parse out the attributes of the FDT information of the current directory item , Continue recursive analysis.
  • first parsing module and the second parsing module include: a first calculation module to dynamically calculate the FDT cluster high-order algorithm in combination with the file characteristics to dynamically calculate the cluster high-order information HCNX of the deleted file FDT; a second calculation module to combine the directory Item feature and information matching dynamic calculation FDT cluster high-order algorithm dynamically calculates the cluster high-order information HCNX of the deleted folder FDT. Recover deleted files or deleted folders in the FAT32 file system by dynamically calculating the HCNX cluster high-level information of the deleted files or deleted folders FDT.
  • a computer-readable storage medium is also proposed, on which a computer program is stored, which when executed by a processor implements the method described above.
  • the present disclosure restores the cluster high-level information of the deleted files and the directory items that are emptied when the folder is deleted by deleting the file cluster high-level algorithm by combining the file feature dynamic detection and the feature and information matching of the directory item and dynamically detecting the folder cluster high-level algorithm , Directly parse out the actual physical location of the deleted file or folder directory item, and correctly locate the location of the subfolder, and then restore the complete directory.
  • the present disclosure realizes the rapid recovery of the FAT32 file system that dynamically detects the file characteristics and file system structure based on the in-depth study and analysis of the directory items of the FAT32 file system.
  • the method and system for recovering deleted files based on the FAT32 file system can solve the problem of incomplete recovery of deleted folders in the prior art. And the recovery effect of the method and system is better than that of the existing recovery software.
  • FIG. 1 is a schematic flowchart of a method for recovering a deleted file based on a FAT32 file system according to an embodiment of the present disclosure
  • 2A is a flowchart I of an algorithm for dynamically calculating an FDT cluster high bit in combination with file characteristics of a file recovery method based on a FAT32 file system according to an embodiment of the present disclosure
  • FIG. 2B is a flowchart II of the algorithm for dynamically calculating the high-order FDT cluster of a combined file feature based on a file recovery method of a FAT32 file system according to an embodiment of the present disclosure
  • FIG. 3A is a flowchart I of an algorithm for dynamically calculating FDT cluster high bits in combination with directory item characteristics and information matching in a method for recovering deleted files based on a FAT32 file system according to an embodiment of the present disclosure
  • FIG. 3B is a flowchart II of the algorithm for dynamically calculating the FDT cluster high-level algorithm of the combination of directory item characteristics and information matching in the method for recovering deleted files based on the FAT32 file system according to an embodiment of the present disclosure
  • FIG. 4 is a schematic diagram of a deleted file recovery system based on the FAT32 file system according to an embodiment of the present disclosure
  • FIG. 5 is a schematic diagram of a prepared test environment according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram of a method for recovering a deleted file based on the FAT32 file system and a result of system recovery according to an embodiment of the present disclosure.
  • the attributes contained in the directory item R i include file name / folder name FileName, file size FileSize, 0 under the folder, cluster number high HClusterNumber, cluster number low HClusterNum, access date AccessDate, creation date Createdatee, creation time CreateTime, creation time The exact number of milliseconds CreateTimeRefinement.
  • R 1 represents the directory item of the current folder
  • R 2 represents the directory item of the parent folder of the current folder
  • R 3 to R N represent the directory items of all child files, including deleted files or folders and normal files Or folder.
  • each element D i in the list contains two attributes: StartSector (start sector number) and SectorCount (number of occupied sectors). Since files may be fragmented, the area occupied by a file may be a list. If there is no fragmentation, the list has only one element.
  • D FDT S ⁇ RD 1 , RD 2 , RD 3 , ..., RD N ⁇ means that a subdirectory entry records a list of area ranges occupied in the partition.
  • the element RD i in the list contains two attributes, StartSector (starting fan Area code), SectorCount (number of sectors occupied). Because the content stored in the folder may be fragmented, the area occupied by a folder may be a list. If there is no fragmentation, the list has only one element.
  • the directory item R i in the first root directory FDT information set represents the directory item of the deleted file.
  • the cluster number low bit recorded in the directory item R i and the FDT cluster high bit are dynamically calculated from the file characteristics
  • the dynamic calculation of the FDT cluster high-level algorithm in conjunction with the file features specifically includes the following steps:
  • M2 For deleting the folder FDT record R i , record the current file type, and obtain the file signature corresponding to the current file type;
  • M7 If the cluster state indicated by the Start cluster in the CS cluster state is not marked, read the data of one sector and record it as DATA1, determine the data characteristic state of DATA1, and update the CS state information to the corresponding data characteristic information;
  • the cluster high-level information HCNX of the deleted file FDT can be calculated, including its starting sector, cluster status bitmap, and corresponding data feature information.
  • the directory item R i in the first root directory FDT information set represents the directory item of the deleted folder, the cluster number recorded in the directory item R i is low, and the characteristics of the directory item match the information
  • Dynamically calculate the high-order cluster number calculated by the FDT cluster high-order algorithm according to the formula StartSector (HCNX * 0x10000 + LClusterNum) * N to calculate the actual physical location of the deleted folder, where StartSector is the starting sector number of the directory item R i , HCNX
  • LClusterNum is the cluster digit low digit of the catalog item R i
  • N is the cluster size of the catalog item R i is N, unit: sector.
  • the algorithm for dynamically calculating the FDT cluster high-level combining the characteristics of directory items and information matching specifically includes the following steps:
  • N2 For the deleted folder FDT record R i , record the current record attributes LClusterNum, AccessDate, Createdate, CreateTime, CreateTimeRefinement information;
  • N7 If the cluster state indicated by the Start cluster in the CS cluster state is not marked, read the data of one sector and record it as DATA1, determine the data feature state of DATA1, and update the CS state information to the corresponding data feature information;
  • the cluster high-level information HCNX of the deleted folder FDT can be calculated, including its starting sector, cluster status bitmap, and corresponding data feature information.
  • the dynamic calculation of the FDT cluster high-level algorithm in conjunction with the file features specifically includes the following steps:
  • M2 For deleting the folder FDT record R i , record the current file type, and obtain the file signature corresponding to the current file type;
  • M7 If the cluster state indicated by the Start cluster in the CS cluster state is not marked, read the data of one sector and record it as DATA1, determine the data characteristic state of DATA1, and update the CS state information to the corresponding data characteristic information;
  • the cluster high-level information HCNX of the deleted file FDT can be calculated, including its starting sector, cluster status bitmap, and corresponding data feature information.
  • the FDT cluster high bit algorithm is dynamically calculated through the cluster number low bit recorded in the directory item R i and the combination of the directory item characteristics and information matching
  • This step specifically calculates the actual physical location of the normal folder or deleted folder, and further calculates the actual physical location of the normal file or deleted file in the normal folder or deleted folder.
  • the algorithm for dynamically calculating the FDT cluster high-level combining the characteristics of directory items and information matching specifically includes the following steps:
  • N2 For the deleted folder FDT record R i , record the current record attributes LClusterNum, AccessDate, Createdate, CreateTime, CreateTimeRefinement information;
  • N7 If the cluster state indicated by the Start cluster in the CS cluster state is not marked, read the data of one sector and record it as DATA1, determine the data feature state of DATA1, and update the CS state information to the corresponding data feature information;
  • the cluster high-level information HCNX of the deleted folder FDT can be calculated, including its starting sector, cluster status bitmap, and corresponding data feature information.
  • the present disclosure also proposes a deleted file recovery system based on the FAT32 file system, as shown in FIG. 4, including:
  • Initialization module used to initialize the file allocation table and cluster status bitmap of the FAT32 file system
  • the information reading module 2 obtains the starting position of the root directory from the FAT32 file system, and reads the FDT information of each directory item R i to form the first root directory FDT information set, which is denoted as F DT S;
  • the attribute of the FDT information of R i and according to the attribute, determine whether each directory item R i in the first root directory FDT information set represents a directory item of a file or a folder;
  • a first analyzing module 4, for R i in the directory entry for the root directory is the directory entry file when calculated start sector number of directory entries R i, and obtain the actual physical location of the current file, parsing the current directory Item R i information;
  • the second parsing module 5 is used to calculate the starting sector number of the directory item R i when the directory item R i represents the directory item of the folder, and obtain the actual physical location of the current folder, and read the current folder
  • the FDT information of the directory item of each sub-file forms a second root directory FDT information set. All the directory items in the second root directory FDT information set are parsed by the first parsing module 4 to parse out the FDT information of the current directory item Continue to parse recursively.
  • the first parsing module 4 and the second parsing module 5 include: a first computing module 6 for dynamically computing the FDT cluster high-order algorithm in combination with the file characteristics, and dynamically computing the cluster high-order information HCNX of the deleted file FDT; a second computing module 7 for combining Catalog item characteristics and information matching dynamic calculation FDT cluster high-bit algorithm dynamically calculates the cluster high-level information HCNX of the deleted folder FDT.
  • the files of the FAT32 file system pass through the initialization module 1, the information reading module 2, and the information analysis module 3 to determine the location and attributes of the FAT32 file system to obtain the root directory. Then, through the first parsing module 4 and the second parsing module 5, the actual physical location of the deleted file and the deleted folder is resolved. This system can quickly and effectively calculate the actual physical location and related information of the sub-files in the deleted folder, and further quickly recover files deleted from the FAT32 file system.
  • a computer-readable storage medium is also proposed, on which a computer program is stored, which when executed by a processor implements the method described above.
  • the computer-readable storage medium may exist on a computer, mobile terminal, or other device with computing capabilities.
  • test environment preparations are prepared, as shown in Figure 5:
  • test results are as follows:
  • the files in the same deleted folder can be recovered in the manner described in this disclosure to obtain a complete and effective recovery.
  • the files inside the deleted folder can be quickly recovered, which is better than the recovery effect of Rstudio software or other deleted software.
  • the present disclosure restores the cluster high-level information of the deleted files and the directory items that are emptied when the folder is deleted by deleting the file cluster high-level algorithm by combining the file feature dynamic detection and the feature and information matching of the directory item and dynamically detecting the folder cluster high-level algorithm , Directly parse out the actual physical location of the deleted file or folder directory item, and correctly locate the location of the subfolder, and then restore the complete directory.
  • the present disclosure realizes the rapid recovery of the FAT32 file system by dynamically detecting the file characteristics and the file system structure.
  • the method and system for recovering deleted files based on the FAT32 file system can solve the problem of incomplete recovery of deleted folders in the prior art.
  • the method and system adopt the dynamic detection of deleted file clusters combined with file characteristics and the dynamic detection of deleted folder clusters combined with the feature and information matching of directory items.
  • the recovery effect of deleted files in the FAT32 file system is more effective than existing recovery software it is good.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了一种基于FAT32文件系统的删除文件恢复方法及系统,通过读取每一个目录项R i的FDT信息形成第一根目录FDT信息集合;对第一根目录FDT信息集合FDTS={R1,R2,…,RN}中的每一个目录项Ri的FDT信息进行解析,解析出当前目录项Ri的FDT信息的属性,并且根据属性确定第一根目录FDT信息集合中的每个目录项Ri代表的是文件还是文件夹的目录项;计算出目录项R i的起始扇区号,得到当前文件的实际物理位置,递归解析出当前文件目录项Ri的信息;解析完当前文件系统内所有目录的目录项R i的FDT信息得到当前文件或文件夹的实际物理位置以及目录项R i的信息。并采用结合文件特征动态计算FDT簇高位算法和结合目录项特征与信息匹配动态计算FDT簇高位算法有效实现删除文件的快速恢复。

Description

基于FAT32文件系统的删除文件恢复方法及系统
相关申请
本申请要求保护在2018年11月22日提交的申请号为201811401305.8的中国专利申请的优先权,该申请的全部内容以引用的方式结合到本文中。
技术领域
本公开涉及计算机数据恢复技术领域,具体涉及一种基于FAT32文件系统的删除文件恢复方法及系统。
背景技术
FAT32文件系统是Windows操作系统中应用最为广泛的文件系统之一,在SD卡与U盘等存储介质上使用的更多。FAT32文件系统由保留扇区(DBR)、文件分配表区(FAT)、根目录区(ROOT)以及数据区(DATA)组成;保留扇区位于FAT32文件系统起始位置,保留扇区的第一个扇区为FAT32文件系统的DOS引导记录,即DBR,保存着FAT32文件系统在磁盘上的簇大小、保留扇区数、总扇区数、根目录起始位置,FAT表的大小与数目等信息;FAT表用以描述数据区中的簇的分配状态以及用以描述文件或者目录的数据在磁盘中存储的位置,每个FAT表项由4个字节组成,记录着数据区每个簇的地址;根目录区位于数据区域的第一个数据簇,当在文件系统根目录下创建文件或者目录的时候,需要在根目录区中写入相应的文件或者目录的目录项;数据区域存储的所有数据的目录项信息以及实际的文件数据。
目录项FDT是FAT32文件系统至关重要的数据结构,在FAT32文件系统中,所有的文件和文件夹都会被分配一个32字节的目录项,用以存储文件或者文件夹的元数据信息,FAT32文件系统的目录项分为短文件名目录项、长文件名目录项、“.”与“..”目录项和卷标目录项。
FAT32文件系统删除文件的恢复技术在计算机安全领域中一直是备受关注的热点。目前,市面上已经有了许多较为成熟的FAT32文件系统删除数据恢复的技术以及相关的数据恢复软件,这些恢复技术与恢复软件都只是简单的对FAT32文件系统的FDT目录项进行简单的查找与分析。因此,若被删除的磁盘中包含多个FAT32文件系统分区,这些恢复软件都无法正确的将各自FAT32分区的数据给恢复出来。
现有的FAT32文件系统的恢复算法主要有两种,其一是通过在FAT表中查找删除文件的文件记录并解析达到恢复删除文件的目的,其二是直接在磁盘中搜索FDT表并解析达到恢复删除文件的目的。如果原磁盘中存在多个FAT32分区,并且对这些分区都进行格式化并删除操作,那么通过上述两个方法都无法正确的恢复出被删除的文件。
在公开号为105786653B的专利文件中,公开了一种基于FAT32文件系统的文件恢复方法及其系统,包括:获取当前分区内各个FDT目录项的起始簇号和起始扇区号;将第一个有效的FDT目录项的起始簇号和起始扇区号分别记录为当前分区的根目录的起始簇号和起始扇区号;确定下一有效的FDT目录项;计算当前分区的簇大小;计算根目录的偏移扇区数;计算下一有效的FDT目录项的理论起始扇区号;若下一有效的FDT目录项的起始扇区号和所述理论起始扇区号不相等,则确定存在新的分区;对之前的FDT目录项进行恢复处理;本公开在磁盘存在多个分区,且分区被格式化删除的情况下,实现了对各个分区的文件的恢复,可提高数据恢复效果。这些现有的FAT32文件系统的删除文件、删除文件夹的恢复都是通过解析目录项中标记为删除的目录项来实现的。FAT32文件系统中文件与文件夹都是通过FDT进行管理的。当一个文件或者文件夹被删除时,对应的FDT记录的第一个字节被修改为E5,同时,FDT中用于索引实际数据的簇高位被清零,导致删除的文件无法直 接索引到数据区块,删除的文件夹无法直接索引到对应子文件夹的数据。目前,市面上已经有通过文件数据特征动态定位删除文件起始数据的方法,但目前为止,还没有比较有效的对删除文件夹下动态定位子文件夹数据的比较有效的方法。
公开内容
针对以上所述的对于删除文件夹,删除时目录项的簇高位会被清空,导致直接解析该删除文件夹目录项无法正确的定位到子文件夹的位置,造成实际恢复的目录可能不完整的问题,本公开提出了一种基于FAT32文件系统的删除文件恢复方法,包括以下步骤:
S1:对FAT32文件系统的文件分配表和簇状态位图进行初始化;
S2:从FAT32文件系统获取根目录起始位置,读取每一个目录项R i的FDT信息形成第一根目录FDT信息集合,记为F DTS;
S3:对第一根目录FDT信息集合F DTS={R 1,R 2,…,R N}中的每一个目录项R i的FDT信息进行解析,解析出当前目录项R i的FDT信息的属性,并且根据属性确定第一根目录FDT信息集合中的每个目录项R i代表的是文件还是文件夹的目录项;
S4:在第一根目录的目录项R i代表的是文件的目录项时,计算出目录项R i的起始扇区号,并得到当前文件的实际物理位置,解析当前文件目录项R i的信息;
S5:在第一根目录R i代表的是文件夹的目录项时,计算出目录项R i的起始扇区号,并得到当前文件夹的实际物理位置,读取当前文件夹的每一个子文件的目录项的FDT信息形成第二根目录FDT信息集合,对第二根目录FDT信息集合中的每一个目录项R i的FDT信息进行解析,解析出当前目录项的FDT信息的属性,并根据属性执行步骤S4和S5,继续递归解析;
S6:在依次解析完当前文件系统内所有目录的目录项R i的FDT信息得到当前文件或文件夹的实际物理位置,解析当前文件目录项R i的信息,结束流程。
进一步地,初始化FAT32文件系统的文件分配表,得到文件系统的簇分配信息,F ATS表示FAT32的文件分配表,F ATS={C 1,C 2,…,C N},其中C i表示该簇号所表示的位置空间是否已经被使用;初始化FAT32文件系统的簇状态位图,并清空簇状态信息,CS表示FAT32的簇状态位图,CS={S 1,S 2,…,S N},其中,S i代表该分区上对应簇号位置存储的数据属性。后面将根据FAT32的文件分配表中该簇号所表示的位置空间是否已经被使用的属性以及簇状态位图中的该分区上对应簇号位置存储的数据属性来进行处理。
进一步地,目录项R i包含的属性包括文件名称/文件夹名称FileName、文件大小FileSize,文件夹下为0、簇号高位HClusterNumber、簇号低位LClusterNum、访问日期AccessDate、创建日期Createdatee、创建时间CreateTime、创建时间精确的毫秒数CreateTimeRefinement。下面将根据目录项R i包含的属性信息来对文件或文件夹进行分类处理。
进一步地,步骤S4中“计算出目录项R i的起始扇区号”具体包括以下步骤:若第一根目录FDT信息集合中的每个目录项R i代表的是正常文件的目录项,则通过目录项R i中记录的簇号低位和目录项R i中记录的簇号高位根据公式StartSector=(HClusterNumber*0x10000+LClusterNum)*N计算出当前文件的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HClusterNumber为目录项R i的簇号高位,LClusterNum为目录项R i的簇号低位,N为所述录项R i的簇大小为N,单位:扇区;
若第一根目录FDT信息集合中的目录项R i代表的是删除文件的目录项,则通过目录项R i中记录的簇号低位以及由文件特征动态计算FDT簇高位算法计算得到的簇号高位根据公式StartSector=(HCNX*0x10000+LClusterNum)*N计算出当前文件的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HCNX为结合文件特征动态计算FDT簇高位算法计算得到的簇号高位,LClusterNum为目录项Ri的簇号低位,N为目录项R i的簇大小为N,单位:扇区。通过计算出第一根目录FDT信息集合中目录项R i的起始扇区号可以得到 当前正常文件或删除文件的实际物理位置,解析出第一根目录FDT信息集合中当前正常文件或删除文件的目录项R i的信息。
进一步地,步骤S5中“计算出目录项R i的起始扇区号”具体包括以下步骤:若第一根目录FDT信息集合中的目录项R i代表的是正常文件夹的目录项,则通过目录项R i中记录的簇号低位和目录项R i中记录的簇号高位根据公式StartSector=(HClusterNumber*0x10000+LClusterNum)*N计算出当前文件夹的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HClusterNumber为目录项R i的簇号高位,LClusterNum为目录项R i的簇号低位,N为目录项R i的簇大小为N,单位:扇区;
若第一根目录FDT信息集合中的目录项R i代表的是删除文件夹的目录项,则通过目录项R i中记录的簇号低位以及由目录项特征与信息匹配动态计算FDT簇高位算法计算得到的簇号高位根据公式StartSector=(HCNX*0x10000+LClusterNum)*N计算出删除文件夹的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HCNX为结合目录项特征与信息匹配动态计算FDT簇高位算法计算得到的簇号高位,LClusterNum为目录项R i的簇号低位,N为目录项R i的簇大小为N,单位:扇区。通过计算出第一根目录FDT信息集合中目录项R i的起始扇区号可以得到当前正常文件夹或删除文件夹的实际物理位置,解析出第一根目录FDT信息集合中当前正常文件夹或删除文件夹的目录项R i的信息。
进一步地,步骤S5中“并根据属性执行步骤S4和S5,继续递归解析”具体包括如下步骤:若第二根目录FDT信息集合中的目录项R i代表的是正常文件的目录项,则通过目录项R i中记录的簇号低位和目录项Ri中记录的簇号高位根据公式StartSector=(R B->HClusterNumber*0x10000+LClusterNum)*N计算出当前文件的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HClusterNumber为目录项R i的簇号高位,LClusterNum为目录项R i的簇号低位,N为目录项R i的簇大小为N,单位:扇区;
若第二根目录FDT信息集合中的目录项R i代表的是删除文件的目录项,则通过目录项R i中记录的簇号低位以及由文件特征动态计算FDT簇高位算法计算得到的簇号高位根据公式StartSector=(R B->HClusterNumber*0x10000+LClusterNum)*N计算出当前文件的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HCNX为结合文件特征动态计算FDT簇高位算法计算得到的簇号高位,LClusterNum为目录项R i的簇号低位,N为目录项R i的簇大小为N,单位:扇区。通过计算出第二根目录FDT信息集合中目录项R i的起始扇区号可以得到当前正常文件或删除文件的实际物理位置,解析出第二根目录FDT信息集合中当前正常文件或删除文件的目录项R i的信息。
进一步地,步骤S5中“并根据属性执行步骤S4和S5,继续递归解析”具体包括如下步骤:若第二根目录FDT信息集合中的目录项R i代表的是正常文件夹的目录项,则通过目录项R i中记录的簇号低位和目录项R i中记录的簇号高位根据公式StartSector=(HCNX*0x10000+LClusterNum)*N计算出当前文件夹的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HClusterNumber为目录项R i的簇号高位,LClusterNum为目录项R i的簇号低位,N为目录项R i的簇大小为N,单位:扇区;
若第二根目录FDT信息集合中的目录项R i代表的是删除文件夹的目录项,则通过目录项R i中记录的簇号低位以及结合目录项特征与信息匹配动态计算FDT簇高位算法计算得到的簇号高位根据公式StartSector=(HCNX*0x10000+LClusterNum)*N计算出删除文件夹的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HCNX为结合目录项特征与信息匹配动态计算FDT簇高位算法计算得到的簇号高位,LClusterNum为目录项R i的簇号低位,N为目录项R i的簇大小为N,单位:扇区。通过计算出第二根目录FDT信息集合中目录项R i的起始扇区号可以得到当前正常文件夹或删除文件夹的实际物理位置,解析出第二根目录FDT信息集合中当前正常文件夹或删除文件夹的目录项R i的信息。
进一步地,结合文件特征动态计算FDT簇高位算法具体包括如下步骤:
M1:通过分区扇区总数PSC以及每簇扇区数SPC计算最大簇号:MAX_CLUSYER=PSC/ SPC;
M2:对于删除文件夹FDT记录R i,记录当前文件类型,获取当前文件类型对应的文件签名;
M3:令HCNX=0,当HCNX<=MAX_CLUSYER,且尚未找到删除文件夹的实际簇高位时,令StartSector=(HCNX*0x10000+LClusterNum)*SPC,得到当前可能的起始扇区;
M4:若StartSector位置在F ATS簇分配信息中所表示的簇使用状态标记为已使用时,令HCNX=HCNX+1,跳转到步骤M3;
M5:若StartSector位置在CS簇状态中所表示的簇状态为已使用状态时,令HCNX=HCNX+1,跳转到步骤M3;
M6:若StartSector位置在CS簇状态中所表示的簇状态为非当前文件类型对应的签名时,令HCNX=HCNX+1,跳转到步骤M3;
M7:若StartSector位置在CS簇状态中所表示的簇状态未标记时,读取1扇区的数据,记为DATA1,判断DATA1的数据特征状态,更新CS状态信息为对应的数据特征信息;
M8:若StartSector位置在CS簇状态中所表示的簇状态为当前文件类型对应的签名时,结束此流程;否则,令HCNX=HCNX+1;跳转步骤M3。通过动态计算删除文件FDT的簇高位信息HCNX,对FAT32文件系统中的删除文件进行恢复。
进一步地,结合目录项特征与信息匹配动态计算FDT簇高位算法具体包括如下步骤:
N1:通过分区扇区总数PSC以及每簇扇区数SPC计算最大簇号:MAX_CLUSYER=PSC/SPC;
N2:对于删除文件夹FDT记录R i,记录当前记录属性LClusterNum、AccessDate、Createdate、CreateTime、CreateTimeRefinement信息;
N3:令HCNX=0,当HCNX<=MAX_CLUSYER,且尚未找到删除文件夹的实际簇高位时,令StartSector=(HCNX*0x10000+LClusterNum)*SPC,得到当前可能的起始扇区;
N4:若StartSector位置在F ATS簇分配信息中所表示的簇使用状态标记为已使用时,令HCNX=HCNX+1,跳转到步骤N3;
N5:若StartSector位置在CS簇状态中所表示的簇状态为已使用状态时,令HCNX=HCNX+1,跳转到步骤N3;
N6:若StartSector位置在CS簇状态中所表示的簇状态为非目录项起始状态时,令HCNX=HCNX+1,跳转步骤N3;
N7:若StartSector位置在CS簇状态中所表示的簇状态未标记时,读取1扇区的数据,记为DATA1,判断DATA1的数据特征状态,更新CS状态信息为对应的数据特征信息;
N8:若StartSector位置在CS簇状态中所表示的簇状态为目录项时,跳转到下一步,否则,令HCNX=HCNX+1,跳转到步骤N3;
N9:读取当前FDTS,获取R 1以及R 2的FDT相关信息,判断R i的LClusterNum,AccessDate,Createdatee,CreateTime,CreateTimeRefinement属性与R 1匹配,跳转到下一步,否则,令HCNX=HCNX+1,跳转到步骤N3;
N10:获取R i的父节点FDT信息,记为R i-PARENT,若Ri-PARENT所表示的FDT簇号与R 2的FDT中记录的簇号匹配,则StartSector所表示的内容就是R i目录项的子目录,HCNX记为R i的簇高位,更新R i簇高位信息,更新CS状态信息StartSector位置为已使用状态,结束流程,若R i-PARENT所表示的FDT簇号与R 2的FDT中记录的簇号不匹配,令HCNX=HCNX+1,跳转到步骤N3。通过动态计算删除文件夹FDT的簇高位信息HCNX,对FAT32文件系统中的删除文件夹进行恢复。
还提出了一种基于FAT32文件系统的删除文件恢复系统,包括:
初始化模块,用于对FAT32文件系统的文件分配表和簇状态位图进行初始化;
信息读取模块,从FAT32文件系统获取根目录起始位置,读取每一个目录项R i的FDT 信息形成第一根目录FDT信息集合,记为F DTS;
信息解析模块,用以对第一根目录FDT信息集合F DTS={R 1,R 2,…,R N}中的每一个目录项R i的FDT信息进行解析,解析出当前目录项R i的FDT信息的属性,并且根据属性确定第一根目录FDT信息集合中的每个目录项R i代表的是文件还是文件夹的目录项;
第一解析模块,用以在根目录的目录项R i代表的是文件的目录项时,计算出目录项R i的起始扇区号,并得到当前文件的实际物理位置,解析当前文件目录项R i的信息;
第二解析模块,用以在目录项R i代表的是文件夹的目录项时,计算出目录项R i的起始扇区号,并得到当前文件夹的实际物理位置,读取当前文件夹的每一个子文件的目录项的FDT信息形成第二根目录FDT信息集合,对第二根目录FDT信息集合中的所有目录项通过第一解析模块进行解析,解析出当前目录项的FDT信息的属性,继续递归解析。
进一步地,第一解析模块和第二解析模块包括:第一计算模块,用以结合文件特征动态计算FDT簇高位算法动态计算删除文件FDT的簇高位信息HCNX;第二计算模块,用以结合目录项特征与信息匹配动态计算FDT簇高位算法动态计算删除文件夹FDT的簇高位信息HCNX。通过动态计算删除文件或删除文件夹FDT的簇高位信息HCNX,对FAT32文件系统中的删除文件或删除文件夹进行恢复。
还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上文所述的方法。
本公开通过结合文件特征动态检测删除文件簇高位算法和结合目录项的特征与信息匹配动态检测删除文件夹簇高位算法将删除文件和删除文件夹删除时被清空的目录项的簇高位信息进行还原,直接解析出该删除文件或文件夹目录项的实际物理位置,并正确地定位到子文件夹的位置,进而恢复出完整的目录。本公开通过对FAT32文件系统的目录项深入研究分析的基础上,实现动态检测结合文件特征和文件系统结构的FAT32文件系统的快速恢复。提出的基于FAT32文件系统的删除文件恢复方法及系统能够解决现有技术中删除文件夹可能恢复不完整的问题。并且该方法及系统的恢复效果比现有恢复软件的效果更好。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开的实施例的基于FAT32文件系统的删除文件恢复方法的流程示意图;
图2A为本公开的实施例的基于FAT32文件系统的删除文件恢复方法的结合文件特征动态计算FDT簇高位算法的流程图Ⅰ;
图2B为本公开的实施例的基于FAT32文件系统的删除文件恢复方法的结合文件特征动态计算FDT簇高位算法的流程图Ⅱ;
图3A为本公开的实施例的基于FAT32文件系统的删除文件恢复方法的结合目录项特征与信息匹配动态计算FDT簇高位算法的流程图I;
图3B为本公开的实施例的基于FAT32文件系统的删除文件恢复方法的结合目录项特征与信息匹配动态计算FDT簇高位算法的流程图Ⅱ;
图4为本公开的实施例的基于FAT32文件系统的删除文件恢复系统的示意图;
图5为本公开的实施例的准备好的测试环境的示意图;
图6为本公开的实施例采用基于FAT32文件系统的删除文件恢复的方法及系统恢复的结果图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步 地详细描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
如图1所示,公开了一种基于FAT32文件系统的删除文件恢复方法,包括以下步骤:
S1:对FAT32文件系统的文件分配表和簇状态位图进行初始化;
初始化FAT32文件系统的文件分配表,得到文件系统的簇分配信息,假设F ATS表示FAT32的文件分配表,F ATS={C 1,C 2,…,C N},其中C i表示该簇号所表示的位置空间是否已经被使用,为0代表空闲簇,为其他值代表该位置已经被使用。初始化FAT32文件系统的簇状态位图,并清空簇状态信息,假设CS表示FAT32的簇状态位图,CS={S 1,S 2,…,S N},其中,S i代表该分区上对应簇号位置存储的数据属性,为0代表该簇号未进行检测,为其他代表该簇号位置所存储的数据的实际属性定义。初始化后可以对FAT32文件系统的文件分配表和簇状态位图所包含的信息进行识别判断。
S2:从FAT32文件系统获取根目录起始位置,读取每一个目录项R i的FDT信息形成第一根目录FDT信息集合,记为F DTS;
S3:对第一根目录FDT信息集合F DTS={R 1,R 2,…,R N}中的每一个目录项R i的FDT信息进行解析,解析出当前目录项R i的FDT信息的属性,并且根据属性确定第一根目录FDT信息集合中的每个目录项R i代表的是文件还是文件夹的目录项;
目录项R i包含的属性包括文件名称/文件夹名称FileName、文件大小FileSize,文件夹下为0、簇号高位HClusterNumber、簇号低位LClusterNum、访问日期AccessDate、创建日期Createdatee、创建时间CreateTime、创建时间精确的毫秒数CreateTimeRefinement。R 1代表当前文件夹的目录项,R 2代表当前文件夹的父文件夹的目录项,R 3到R N代表的是所有子文件的目录项,包括删除的文件或文件夹以及正常的文件或文件夹。假设DS={D 1,D 2,D 3,…,D N}表示一个文件在分区中占用的区域范围列表,该列表中的元素按对应区域在文件中的偏移从小到大排序。其中,列表中的每个元素D i包含两个属性:StartSector(起始扇区号)、SectorCount(占用的扇区数)。由于文件可能存在碎片,因此一个文件占用的区域范围可能是一个列表,如果没有碎片则列表只有一个元素。
假设D FDTS={RD 1,RD 2,RD 3,…,RD N}表示一个子目录项记录在分区中占用的区域范围列表,列表中元素RD i包含两个属性,StartSector(起始扇区号)、SectorCount(占用的扇区数)。由于文件夹存储的内容可能存在碎片,因此一个文件夹占用的区域范围可能是一个列表,如果没有碎片则列表只有一个元素。
对于FAT32文件系统,假设簇大小为N(单位:扇区),对于文件夹A,其目录项为R A,若对于D FDTS的RD 1满足StartSector=(R A->HClusterNumber*0x10000+LClusterNum)*N,D FDTS属于A。
对于FAT32文件系统,假设簇大小为N(单位:扇区),对于文件记录B,其目录项为R B,若对于D FDTS的D 1满足StartSector=(R B->HClusterNumber*0x10000+LClusterNum)*N,则D FDTS属于B。因此根据动态检测结合文件特征和文件系统结构可以实现FAT32文件系统删除文件的快速恢复。
S4:在第一根目录的目录项R i代表的是文件的目录项时,计算出目录项R i的起始扇区号,并得到当前文件的实际物理位置,解析当前文件目录项R i的信息;此步骤具体计算出正常文件或删除文件的实际物理位置。
在本公开的实施例一,第一根目录FDT信息集合中的每个目录项R i代表的是正常文件的目录项,通过目录项R i中记录的簇号低位和目录项R i中记录的簇号高位根据公式StartSector=(HClusterNumber*0x10000+LClusterNum)*N计算出当前文件的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HClusterNumber为目录项R i的簇号高位,LClusterNum为目录项R i的簇号低位,N为所述录项R i的簇大小为N,单位:扇区。
在本公开的实施例二,第一根目录FDT信息集合中的目录项R i代表的是删除文件的目录项,通过目录项R i中记录的簇号低位以及由文件特征动态计算FDT簇高位算法计算得到的簇号高位根据公式StartSector=(HCNX*0x10000+LClusterNum)*N计算出当前文件的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HCNX为结合文件特征动态计算FDT簇高位算法计算得到的簇号高位,LClusterNum为目录项Ri的簇号低位,N为目录项R i的簇大小为N,单位:扇区。
如图2所示,结合文件特征动态计算FDT簇高位算法具体包括如下步骤:
M1:通过分区扇区总数PSC以及每簇扇区数SPC计算最大簇号:MAX_CLUSYER=PSC/SPC;
M2:对于删除文件夹FDT记录R i,记录当前文件类型,获取当前文件类型对应的文件签名;
M3:令HCNX=0,当HCNX<=MAX_CLUSYER,且尚未找到删除文件夹的实际簇高位时,令StartSector=(HCNX*0x10000+LClusterNum)*SPC,得到当前可能的起始扇区;
M4:若StartSector位置在F ATS簇分配信息中所表示的簇使用状态标记为已使用时,令HCNX=HCNX+1,跳转到步骤M3;
M5:若StartSector位置在CS簇状态中所表示的簇状态为已使用状态时,令HCNX=HCNX+1,跳转到步骤M3;
M6:若StartSector位置在CS簇状态中所表示的簇状态为非当前文件类型对应的签名时,令HCNX=HCNX+1,跳转到步骤M3;
M7:若StartSector位置在CS簇状态中所表示的簇状态未标记时,读取1扇区的数据,记为DATA1,判断DATA1的数据特征状态,更新CS状态信息为对应的数据特征信息;
M8:若StartSector位置在CS簇状态中所表示的簇状态为当前文件类型对应的签名时,结束此流程;否则,令HCNX=HCNX+1;跳转步骤M3。
通过此算法可计算出删除文件FDT的簇高位信息HCNX,包括其起始扇区、簇状态位图及对应的数据特征信息。
S5:在第一根目录R i代表的是文件夹的目录项时,计算出目录项R i的起始扇区号,并得到当前文件夹的实际物理位置,读取当前文件夹的每一个子文件的目录项的FDT信息形成第二根目录FDT信息集合,对第二根目录FDT信息集合中的每一个目录项R i的FDT信息进行解析,解析出当前目录项的FDT信息的属性,并根据属性执行步骤S4和S5,继续递归解析;
在本公开的实施例三,第一根目录FDT信息集合中的目录项R i代表的是正常文件夹的目录项,则通过目录项R i中记录的簇号低位和目录项R i中记录的簇号高位根据公式StartSector=(HClusterNumber*0x10000+LClusterNum)*N计算出当前文件夹的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HClusterNumber为目录项R i的簇号高位,LClusterNum为目录项R i的簇号低位,N为目录项R i的簇大小为N,单位:扇区。
在本公开的实施例四,第一根目录FDT信息集合中的目录项R i代表的是删除文件夹的目录项,通过目录项R i中记录的簇号低位以及由目录项特征与信息匹配动态计算FDT簇高位算法计算得到的簇号高位根据公式StartSector=(HCNX*0x10000+LClusterNum)*N计算出删除文件夹的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HCNX为结合目录项特征与信息匹配动态计算FDT簇高位算法计算得到的簇号高位,LClusterNum为目录项R i的簇号低位,N为目录项R i的簇大小为N,单位:扇区。
如图3所示,结合目录项特征与信息匹配动态计算FDT簇高位算法具体包括如下步骤:
N1:通过分区扇区总数PSC以及每簇扇区数SPC计算最大簇号:MAX_CLUSYER=PSC/SPC;
N2:对于删除文件夹FDT记录R i,记录当前记录属性LClusterNum、AccessDate、Createdate、CreateTime、CreateTimeRefinement信息;
N3:令HCNX=0,当HCNX<=MAX_CLUSYER,且尚未找到删除文件夹的实际簇高位时,令StartSector=(HCNX*0x10000+LClusterNum)*SPC,得到当前可能的起始扇区;
N4:若StartSector位置在F ATS簇分配信息中所表示的簇使用状态标记为已使用时,令HCNX=HCNX+1,跳转到步骤N3;
N5:若StartSector位置在CS簇状态中所表示的簇状态为已使用状态时,令HCNX=HCNX+1,跳转到步骤N3;
N6:若StartSector位置在CS簇状态中所表示的簇状态为非目录项起始状态时,令HCNX=HCNX+1,跳转步骤N3;
N7:若StartSector位置在CS簇状态中所表示的簇状态未标记时,读取1扇区的数据,记为DATA1,判断DATA1的数据特征状态,更新CS状态信息为对应的数据特征信息;
N8:若StartSector位置在CS簇状态中所表示的簇状态为目录项时,跳转到下一步,否则,令HCNX=HCNX+1,跳转到步骤N3;
N9:读取当前FDTS,获取R 1以及R 2的FDT相关信息,判断R i的LClusterNum,AccessDate,Createdatee,CreateTime,CreateTimeRefinement属性与R 1匹配,跳转到下一步,否则,令HCNX=HCNX+1,跳转到步骤N3;
N10:获取R i的父节点FDT信息,记为R i-PARENT,若Ri-PARENT所表示的FDT簇号与R 2的FDT中记录的簇号匹配,则StartSector所表示的内容就是R i目录项的子目录,HCNX记为R i的簇高位,更新R i簇高位信息,更新CS状态信息StartSector位置为已使用状态,结束流程,若R i-PARENT所表示的FDT簇号与R 2的FDT中记录的簇号不匹配,令HCNX=HCNX+1,跳转到步骤N3。通过此算法可计算出删除文件夹FDT的簇高位信息HCNX,包括其起始扇区、簇状态位图及对应的数据特征信息。
步骤S5中“并根据属性执行步骤S4和S5,继续递归解析”具体包括如下步骤:若第二根目录FDT信息集合中的目录项R i代表的是正常文件的目录项,则通过目录项R i中记录的簇号低位和目录项Ri中记录的簇号高位根据公式StartSector=(R B->HClusterNumber*0x10000+LClusterNum)*N计算出当前文件的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HClusterNumber为目录项R i的簇号高位,LClusterNum为目录项R i的簇号低位,N为目录项R i的簇大小为N,单位:扇区。
若第二根目录FDT信息集合中的目录项R i代表的是删除文件的目录项,则通过目录项R i中记录的簇号低位以及由文件特征动态计算FDT簇高位算法计算得到的簇号高位根据公式StartSector=(R B->HClusterNumber*0x10000+LClusterNum)*N计算出当前文件的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HCNX为结合文件特征动态计算FDT簇高位算法计算得到的簇号高位,LClusterNum为目录项R i的簇号低位,N为目录项R i的簇大小为N,单位:扇区。
如图2所示,结合文件特征动态计算FDT簇高位算法具体包括如下步骤:
M1:通过分区扇区总数PSC以及每簇扇区数SPC计算最大簇号:MAX_CLUSYER=PSC/SPC;
M2:对于删除文件夹FDT记录R i,记录当前文件类型,获取当前文件类型对应的文件签名;
M3:令HCNX=0,当HCNX<=MAX_CLUSYER,且尚未找到删除文件夹的实际簇高位时,令StartSector=(HCNX*0x10000+LClusterNum)*SPC,得到当前可能的起始扇区;
M4:若StartSector位置在F ATS簇分配信息中所表示的簇使用状态标记为已使用时,令HCNX=HCNX+1,跳转到步骤M3;
M5:若StartSector位置在CS簇状态中所表示的簇状态为已使用状态时,令HCNX=HCNX +1,跳转到步骤M3;
M6:若StartSector位置在CS簇状态中所表示的簇状态为非当前文件类型对应的签名时,令HCNX=HCNX+1,跳转到步骤M3;
M7:若StartSector位置在CS簇状态中所表示的簇状态未标记时,读取1扇区的数据,记为DATA1,判断DATA1的数据特征状态,更新CS状态信息为对应的数据特征信息;
M8:若StartSector位置在CS簇状态中所表示的簇状态为当前文件类型对应的签名时,结束此流程;否则,令HCNX=HCNX+1;跳转步骤M3。
通过此算法可计算出删除文件FDT的簇高位信息HCNX,包括其起始扇区、簇状态位图及对应的数据特征信息。
步骤S5中“并根据属性执行步骤S4和S5,继续递归解析”具体包括如下步骤:若第二根目录FDT信息集合中的目录项R i代表的是正常文件夹的目录项,则通过目录项R i中记录的簇号低位和目录项R i中记录的簇号高位根据公式StartSector=(HCNX*0x10000+LClusterNum)*N计算出当前文件夹的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HClusterNumber为目录项R i的簇号高位,LClusterNum为目录项R i的簇号低位,N为目录项R i的簇大小为N,单位:扇区;
若第二根目录FDT信息集合中的目录项R i代表的是删除文件夹的目录项,则通过目录项R i中记录的簇号低位以及结合目录项特征与信息匹配动态计算FDT簇高位算法计算得到的簇号高位根据公式StartSector=(HCNX*0x10000+LClusterNum)*N计算出删除文件夹的实际物理位置,其中,StartSector为目录项R i的起始扇区号,HCNX为结合目录项特征与信息匹配动态计算FDT簇高位算法计算得到的簇号高位,LClusterNum为目录项R i的簇号低位,N为目录项R i的簇大小为N,单位:扇区。此步骤具体计算出正常文件夹或删除文件夹的实际物理位置,并进一步计算出正常文件夹或删除文件夹中正常文件或删除文件的实际物理位置。
如图3所示,结合目录项特征与信息匹配动态计算FDT簇高位算法具体包括如下步骤:
N1:通过分区扇区总数PSC以及每簇扇区数SPC计算最大簇号:MAX_CLUSYER=PSC/SPC;
N2:对于删除文件夹FDT记录R i,记录当前记录属性LClusterNum、AccessDate、Createdate、CreateTime、CreateTimeRefinement信息;
N3:令HCNX=0,当HCNX<=MAX_CLUSYER,且尚未找到删除文件夹的实际簇高位时,令StartSector=(HCNX*0x10000+LClusterNum)*SPC,得到当前可能的起始扇区;
N4:若StartSector位置在F ATS簇分配信息中所表示的簇使用状态标记为已使用时,令HCNX=HCNX+1,跳转到步骤N3;
N5:若StartSector位置在CS簇状态中所表示的簇状态为已使用状态时,令HCNX=HCNX+1,跳转到步骤N3;
N6:若StartSector位置在CS簇状态中所表示的簇状态为非目录项起始状态时,令HCNX=HCNX+1,跳转步骤N3;
N7:若StartSector位置在CS簇状态中所表示的簇状态未标记时,读取1扇区的数据,记为DATA1,判断DATA1的数据特征状态,更新CS状态信息为对应的数据特征信息;
N8:若StartSector位置在CS簇状态中所表示的簇状态为目录项时,跳转到下一步,否则,令HCNX=HCNX+1,跳转到步骤N3;
N9:读取当前FDTS,获取R 1以及R 2的FDT相关信息,判断R i的LClusterNum,AccessDate,Createdatee,CreateTime,CreateTimeRefinement属性与R 1匹配,跳转到下一步,否则,令HCNX=HCNX+1,跳转到步骤N3;
N10:获取R i的父节点FDT信息,记为R i-PARENT,若Ri-PARENT所表示的FDT簇号与R 2的FDT中记录的簇号匹配,则StartSector所表示的内容就是R i目录项的子目录,HCNX记为R i的簇高位,更新R i簇高位信息,更新CS状态信息StartSector位置为已使用状态, 结束流程,若R i-PARENT所表示的FDT簇号与R 2的FDT中记录的簇号不匹配,令HCNX=HCNX+1,跳转到步骤N3。通过此算法可计算出删除文件夹FDT的簇高位信息HCNX,包括其起始扇区、簇状态位图及对应的数据特征信息。
S6:在依次解析完当前文件系统内所有目录的目录项R i的FDT信息得到当前文件或文件夹的实际物理位置,解析当前文件目录项R i的信息,结束流程。
本公开还提出了一种基于FAT32文件系统的删除文件恢复系统,如图4所示,包括:
初始化模块1,用于对FAT32文件系统的文件分配表和簇状态位图进行初始化;
信息读取模块2,从FAT32文件系统获取根目录起始位置,读取每一个目录项R i的FDT信息形成第一根目录FDT信息集合,记为F DTS;
信息解析模块3,用以对第一根目录FDT信息集合F DTS={R 1,R 2,…,R N}中的每一个目录项R i的FDT信息进行解析,解析出当前目录项R i的FDT信息的属性,并且根据属性确定第一根目录FDT信息集合中的每个目录项R i代表的是文件还是文件夹的目录项;
第一解析模块4,用以在根目录的目录项R i代表的是文件的目录项时,计算出目录项R i的起始扇区号,并得到当前文件的实际物理位置,解析当前文件目录项R i的信息;
第二解析模块5,用以在目录项R i代表的是文件夹的目录项时,计算出目录项R i的起始扇区号,并得到当前文件夹的实际物理位置,读取当前文件夹的每一个子文件的目录项的FDT信息形成第二根目录FDT信息集合,对第二根目录FDT信息集合中的所有目录项通过第一解析模块4进行解析,解析出当前目录项的FDT信息的属性,继续递归解析。
第一解析模块4和第二解析模块5包括:第一计算模块6,用以结合文件特征动态计算FDT簇高位算法动态计算删除文件FDT的簇高位信息HCNX;第二计算模块7,用以结合目录项特征与信息匹配动态计算FDT簇高位算法动态计算删除文件夹FDT的簇高位信息HCNX。
FAT32文件系统的文件经过初始化模块1、信息读取模块2以及信息解析模块3确定FAT32文件系统获取根目录的位置和属性。再经过第一解析模块4与第二解析模块5解析出删除文件和删除文件夹的实际物理位置。此系统可以快速有效地计算得出删除文件夹中子文件的实际物理位置及相关信息,进一步对FAT32文件系统删除文件进行快速恢复。
还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上文所述的方法。该计算机可读存储介质可以存在于计算机、移动终端或具有计算能力的其他设备上。
基于上文提到的基于FAT32文件系统的删除文件恢复方法及系统,准备如下测试环境准备,如图5所示:
1)准备1个磁盘或者U盘并格式化为FAT32分区;
2)拷贝1个大于1G的大文件到格式化好的分区中;
3)拷贝多个多级文件夹到所属的分区中;
4)分别删除多级文件夹下的所有子目录
5)采用Rstudio软件与采用本公开所描述的方式进行对比,测试结果如下:
采用本公开所描述的方式对同样的删除文件夹的文件进行恢复可以得到完整有效的恢复,实际可以快速恢复出来已删除的文件夹内部的文件,比Rstudio软件或其他删除软件恢复效果好。
本公开通过结合文件特征动态检测删除文件簇高位算法和结合目录项的特征与信息匹配动态检测删除文件夹簇高位算法将删除文件和删除文件夹删除时被清空的目录项的簇高位信息进行还原,直接解析出该删除文件或文件夹目录项的实际物理位置,并正确地定位到子文件夹的位置,进而恢复出完整的目录。本公开通过对FAT32文件系统的目录项深入研究分析的基础上,动态检测结合文件特征和文件系统结构实现FAT32文件系统的快速恢复。提出的基于FAT32文件系统的删除文件恢复方法及系统能够解决现有技术中删除文件夹可能恢复不完整的问题。该方法及系统采用结合文件特征动态检测删除文件簇高位算法和结合目录项的特征与信息匹配动态检测删除文件夹簇高位算法对FAT32文件系统中删除 文件的恢复效果比现有恢复软件的效果更好。
显然,本领域技术人员在不偏离本公开的精神和范围的情况下可以做出对本公开的实施例的各种修改和改变。以该方式,如果这些修改和改变处于本公开的权利要求及其等同形式的范围内,则本公开还旨在涵盖这些修改和改变。词语“包括”不排除未在权利要求中列出的其它元件或步骤的存在。某些措施记载在相互不同的从属权利要求中的简单事实不表明这些措施的组合不能被用于获利。权利要求中的任何附图标记不应当被认为限制范围。

Claims (12)

  1. 一种基于FAT32文件系统的删除文件恢复方法,其特征在于,包括以下步骤:
    S1:对FAT32文件系统的文件分配表和簇状态位图进行初始化;
    S2:从FAT32文件系统获取根目录起始位置,读取每一个目录项R i的FDT信息形成第一根目录FDT信息集合,记为F DTS;
    S3:对第一根目录FDT信息集合F DTS={R 1,R 2,…,R N}中的每一个目录项R i的FDT信息进行解析,解析出当前目录项R i的FDT信息的属性,并且根据所述属性确定所述第一根目录FDT信息集合中的每个目录项R i代表的是文件还是文件夹的目录项;
    S4:在所述根目录的目录项R i代表的是文件的目录项时,计算出所述目录项R i的起始扇区号,并得到当前文件的实际物理位置,解析当前文件目录项R i的信息;
    S5:在所述目录项R i代表的是文件夹的目录项时,计算出所述目录项R i的起始扇区号,并得到当前文件夹的实际物理位置,读取当前文件夹的每一个子文件的目录项的FDT信息形成第二根目录FDT信息集合,对第二根目录FDT信息集合中的每一个目录项R i的FDT信息进行解析,解析出当前目录项的FDT信息的属性,并根据所述属性执行步骤S4和S5,继续递归解析;
    S6:在依次解析完当前文件系统内所有目录的目录项R i的FDT信息得到当前文件或文件夹的实际物理位置,解析当前文件目录项R i的信息,结束流程。
  2. 根据权利要求1所述的基于FAT32文件系统的删除文件恢复方法,其特征在于,初始化FAT32文件系统的文件分配表,得到文件系统的簇分配信息,F ATS表示FAT32的文件分配表,F ATS={C 1,C 2,…,C N},其中C i表示该簇号所表示的位置空间是否已经被使用;初始化FAT32文件系统的簇状态位图,并清空簇状态信息,CS表示FAT32的簇状态位图,CS={S 1,S 2,…,S N},其中,S i代表该分区上对应簇号位置存储的数据属性。
  3. 根据权利要求1所述的基于FAT32文件系统的删除文件恢复方法,其特征在于,所述目录项R i包含的属性包括文件名称/文件夹名称FileName、文件大小FileSize,文件夹下为0、簇号高位HClusterNumber、簇号低位LClusterNum、访问日期AccessDate、创建日期Createdatee、创建时间CreateTime、创建时间精确的毫秒数CreateTimeRefinement。
  4. 根据权利要求3所述的基于FAT32文件系统的删除文件恢复方法,其特征在于,步骤S4中“计算出所述目录项R i的起始扇区号”具体包括以下步骤:若所述第一根目录FDT信息集合中的每个目录项R i代表的是正常文件的目录项,则通过所述目录项R i中记录的簇号低位和所述目录项R i中记录的簇号高位根据公式StartSector=(HClusterNumber*0x10000+LClusterNum)*N计算出当前文件的实际物理位置,其中,StartSector为所述目录项R i的起始扇区号,HClusterNumber为所述目录项R i的簇号高位,LClusterNum为所述目录项R i的簇号低位,N为所述目录项R i的簇大小为N,单位:扇区;
    若所述第一根目录FDT信息集合中的目录项R i代表的是删除文件的目录项,则通过所述目录项R i中记录的簇号低位以及由文件特征动态计算FDT簇高位算法计算得到的簇号高位根据公式StartSector=(HCNX*0x10000+LClusterNum)*N计算出当前文件的实际物理位置,其中,StartSector为所述目录项R i的起始扇区号,HCNX为结合文件特征动态计算FDT簇高位算法计算得到的簇号高位,LClusterNum为所述目录项Ri的簇号低位,N为所述目录项R i的簇大小为N,单位:扇区。
  5. 根据权利要求3所述的基于FAT32文件系统的删除文件恢复方法,其特征在于,步骤S5中“计算出所述目录项R i的起始扇区号”具体包括以下步骤:若所述第一根目录FDT信息集合中的目录项R i代表的是正常文件夹的目录项,则通过所述目录项R i中记录的簇号低位和所述目录项R i中记录的簇号高位根据公式StartSector=(HClusterNumber* 0x10000+LClusterNum)*N计算出当前文件夹的实际物理位置,其中,StartSector为所述目录项R i的起始扇区号,HClusterNumber为所述目录项R i的簇号高位,LClusterNum为所述目录项R i的簇号低位,N为所述目录项R i的簇大小为N,单位:扇区;
    若所述第一根目录FDT信息集合中的目录项R i代表的是删除文件夹的目录项,则通过所述目录项R i中记录的簇号低位以及由目录项特征与信息匹配动态计算FDT簇高位算法计算得到的簇号高位根据公式StartSector=(HCNX*0x10000+LClusterNum)*N计算出删除文件夹的实际物理位置,其中,StartSector为所述目录项R i的起始扇区号,HCNX为结合目录项特征与信息匹配动态计算FDT簇高位算法计算得到的簇号高位,LClusterNum为所述目录项R i的簇号低位,N为所述目录项R i的簇大小为N,单位:扇区。
  6. 根据权利要求3所述的基于FAT32文件系统的删除文件恢复方法,其特征在于,步骤S5中“并根据所述属性执行步骤S4和S5,继续递归解析”具体包括如下步骤:若所述第二根目录FDT信息集合中的目录项R i代表的是正常文件的目录项,则通过所述目录项R i中记录的簇号低位和所述目录项Ri中记录的簇号高位根据公式StartSector=(R B->HClusterNumber*0x10000+LClusterNum)*N计算出当前文件的实际物理位置,其中,StartSector为所述目录项R i的起始扇区号,HClusterNumber为所述目录项R i的簇号高位,LClusterNum为所述目录项R i的簇号低位,N为所述目录项R i的簇大小为N,单位:扇区;
    若所述第二根目录FDT信息集合中的目录项R i代表的是删除文件的目录项,则通过所述目录项R i中记录的簇号低位以及由文件特征动态计算FDT簇高位算法计算得到的簇号高位根据公式StartSector=(R B->HClusterNumber*0x10000+LClusterNum)*N计算出当前文件的实际物理位置,其中,StartSector为所述目录项R i的起始扇区号,HCNX为结合文件特征动态计算FDT簇高位算法计算得到的簇号高位,LClusterNum为所述目录项R i的簇号低位,N为所述目录项R i的簇大小为N,单位:扇区。
  7. 根据权利要求3所述的基于FAT32文件系统的删除文件恢复方法,其特征在于,步骤S5中“并根据所述属性执行步骤S4和S5,继续递归解析”具体包括如下步骤:若所述第二根目录FDT信息集合中的目录项R i代表的是正常文件夹的目录项,则通过所述目录项R i中记录的簇号低位和所述目录项R i中记录的簇号高位根据公式StartSector=(HCNX*0x10000+LClusterNum)*N计算出当前文件夹的实际物理位置,其中,StartSector为所述目录项R i的起始扇区号,HClusterNumber为所述目录项R i的簇号高位,LClusterNum为所述目录项R i的簇号低位,N为所述目录项R i的簇大小为N,单位:扇区;
    若所述第二根目录FDT信息集合中的目录项R i代表的是删除文件夹的目录项,则通过所述目录项R i中记录的簇号低位以及结合目录项特征与信息匹配动态计算FDT簇高位算法计算得到的簇号高位根据公式StartSector=(HCNX*0x10000+LClusterNum)*N计算出删除文件夹的实际物理位置,其中,StartSector为所述目录项R i的起始扇区号,HCNX为结合目录项特征与信息匹配动态计算FDT簇高位算法计算得到的簇号高位,LClusterNum为所述目录项R i的簇号低位,N为所述目录项R i的簇大小为N,单位:扇区。
  8. 根据权利要求2-7中任一所述的基于FAT32文件系统的删除文件恢复方法,其特征在于,结合文件特征动态计算FDT簇高位算法具体包括如下步骤:
    M1:通过分区扇区总数PSC以及每簇扇区数SPC计算最大簇号:MAX_CLUSYER=PSC/SPC;
    M2:对于删除文件夹FDT记录R i,记录当前文件类型,获取当前文件类型对应的文件签名;
    M3:令HCNX=0,当HCNX<=MAX_CLUSYER,且尚未找到删除文件夹的实际簇高位时,令StartSector=(HCNX*0x10000+LClusterNum)*SPC,得到当前可能的起始扇区;
    M4:若StartSector位置在F ATS簇分配信息中所表示的簇使用状态标记为已使用时,令HCNX=HCNX+1,跳转到步骤M3;
    M5:若StartSector位置在CS簇状态中所表示的簇状态为已使用状态时,令HCNX=HCNX+1,跳转到步骤M3;
    M6:若StartSector位置在CS簇状态中所表示的簇状态为非当前文件类型对应的签名时,令HCNX=HCNX+1,跳转到步骤M3;
    M7:若StartSector位置在CS簇状态中所表示的簇状态未标记时,读取1扇区的数据,记为DATA1,判断DATA1的数据特征状态,更新CS状态信息为对应的数据特征信息;
    M8:若StartSector位置在CS簇状态中所表示的簇状态为当前文件类型对应的签名时,结束此流程;否则,令HCNX=HCNX+1;跳转步骤M3。
  9. 根据权利要求2-7中任一所述的基于FAT32文件系统的删除文件恢复方法,其特征在于,结合目录项特征与信息匹配动态计算FDT簇高位算法具体包括如下步骤:
    N1:通过分区扇区总数PSC以及每簇扇区数SPC计算最大簇号:MAX_CLUSYER=PSC/SPC;
    N2:对于删除文件夹FDT记录R i,记录当前记录属性LClusterNum、AccessDate、Createdate、CreateTime、CreateTimeRefinement信息;
    N3:令HCNX=0,当HCNX<=MAX_CLUSYER,且尚未找到删除文件夹的实际簇高位时,令StartSector=(HCNX*0x10000+LClusterNum)*SPC,得到当前可能的起始扇区;
    N4:若StartSector位置在F ATS簇分配信息中所表示的簇使用状态标记为已使用时,令HCNX=HCNX+1,跳转到步骤N3;
    N5:若StartSector位置在CS簇状态中所表示的簇状态为已使用状态时,令HCNX=HCNX+1,跳转到步骤N3;
    N6:若StartSector位置在CS簇状态中所表示的簇状态为非目录项起始状态时,令HCNX=HCNX+1,跳转步骤N3;
    N7:若StartSector位置在CS簇状态中所表示的簇状态未标记时,读取1扇区的数据,记为DATA1,判断DATA1的数据特征状态,更新CS状态信息为对应的数据特征信息;
    N8:若StartSector位置在CS簇状态中所表示的簇状态为目录项时,跳转到下一步,否则,令HCNX=HCNX+1,跳转到步骤N3;
    N9:读取当前FDTS,获取R 1以及R 2的FDT相关信息,判断R i的LClusterNum,AccessDate,Createdatee,CreateTime,CreateTimeRefinement属性与R 1匹配,跳转到下一步,否则,令HCNX=HCNX+1,跳转到步骤N3;
    N10:获取R i的父节点FDT信息,记为R i-PARENT,若Ri-PARENT所表示的FDT簇号与R 2的FDT中记录的簇号匹配,则StartSector所表示的内容就是R i目录项的子目录,HCNX记为R i的簇高位,更新R i簇高位信息,更新CS状态信息StartSector位置为已使用状态,结束流程,若R i-PARENT所表示的FDT簇号与R 2的FDT中记录的簇号不匹配,令HCNX=HCNX+1,跳转到步骤N3。
  10. 一种基于FAT32文件系统的删除文件恢复系统,其特征在于,包括:
    初始化模块,用于对FAT32文件系统的文件分配表和簇状态位图进行初始化;
    信息读取模块,从FAT32文件系统获取根目录起始位置,读取每一个目录项R i的FDT信息形成第一根目录FDT信息集合,记为F DTS;
    信息解析模块,用以对第一根目录FDT信息集合F DTS={R 1,R 2,…,R N}中的每一个目录项R i的FDT信息进行解析,解析出当前目录项R i的FDT信息的属性,并且根据所述属性确定所述第一根目录FDT信息集合中的每个目录项R i代表的是文件还是文件夹的目录项;
    第一解析模块,用以在所述根目录的目录项R i代表的是文件的目录项时,计算出所述目录项R i的起始扇区号,并得到当前文件的实际物理位置,解析当前文件目录项R i的信息;
    第二解析模块,用以在所述目录项R i代表的是文件夹的目录项时,计算出所述目录项R i的起始扇区号,并得到当前文件夹的实际物理位置,读取当前文件夹的每一个子文件的目录项的FDT信息形成第二根目录FDT信息集合,对第二根目录FDT信息集合中的所有目录 项通过第一解析模块进行解析,解析出当前目录项的FDT信息的属性,继续递归解析。
  11. 根据权利要求10所述的基于FAT32文件系统的删除文件恢复系统,其特征在于,第一解析模块和第二解析模块包括:第一计算模块,用以结合文件特征动态计算FDT簇高位算法动态计算所述删除文件FDT的簇高位信息HCNX;第二计算模块,用以结合目录项特征与信息匹配动态计算FDT簇高位算法动态计算所述删除文件夹FDT的簇高位信息HCNX。
  12. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-9中任意一项所述的方法。
PCT/CN2019/099120 2018-11-22 2019-08-02 基于fat32文件系统的删除文件恢复方法及系统 WO2020103493A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP19808665.4A EP3848808A4 (en) 2018-11-22 2019-08-02 METHOD AND SYSTEM FOR RECOVERING DELETED FILES BASED ON FAT32 FILE SYSTEM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811401305.8 2018-11-22
CN201811401305.8A CN109710455B (zh) 2018-11-22 2018-11-22 基于fat32文件系统的删除文件恢复方法及系统

Publications (1)

Publication Number Publication Date
WO2020103493A1 true WO2020103493A1 (zh) 2020-05-28

Family

ID=66254315

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/099120 WO2020103493A1 (zh) 2018-11-22 2019-08-02 基于fat32文件系统的删除文件恢复方法及系统

Country Status (3)

Country Link
EP (1) EP3848808A4 (zh)
CN (1) CN109710455B (zh)
WO (1) WO2020103493A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112069130A (zh) * 2020-08-31 2020-12-11 四川效率源信息安全技术股份有限公司 一种针对微软excel文件的数据重组修复方法
CN112181918A (zh) * 2020-09-30 2021-01-05 上海商米科技集团股份有限公司 一种用于嵌入式系统的摄像机录像文件快速预分配方法
CN112905546A (zh) * 2021-03-15 2021-06-04 深圳软牛科技有限公司 已删除文件的恢复方法、装置、设备及存储介质
CN116643927A (zh) * 2023-07-27 2023-08-25 成都艾勃科技有限公司 一种基于Windows系统的固态硬盘快照备份方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710455B (zh) * 2018-11-22 2020-09-22 厦门市美亚柏科信息股份有限公司 基于fat32文件系统的删除文件恢复方法及系统
CN112905159A (zh) * 2019-12-04 2021-06-04 北京华航无线电测量研究所 一种基于cvi的文件夹清空的方法
CN112379839B (zh) * 2020-11-13 2022-12-02 万兴科技集团股份有限公司 数据恢复方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1945571A (zh) * 2006-08-16 2007-04-11 珠海金山软件股份有限公司 Fat卷中重建目录结构和恢复数据的方法
US20120144090A1 (en) * 2004-12-21 2012-06-07 Samsung Electronics Co., Ltd. Storage device and user device including the same
CN105786653A (zh) 2016-03-01 2016-07-20 厦门市美亚柏科信息股份有限公司 基于fat32文件系统的文件恢复方法及其系统
CN106909542A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 在终端设备上进行信息擦除的方法及装置
CN109710455A (zh) * 2018-11-22 2019-05-03 厦门市美亚柏科信息股份有限公司 基于fat32文件系统的删除文件恢复方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100353329C (zh) * 2005-10-17 2007-12-05 珠海金山软件股份有限公司 恢复fat32分区已删除文件的方法
KR101403305B1 (ko) * 2012-08-23 2014-06-05 한국전자통신연구원 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법
CN102937924B (zh) * 2012-10-30 2015-05-06 厦门市美亚柏科信息股份有限公司 一种综合文件特征与文件系统的fat数据恢复方法
CN105760473A (zh) * 2016-02-11 2016-07-13 陈蔡峰 一种exFAT文件格式化后恢复方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120144090A1 (en) * 2004-12-21 2012-06-07 Samsung Electronics Co., Ltd. Storage device and user device including the same
CN1945571A (zh) * 2006-08-16 2007-04-11 珠海金山软件股份有限公司 Fat卷中重建目录结构和恢复数据的方法
CN106909542A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 在终端设备上进行信息擦除的方法及装置
CN105786653A (zh) 2016-03-01 2016-07-20 厦门市美亚柏科信息股份有限公司 基于fat32文件系统的文件恢复方法及其系统
CN109710455A (zh) * 2018-11-22 2019-05-03 厦门市美亚柏科信息股份有限公司 基于fat32文件系统的删除文件恢复方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3848808A4

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112069130A (zh) * 2020-08-31 2020-12-11 四川效率源信息安全技术股份有限公司 一种针对微软excel文件的数据重组修复方法
CN112069130B (zh) * 2020-08-31 2023-05-02 四川效率源信息安全技术股份有限公司 一种针对微软excel文件的数据重组修复方法
CN112181918A (zh) * 2020-09-30 2021-01-05 上海商米科技集团股份有限公司 一种用于嵌入式系统的摄像机录像文件快速预分配方法
CN112181918B (zh) * 2020-09-30 2023-03-03 上海商米科技集团股份有限公司 一种用于嵌入式系统的摄像机录像文件快速预分配方法
CN112905546A (zh) * 2021-03-15 2021-06-04 深圳软牛科技有限公司 已删除文件的恢复方法、装置、设备及存储介质
CN116643927A (zh) * 2023-07-27 2023-08-25 成都艾勃科技有限公司 一种基于Windows系统的固态硬盘快照备份方法
CN116643927B (zh) * 2023-07-27 2023-09-26 成都艾勃科技有限公司 一种基于Windows系统的固态硬盘快照备份方法

Also Published As

Publication number Publication date
EP3848808A4 (en) 2022-08-31
CN109710455A (zh) 2019-05-03
EP3848808A1 (en) 2021-07-14
CN109710455B (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
WO2020103493A1 (zh) 基于fat32文件系统的删除文件恢复方法及系统
US11068455B2 (en) Mapper tree with super leaf nodes
US9286165B2 (en) Apparatus and method for recovering partition using backup boot record information
US10303797B1 (en) Clustering files in deduplication systems
US7831789B1 (en) Method and system for fast incremental backup using comparison of descriptors
US9424185B1 (en) Method and system for garbage collection of data storage systems
US7487138B2 (en) System and method for chunk-based indexing of file system content
US9594674B1 (en) Method and system for garbage collection of data storage systems using live segment records
US9367448B1 (en) Method and system for determining data integrity for garbage collection of data storage systems
US9715505B1 (en) Method and system for maintaining persistent live segment records for garbage collection
US20050144501A1 (en) Method for recovering data in EXT2 file system, and computer-readable storage medium recorded with data-recovery program
JP2005267600A5 (zh)
CN111651127B (zh) 一种基于叠瓦式磁记录盘的监控数据存储方法及装置
CN112262379B (zh) 存储数据项并且标识存储的数据项
CN110569147A (zh) 一种基于索引的删除文件恢复方法、终端设备及存储介质
CN111104377B (zh) 文件管理的方法、电子设备和计算机可读存储介质
CN112115002B (zh) 从损坏或不可信机械硬盘恢复文件的方法及装置
CN110297781B (zh) 一种基于写时复制来恢复apfs中被删除数据的方法
US20170351608A1 (en) Host device
CN109857589B (zh) 一种删除文件的恢复方法、装置及存储介质
CN112416879B (zh) 一种基于ntfs文件系统的块级数据去重方法
US9613207B2 (en) Method and apparatus for preventing autorun of portable USB storage
CN112380174B (zh) 含删除文件的xfs文件系统解析方法、终端设备及存储介质
CN113986838B (zh) 基于文件系统的海量小文件处理方法、系统及存储介质
CN117493282A (zh) 一种基于文件系统的元数据管理方法及其相关设备

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE