CN111831224A - 一种擦除exFAT分区文件剩余空间的方法,系统及设备 - Google Patents

一种擦除exFAT分区文件剩余空间的方法,系统及设备 Download PDF

Info

Publication number
CN111831224A
CN111831224A CN202010573621.4A CN202010573621A CN111831224A CN 111831224 A CN111831224 A CN 111831224A CN 202010573621 A CN202010573621 A CN 202010573621A CN 111831224 A CN111831224 A CN 111831224A
Authority
CN
China
Prior art keywords
file
data
partition
reading
cluster
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202010573621.4A
Other languages
English (en)
Other versions
CN111831224B (zh
Inventor
苗功勋
李显程
王金国
刘雪飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING ZHONGFU TAIHE TECHNOLOGY DEVELOPMENT CO LTD
Nanjing Zhongfu Information Technology Co Ltd
Zhongfu Information Co Ltd
Zhongfu Safety Technology Co Ltd
Original Assignee
BEIJING ZHONGFU TAIHE TECHNOLOGY DEVELOPMENT CO LTD
Nanjing Zhongfu Information Technology Co Ltd
Zhongfu Information Co Ltd
Zhongfu Safety Technology Co Ltd
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 BEIJING ZHONGFU TAIHE TECHNOLOGY DEVELOPMENT CO LTD, Nanjing Zhongfu Information Technology Co Ltd, Zhongfu Information Co Ltd, Zhongfu Safety Technology Co Ltd filed Critical BEIJING ZHONGFU TAIHE TECHNOLOGY DEVELOPMENT CO LTD
Priority to CN202010573621.4A priority Critical patent/CN111831224B/zh
Publication of CN111831224A publication Critical patent/CN111831224A/zh
Application granted granted Critical
Publication of CN111831224B publication Critical patent/CN111831224B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种擦除exFAT分区文件剩余空间的方法,系统及设备,获取分区所在卷的读写句柄;读取所述分区的引导记录数据及分区文件分配表;从所述分区的起始扇区,读取分区文件分配表的所有数据;将待擦除文件的路径拆分成数组;读取数组的根目录数据;遍历上一步读取的根目录数据,确定根目录数据所占用的所有簇的个数以及簇号;若文件使用的字节数小于文件占用的所有簇的字节数,则表示存在剩余空间;反之不存在剩余空间。本发明能够精准识别文件的剩余空间数据,进行数据擦除。这样,可擦除存储在文件剩余空间中的敏感数据,降低数据泄密的风险。还可擦除存储在文件剩余空间中的病毒、木马程序,降低潜在风险。

Description

一种擦除exFAT分区文件剩余空间的方法,系统及设备
技术领域
本发明涉及数据处理技术领域,尤其涉及一种擦除exFAT分区文件剩余空间的方法,系统及设备。
背景技术
exFAT(Extended File Allocation Table System,扩展FAT,即扩展文件分配表)是Microsoft公司开发的,为了解决FAT16、FAT32文件系统不支持超大文件等一系列问题而推出的一种文件系统。其本身特点较适用于闪存,例如u盘、存储卡等可移动存储设备。也可以在Windows XP、Windows 7、Windows 8、Windows 10系统上作为分区文件系统而使用。
exFAT文件系统在底层数据存储上,以簇为单位进行管理,在将分区格式化成exFAT文件系统的时候,可以指定存储分配单元长度,即每簇占用的字节数,一般都是扇区占用字节数(通常为512个字节)的整数倍。一般最小的分配单元是4096字节,占用8个物理扇区。
以簇为单位进行管理,即使内容只有一个字母的txt文件,在底层扇区上,也会占用至少一个簇的存储空间。操作系统将文件的内容保存在这个簇占用的第一个扇区上,同时将该扇区剩余未用空间、以及其它未用的扇区数据默认都写为0。这些未用的物理空间可称之为该文件的剩余空间。随着文件内容的改变,该文件剩余空间长度和数据内容也会随之改变。或被写成文件的真实数据,或被弃之成为“垃圾数据”。
剩余空间被文件系统记作为不可用数据,无法在文件浏览器、资源管理器中直接查看和读写数据。但是通过一些特殊的编程接口,可实现对这些“不可见”数据的读写操作。
正因为如此,一些病毒、木马程序会对这些“不可见”数据加以利用,或将其改写入病毒程序在适当的时机加以运行,对操作系统或数据进行破坏;或对这些“不可见”数据感兴趣,将其恶意利用。例如在的涉密文件中,存在大量的涉密信息。这些文件经过多次修改后,其剩余空间中依然可能存在一些敏感数据。病毒程序恰好将其获取,这使得剩余空间存在数据泄密的风险。
发明内容
为了克服上述现有技术中的不足,本发明提供一种擦除exFAT分区文件剩余空间的方法,方法包括:
S1,获取分区所在卷的读写句柄;
S2,读取所述分区的引导记录数据及分区文件分配表;
S3,从所述分区的起始扇区,读取分区文件分配表的所有数据;
S4,将待擦除文件的路径拆分成数组;
S5,读取数组的根目录数据;
S6,遍历上一步读取的根目录数据,确定根目录数据所占用的所有簇的个数以及簇号;
S7,若文件使用的字节数小于文件占用的所有簇的字节数,则表示存在剩余空间;反之不存在剩余空间。
进一步需要说明的是,文件剩余空间字节数等于文件占用的总字节数减去使用字节数。
进一步需要说明的是,剩余空间的字节数对每扇区字节数取整,可计算出整扇区都是剩余空间的扇区的总数;对其取余,可计算出文件使用的最后一个扇区中属于剩余空间的字节数。
进一步需要说明的是,遍历文件的每一个簇,如果所述簇是文件数据使用的末端簇,则将所述末端簇对应扇区的剩余空间进行覆写擦除;
末端簇之后的簇,均为剩余空间数据,全部进行覆写擦除。
进一步需要说明的是,根据步骤S1获取的分区所在卷的读写句柄,进行磁盘扇区数据的读写。
进一步需要说明的是,步骤S2还包括:
获取分区文件分配表占用的总长度;
总长度=每扇区字节数乘以文件分配表占用的扇区数。
进一步需要说明的是,步骤S3还包括:
从分区文件分配表的起始扇区,连续读取分区文件分配表占用的总长度数据;
获悉分区文件分配表的所有数据。
进一步需要说明的是,步骤S4中,将待擦除文件的路径拆分成数组包括根目录及根目录对应的至少一个子目录;其中,第一文件名称目录项为根目录,第二文件名称目录项为一级子目录,第三文件名称目录项为二级子目录;
步骤S5中,读取根目录数据;
根据分区首簇开始扇区号FS、根目录的起始簇号RS、每簇扇区数SPC,计算出根目录数据相对于分区开始偏移的扇区数SC:SC=FS+(RS-2)*SPC;
通过分区文件分配表中根目录对应的FAT项的值,确定根目录所占用的所有簇的编号,依次将所述簇占用的扇区数据读取出来。
遍历读取的根目录数据,找到预设属性三所存储的第一文件名称目录项;
根据第一文件名称目录项的预设属性二目录项中存储的起始簇号和文件大小,读取出第一文件名称目录项存储的所有数据;
遍历上一步读取的第一文件名称目录项的目录数据,找到预设属性三所存储的第二文件名称目录项;
根据第二文件名称目录项的预设属性二目录项中存储的起始簇号和文件大小,读取出第二文件名称目录项存储的所有数据;
遍历上一步读取的第二文件名称目录项的目录数据,找到预设属性三所存储的第三文件名称目录项;
获取第三文件名称目录项的预设属性二目录项中存储文件使用的字节数,确定待擦除文件占用的所有簇的个数以及簇号。
本发明还提供一种擦除exFAT分区文件剩余空间系统,包括:读取模块,拆分模块以及擦除模块;
所述读取模块用于获取分区所在卷的读写句柄;
读取所述分区的引导记录数据及分区文件分配表;
从所述分区的起始扇区,读取分区文件分配表的所有数据;
拆分模块将待擦除文件的路径拆分成数组;
以及拆分之后,读取模块用以读取数组的根目录数据;
擦除模块用于遍历上一步读取的根目录数据,确定根目录数据所占用的所有簇的个数以及簇号;
若文件使用的字节数小于文件占用的所有簇的字节数,则表示存在剩余空间;反之不存在剩余空间。
本发明还提供一种实现擦除exFAT分区文件剩余空间的方法的设备,包括:
存储器,用于存储计算机程序及擦除exFAT分区文件剩余空间的方法;
处理器,用于执行所述计算机程序及擦除exFAT分区文件剩余空间的方法,以实现如权利要求1至8任意一项所述擦除exFAT分区文件剩余空间的方法的步骤。
从以上技术方案可以看出,本发明具有以下优点:
本发明利用Windows系统API,不依赖第三方程序,兼容性良好。擦除exFAT分区文件剩余空间的方法及系统可直接读写磁盘扇区数据,处理效率高。
本发明的擦除exFAT分区文件剩余空间的方法及系统能够精准识别文件的剩余空间数据,进行数据擦除。
这样,可擦除存储在文件剩余空间中的敏感数据,降低数据泄密的风险。还可擦除存储在文件剩余空间中的病毒、木马程序,降低潜在风险。
进一步的将,本发明利用解析exFAT文件系统格式,可精准识别某个文件底层所占用的所有簇的数据,根据计算得出文件剩余空间的长度。编写程序,打开磁盘卷,采用直接读写磁盘扇区的方式,将文件的剩余空间采用一定的算法多次进行擦除,这样既不会对原文件内容造成任何破坏,同时可将剩余空间的“危险数据”或“敏感数据”彻底擦除,避免了病毒木马带来的危害,减少敏感数据泄密的隐患。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为擦除exFAT分区文件剩余空间的方法流程图;
图2为擦除exFAT分区文件剩余空间的系统示意图。
具体实施方式
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
本发明提供擦除exFAT分区文件剩余空间的方法中涉及的exFAT文件系统由引导记录数据及其保留扇区、文件分配表(FAT)、簇位图文件、大写字符文件、数据区五个部分组成。
其中,引导记录数据开始于分区第一个扇区。数据包括:跳转指令、OEM代号、保留数据区、分区参数信息、和结束标志。如果该分区是一个系统分区,则还包括引导程序数据。其中分区参数信息尤其重要,记录了该分区文件系统格式化时的一些重要参数,操作系统依据这些数据可以正确的读写文件系统以及用户的数据。
引导记录数据主要包含以下内容:
跳转指令:占2个字节。数据为:EB76,即代表汇编语言中的“JMP 76”。
跳转长度:占1个字节。需要跳转的数据长度,从当前字节开始算起。
OEM名称:占8个字节。一般只用前5个字节,填充数据为:EXFAT。
隐藏扇区数:占8个字节。
分区总扇区数:占8个字节。
FAT表起始扇区号:占4个字节。
FAT表占用扇区数:占4个字节。
首簇起始扇区号:占4个字节。
分区总簇数:占4个字节。
根目录首簇号:占4个字节。
卷序列号:占4个字节。
保留数据:占4个字节。
每扇区字节数:占1个字节,记作N。扇区字节数用2的N次方来表示。例如N为9,则扇区字节数为2的9次方,即512字节。
每簇扇区数:占1个字节,记作N。每蔟扇区数用2的N次方来表示。例如N为6,则表示每簇占用2的6次方,即64个扇区。其余数据略。
结束标志:占2个字节。一般为55AA。
本发明涉及的文件分配表(FAT)也是exFAT重要组成部分,由FAT项组成。每个FAT项占用4字节长度。FAT表的起始位置和长度由引导记录数据中的分区参数信息指定。
每个FAT项都有一个固定的编号,编号从0开始。也就是第一个FAT项的编号是0,第二个FAT项的编号是1,以此类推。0号FAT和1号FAT都有专门用途,无法与数据区中的簇形成对应关系,所以分区中第一个簇的FAT编号为2。
FAT项的值根据所属目录项是否连续存储而不同。对于连续存储的用户文件,每个FAT项的值都为0;如果文件不连续存储,则FAT项的值为文件占用下一个簇的编号。如果值为0XFFFFFFFF,则表示当前FAT项所对应的簇即文件占用的最后一个簇。
本发明涉及的簇位图文件,簇位图文件是分区在格式化时创建的,用来管理分区中簇的使用情况的数据。簇位图中的每一个二进制位,代表了所对应的簇的使用情况。例如:二进制数据为1,则代表其对应的簇已使用;二进制数据为0,则代表其对应的簇未使用,即可以被分配给新数据使用。
本发明涉及的数据区中,存储文件内容的区域统称为数据区。某个文件所有的数据都存储在数据区内。这些数据可能是一些连续的簇,也可能是一些分隔开的簇。文件对应的目录项,存在标识表明文件存储的数据是否是连续的、还是分隔开的。
本发明涉及的文件目录项中,目录项是exFAT文件系统的重要组成部分。分区中的每个文件和文件夹都被分配成一个或多个长度为32字节的目录项。这些目录项纪录了该文件或文件夹的属性、大小、起始簇号、名称、时间、日期等信息。
对于分区根目录下的文件和文件夹的目录项,存储于根目录数据区内。而其它子文件和子文件夹的目录项,则存储于数据区内。根目录数据区的开始簇号、数据长度在引导记录数据中存储。
用户的文件至少存在三个目录项。也就是将待擦除文件的路径拆分成数组包括根目录及根目录对应的至少一个子目录。这些目录项可称之为三个属性。
属性一目录项的结构如下所示:
目录项标识:占1个字节,为固定值0x85
附属目录项个数:占1个字节,除却当前目录项之外其它目录项个数。
校验和:占2个字节。
文件属性:占4个字节。
文件创建时间:占4个字节。
文件最后修改时间:占4个字节。
文件最后访问时间:占4个字节。
文件创建时间:占1个字节,精确到10毫秒。
保留数据:占11个字节。
属性二目录项的结构如下所示:
目录项标识:占1个字节,为固定值0xC0
文件碎片标识:占1个字节。
保留字节:占1个字节。
文件名称字符数:占1个字节,文件名称用uncide字符组成。
文件名hash值:占2个字节。
保留字节:占2个字节。
文件大小1:占8个字节,文件的字节数。
保留字节:占4个字节。
起始簇号:占4个字节。
文件大小2:占8个字节,有其它用途,一般和文件大小1数值一致。
属性三目录项结构如下所示:
目录项标识:占1个字节,为固定值0xC1
保留字节:占1个字节。
文件名称:unicode编码的文件名称。
属性三目录项用来记录文件的名称。如果文件名很长,则可能包含多个属性三目录项。将属性三目录项的名称数据拼接起来,就是文件或文件夹的完整名称。
基于上述说明,本发明涉及的方法包括:如图1所示,
S1,获取分区所在卷的读写句柄;
S2,读取所述分区的引导记录数据及分区文件分配表;
S3,从所述分区的起始扇区,读取分区文件分配表的所有数据;
S4,将待擦除文件的路径拆分成数组;
S5,读取数组的根目录数据;
S6,遍历上一步读取的根目录数据,确定根目录数据所占用的所有簇的个数以及簇号;
S7,若文件使用的字节数小于文件占用的所有簇的字节数,则表示存在剩余空间;反之不存在剩余空间。
本发明中,要擦除文件的剩余空间,需要准确获取文件的剩余空间的长度和所在位置。
本发明通过文件对应的目录项,可获得该文件数据起始簇号、分配长度等信息。将文件分配大小和使用大小进行对比:如果使用大小少于文件分配大小,则代表该文件存在剩余空间。反之,则代表该文件没有剩余空间。文件分配大小减去文件使用大小,即为文件剩余空间的长度。
根据文件占用的簇信息,找到文件所占用的最后一个簇的最后一个扇区,通过计算判断文件数据是否占满这一个扇区。如果占满这个扇区,则余下其它的簇都是剩余空间。如果不占满这个扇区,则该扇区未使用的空间和余下簇也都是剩余空间。获取到了存储位置,即可对文件的剩余空间进行多次擦写。
为了进一步说明本发明的实施方式,下面以具体实现步骤来进行描述。
假如一个分区D盘,文件系统为exFAT,需要擦除D:\dir1\dir2\123.txt这个文件的剩余空间,编写程序进行以下步骤:
1)获取分区所在卷的读写句柄。后续步骤都通过这个句柄进行磁盘扇区数据的读写。
2)读取分区的引导记录数据。获算分区文件分配表(以下简称FAT表)占用的总长度,以下记作FatLength。FatLength=每扇区字节数(以下记作BytePerSector)乘以文件分配表占用的扇区数(以下记作FatSector)。
3)从FAT表的起始扇区,连续读取FatLength长的数据,即读取出FAT表的所有数据备用。
4)将待擦除文件的绝对路径拆分成数组,例如:将D:\dir1\dir2\123.txt,拆分成D:、dir1、dir2、123.txt。
5)读取根目录数据。根据分区首簇开始扇区号(以下记作FS)、根目录的起始簇号(以下记作RS)、每簇扇区数(记作SPC),计算出根目录数据相对于分区开始偏移的扇区数(记作SC):SC=FS+(RS-2)*SPC。再通过FAT表中根目录对应的FAT项的值,确定根目录所占用的所有簇的编号,从而依次将这些簇占用的扇区数据读取出来。
6)遍历上一步读取的根目录数据,找到属性三所存储的文件名称为dir1的目录项。
7)根据dir1的属性二目录项中存储的起始簇号和文件大小,采用步骤4中的算法,读取出dir1存储的所有数据。
8)遍历上一步读取的dir1的目录数据,找到属性三所存储的文件名为dir2的目录项。
9)根据dir2的属性二目录项中存储的起始簇号和文件大小,采用步骤4中的算法,读取出dir2存储的所有数据。
10)遍历上一步读取的dir2的目录数据,找到属性三所存储的文件名为123.txt的目录项。
11)123.txt的属性二目录项中存储了文件实际使用的字节数,采用步骤4的算法可确定该文件所占用的所有簇的个数以及簇号。
12)若文件使用的字节数小于文件占用的所有簇的字节数,则表示存在剩余空间。反之不存在。文件剩余空间字节数等于文件占用的总字节数减去使用字节数。
13)剩余空间的字节数对每扇区字节数取整,可计算出整扇区都是剩余空间的扇区的总数;对其取余,可计算出文件使用的最后一个扇区中属于剩余空间的字节数。
14)至此,已将该文件剩余空间的分布全部获取出来。遍历文件的每一个簇,如果该簇是文件数据使用的最后一个簇,则根据实际将不满一扇的剩余空间进行覆写擦除。余下的簇都是剩余空间数据,可全部覆写擦除。
基于上述方法,本发明还提供一种擦除exFAT分区文件剩余空间系统,如图2所示,包括:读取模块1,拆分模块2以及擦除模块3;
所述读取模块1用于获取分区所在卷的读写句柄;
读取所述分区的引导记录数据及分区文件分配表;
从所述分区的起始扇区,读取分区文件分配表的所有数据;
拆分模块2将待擦除文件的路径拆分成数组;
以及拆分之后,读取模块用以读取数组的根目录数据;
擦除模块3用于遍历上一步读取的根目录数据,确定根目录数据所占用的所有簇的个数以及簇号;若文件使用的字节数小于文件占用的所有簇的字节数,则表示存在剩余空间;反之不存在剩余空间。
这里所描述的技术可以实现在硬件,软件,固件或它们的任何组合。所述的各种特征为模块,单元或组件可以一起实现在集成逻辑装置或分开作为离散的但可互操作的逻辑器件或其他硬件设备。在一些情况下,电子电路的各种特征可以被实现为一个或多个集成电路器件,诸如集成电路芯片或芯片组。
如果在硬件中实现,本发明涉及一种装置,例如可以作为处理器或者集成电路装置,诸如集成电路芯片或芯片组。可替换地或附加地,如果软件或固件中实现,所述技术可实现至少部分地由计算机可读的数据存储介质,包括指令,当执行时,使处理器执行一个或更多的上述方法。例如,计算机可读的数据存储介质可以存储诸如由处理器执行的指令。
基于上述方法和系统本发明还提供一种实现擦除exFAT分区文件剩余空间的方法的设备,包括:存储器,用于存储计算机程序及擦除exFAT分区文件剩余空间的方法;处理器,用于执行所述计算机程序及擦除exFAT分区文件剩余空间的方法,以实现擦除exFAT分区文件剩余空间的方法的步骤。
实现擦除exFAT分区文件剩余空间的方法的设备是结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在擦除exFAT分区文件剩余空间的方法的设备的存储介质中,存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种擦除exFAT分区文件剩余空间的方法,其特征在于,方法包括:
S1,获取分区所在卷的读写句柄;
S2,读取所述分区的引导记录数据及分区文件分配表;
S3,从所述分区的起始扇区,读取分区文件分配表的所有数据;
S4,将待擦除文件的路径拆分成数组;
S5,读取数组的根目录数据;
S6,遍历上一步读取的根目录数据,确定根目录数据所占用的所有簇的个数以及簇号;
S7,若文件使用的字节数小于文件占用的所有簇的字节数,则表示存在剩余空间;反之不存在剩余空间。
2.根据权利要求1所述的方法,其特征在于,方法还包括:
文件剩余空间字节数等于文件占用的总字节数减去使用字节数。
3.根据权利要求1所述的方法,其特征在于,方法还包括:
剩余空间的字节数对每扇区字节数取整,可计算出整扇区都是剩余空间的扇区的总数;对其取余,可计算出文件使用的最后一个扇区中属于剩余空间的字节数。
4.根据权利要求1所述的方法,其特征在于,方法还包括:
遍历文件的每一个簇,如果所述簇是文件数据使用的末端簇,则将所述末端簇对应扇区的剩余空间进行覆写擦除;
末端簇之后的簇,均为剩余空间数据,全部进行覆写擦除。
5.根据权利要求1所述的方法,其特征在于,
根据步骤S1获取的分区所在卷的读写句柄,进行磁盘扇区数据的读写。
6.根据权利要求1所述的方法,其特征在于,步骤S2还包括:
获取分区文件分配表占用的总长度;
总长度=每扇区字节数乘以文件分配表占用的扇区数。
7.根据权利要求1所述的方法,其特征在于,步骤S3还包括:
从分区文件分配表的起始扇区,连续读取分区文件分配表占用的总长度数据;
获悉分区文件分配表的所有数据。
8.根据权利要求1所述的方法,其特征在于,
步骤S4中,将待擦除文件的路径拆分成数组包括根目录及根目录对应的至少一个子目录;其中,第一文件名称目录项为根目录,第二文件名称目录项为一级子目录,第三文件名称目录项为二级子目录;
步骤S5中,读取根目录数据;
根据分区首簇开始扇区号FS、根目录的起始簇号RS、每簇扇区数SPC,计算出根目录数据相对于分区开始偏移的扇区数SC:SC=FS+(RS-2)*SPC;
通过分区文件分配表中根目录对应的FAT项的值,确定根目录所占用的所有簇的编号,依次将簇占用的扇区数据读取出来;
遍历读取的根目录数据,找到预设属性三所存储的第一文件名称目录项;
根据第一文件名称目录项的预设属性二目录项中存储的起始簇号和文件大小,读取出第一文件名称目录项存储的所有数据;
遍历上一步读取的第一文件名称目录项的目录数据,找到预设属性三所存储的第二文件名称目录项;
根据第二文件名称目录项的预设属性二目录项中存储的起始簇号和文件大小,读取出第二文件名称目录项存储的所有数据;
遍历上一步读取的第二文件名称目录项的目录数据,找到预设属性三所存储的第三文件名称目录项;
获取第三文件名称目录项的预设属性二目录项中存储文件使用的字节数,确定待擦除文件占用的所有簇的个数以及簇号。
9.一种擦除exFAT分区文件剩余空间系统,其特征在于,采用如权利要求1至8任一所述的擦除exFAT分区文件剩余空间的方法;
包括:读取模块,拆分模块以及擦除模块;
所述读取模块用于获取分区所在卷的读写句柄;
读取所述分区的引导记录数据及分区文件分配表;
从所述分区的起始扇区,读取分区文件分配表的所有数据;
拆分模块将待擦除文件的路径拆分成数组;
以及拆分之后,读取模块用以读取数组的根目录数据;
擦除模块用于遍历上一步读取的根目录数据,确定根目录数据所占用的所有簇的个数以及簇号;
若文件使用的字节数小于文件占用的所有簇的字节数,则表示存在剩余空间;反之不存在剩余空间。
10.一种实现擦除exFAT分区文件剩余空间的方法的设备,其特征在于,包括:
存储器,用于存储计算机程序及擦除exFAT分区文件剩余空间的方法;
处理器,用于执行所述计算机程序及擦除exFAT分区文件剩余空间的方法,以实现如权利要求1至8任意一项所述擦除exFAT分区文件剩余空间的方法的步骤。
CN202010573621.4A 2020-06-22 2020-06-22 一种擦除exFAT分区文件剩余空间的方法,系统及设备 Active CN111831224B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010573621.4A CN111831224B (zh) 2020-06-22 2020-06-22 一种擦除exFAT分区文件剩余空间的方法,系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010573621.4A CN111831224B (zh) 2020-06-22 2020-06-22 一种擦除exFAT分区文件剩余空间的方法,系统及设备

Publications (2)

Publication Number Publication Date
CN111831224A true CN111831224A (zh) 2020-10-27
CN111831224B CN111831224B (zh) 2024-04-19

Family

ID=72897993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010573621.4A Active CN111831224B (zh) 2020-06-22 2020-06-22 一种擦除exFAT分区文件剩余空间的方法,系统及设备

Country Status (1)

Country Link
CN (1) CN111831224B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114610228A (zh) * 2021-04-29 2022-06-10 深圳宏芯宇电子股份有限公司 文件管理系统及其文件管理方法、装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7275139B1 (en) * 2004-12-02 2007-09-25 Tormasov Alexander G Secure deletion of information from hard disk drive
KR20070111076A (ko) * 2006-05-16 2007-11-21 주식회사 더다인 하드 디스크 데이터 영구 삭제 방법
CN102354302A (zh) * 2011-09-28 2012-02-15 奇智软件(北京)有限公司 一种擦除磁盘的方法及装置
CN106155570A (zh) * 2015-04-07 2016-11-23 北京中科同向信息技术有限公司 一种存储介质的信息消除技术
CN106372080A (zh) * 2015-07-22 2017-02-01 安恒通(北京)科技有限公司 一种文件清除方法、装置和系统
CN106909308A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 在终端设备上进行信息擦除的方法及装置
CN107943415A (zh) * 2017-11-10 2018-04-20 珠海市杰理科技股份有限公司 基于fat文件系统的查找空闲簇的方法和系统
CN108962321A (zh) * 2017-05-17 2018-12-07 置富科技(深圳)股份有限公司 一种擦除存储芯片的方法及装置
CN109683819A (zh) * 2018-12-18 2019-04-26 武汉大学 一种磁盘文件的内容不可逆地软删除方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7275139B1 (en) * 2004-12-02 2007-09-25 Tormasov Alexander G Secure deletion of information from hard disk drive
KR20070111076A (ko) * 2006-05-16 2007-11-21 주식회사 더다인 하드 디스크 데이터 영구 삭제 방법
CN102354302A (zh) * 2011-09-28 2012-02-15 奇智软件(北京)有限公司 一种擦除磁盘的方法及装置
CN106155570A (zh) * 2015-04-07 2016-11-23 北京中科同向信息技术有限公司 一种存储介质的信息消除技术
CN106372080A (zh) * 2015-07-22 2017-02-01 安恒通(北京)科技有限公司 一种文件清除方法、装置和系统
CN106909308A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 在终端设备上进行信息擦除的方法及装置
CN108962321A (zh) * 2017-05-17 2018-12-07 置富科技(深圳)股份有限公司 一种擦除存储芯片的方法及装置
CN107943415A (zh) * 2017-11-10 2018-04-20 珠海市杰理科技股份有限公司 基于fat文件系统的查找空闲簇的方法和系统
CN109683819A (zh) * 2018-12-18 2019-04-26 武汉大学 一种磁盘文件的内容不可逆地软删除方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114610228A (zh) * 2021-04-29 2022-06-10 深圳宏芯宇电子股份有限公司 文件管理系统及其文件管理方法、装置

Also Published As

Publication number Publication date
CN111831224B (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
KR101404083B1 (ko) 반도체 디스크 및 그것의 동작 방법
US7809779B2 (en) Method of creating symbolic link capable of being compatible with file system, and method and apparatus for accessing file or directory by using symbolic link
JP4206688B2 (ja) データ処理装置及びデータ処理方法
US6173291B1 (en) Method and apparatus for recovering data from damaged or corrupted file storage media
US7519806B2 (en) Virtual partition for recording and restoring computer data files
US7861311B2 (en) Apparatus and method of managing hidden area
US7146455B2 (en) System and method for optimized access to memory devices requiring block writing
US8370602B2 (en) Method for memory space management
US20070043924A1 (en) Method for controlling memory card and method for controlling nonvolatile semiconductor memory
CN108733306B (zh) 一种文件合并方法及装置
JP2734391B2 (ja) 不揮発性メモリのファイル管理装置
US20090240750A1 (en) Memory system and data access method
US20050144501A1 (en) Method for recovering data in EXT2 file system, and computer-readable storage medium recorded with data-recovery program
JP2003196142A (ja) ライトワンス型メモリ装置及びファイル管理方法
US7350049B1 (en) Method and apparatus for managing access to a file allocation table
CN101582084B (zh) 一种数据存储的方法及装置
CN106709014B (zh) 一种文件系统转换方法及装置
US20060004969A1 (en) High-speed accessible memory featuring reduced data movement
CN110795386B (zh) 一种数据写入方法和服务端
CN111831224B (zh) 一种擦除exFAT分区文件剩余空间的方法,系统及设备
KR100987320B1 (ko) 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법
US7167964B1 (en) Memory defragmentation in chipcards
JP2011076441A (ja) 情報記録装置、情報記録方法及び情報記録用プログラム
CN111143110A (zh) 一种逻辑卷管理中基于元数据的raid数据恢复方法
CN113010107B (zh) 数据存储管理方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant