CN106372080A - 一种文件清除方法、装置和系统 - Google Patents
一种文件清除方法、装置和系统 Download PDFInfo
- Publication number
- CN106372080A CN106372080A CN201510434406.5A CN201510434406A CN106372080A CN 106372080 A CN106372080 A CN 106372080A CN 201510434406 A CN201510434406 A CN 201510434406A CN 106372080 A CN106372080 A CN 106372080A
- Authority
- CN
- China
- Prior art keywords
- file
- file destination
- mft
- cluster
- positioning
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种文件清除方法、装置和系统,其中方法包括:依据目标文件全路径,定位目标文件父目录所在簇在分区中的偏移;从所述父目录所在簇开始,按照设置的扇区单位逐次定位目标文件目录项,直至定位成功或者定位到的扇区单位中的目录项无效;若定位成功,则用垃圾码填充目标文件目录项的第一个字节,并根据目标文件目录项信息和文件分配表(FAT),定位并清除目标文件数据。只要获取目标文件全路径,就能够通过本发明提供的方式实现针对FAT32文件系统的文件彻底清除。除此之外,本发明还提供了一种同时适用于FAT32和NTFS文件系统的全局方法和系统。
Description
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种文件清除方法、装置和系统。
【背景技术】
在我们使用计算机的过程中,经常会遇到某些数据无法删除,某些恶意软件无法卸载,甚至一些病毒下载后无法清除的情况。对于普通用户来说,遇到此类情况时,往往不知道该如何处理,这就会给计算机在使用过程中的安全性带来隐患。特别是对于FAT32文件系统而言,目前尚没有很好的能够彻底清除文件的方法,而现行大多数U盘及可移动硬盘还是使用FAT32文件系统。
【发明内容】
有鉴于此,本发明提供了一种文件清除方法、装置和系统,适用于FAT32文件系统的文件彻底清除。
具体技术方案如下:
本发明提供了一种文件清除方法,该方法包括:
依据目标文件全路径,定位目标文件父目录所在簇在分区中的偏移;
从所述父目录所在簇开始,按照设置的扇区单位逐次定位目标文件目录项,直至定位成功或者定位到的扇区单位中的目录项无效;
若定位成功,则用垃圾码填充目标文件目录项的第一个字节,并根据目标文件目录项信息和文件分配表FAT,定位并清除目标文件数据。
根据本发明一优选实施方式,所述定位目标文件父目录所在簇在分区中的偏移包括:
依据所述目标文件全路径包含的路径信息,获取目标文件句柄;
依据所述目标文件句柄,获取目标文件对象;
利用所述目标文件对象以及所述目标文件对象所在的设备对象,确定目标文件父目录所在簇在分区中的偏移。
根据本发明一优选实施方式,从所述父目录所在簇开始,按照设置的扇区单位逐次定位目标文件目录项包括:
如果所述父目录所在簇未定位到目标文件目录项,则依据FAT确定下一个所述父目录所在的簇;
在下一个所述父目录所在的簇中执行所述按照设置的扇区单位逐次定位目标文件目录项,如果仍未定位到目标文件目录项,则转至执行所述依据FAT确定下一个所述父目录所在的簇。
根据本发明一优选实施方式,所述依据设置的扇区单位逐次定位目标文件目录项包括:
将定位到的扇区单位中所包含的目录项信息与所述目标文件全路径包含的文件名信息进行匹配,如果匹配成功,则确定匹配到的目录项为定位得到的目标文件目录项;否则定位失败。
根据本发明一优选实施方式,判断所述目标文件全路径中包含的文件名类型是长文件名还是短文件名;
如果是长文件名,则所述设置的扇区单位包含两个扇区;
如果是短文件名,则所述设置的扇区单位包含一个扇区。
根据本发明一优选实施方式,所述垃圾码包括0xE5。
本发明还提供了一种文件清除方法,该方法包括:
获取目标文件全路径;
根据所述目标文件全路径包含的盘符信息,获取分区引导扇区DBR信息;
根据所述DBR信息判断目标文件所在的文件系统类型;
如果是FAT32文件系统,则继续执行如权利要求1至6任一权项所述的方法。
根据本发明一优选实施方式,该方法还包括:
如果判断出目标文件所在的文件系统类型是新技术文件系统NTFS,则定位主文件表MFT偏移;
从所述MFT偏移处定位目标文件MFT项;
如果所述目标文件MFT项中的数据属性为常驻属性,则清除所述目标文件MFT项;否则,根据所述目标文件MFT项中的数据属性,定位并清除目标文件数据。
根据本发明一优选实施方式,所述定位MFT偏移包括:
定位文件系统DBR;
根据文件系统DBR包含的MFT起始簇号和每簇扇区数,定位MFT偏移。
根据本发明一优选实施方式,从所述MFT中定位目标文件MFT项包括:
将所述目标文件全路径包含的文件名信息与所述MFT中各MFT项的文件名属性信息进行匹配,将匹配得到的MFT项确定为目标文件MFT项。
根据本发明一优选实施方式,根据所述目标文件MFT项中的数据属性,定位并清除目标文件数据包括:
获取所述目标文件MFT项中的数据属性包含的簇流列表;
从所述簇流列表中获取目标文件数据的簇偏移和大小;
清除所述簇偏移和大小所对应的磁盘空间。
本发明提供了一种文件清除装置,该装置包括:
第一定位单元,用于依据目标文件全路径,定位目标文件父目录所在簇在分区中的偏移;
第二定位单元,用于从所述父目录所在簇开始,按照设置的扇区单位逐次定位目标文件目录项,直至定位成功或者定位到的扇区单位中的目录项无效;
第一清除单元,用于若所述第二定位单元定位成功,则用垃圾码填充目标文件目录项的第一个字节,并根据目标文件目录项信息和文件分配表FAT,定位并清除目标文件数据。
根据本发明一优选实施方式,所述第一定位单元,具体用于依据所述目标文件全路径包含的路径信息,获取目标文件句柄;依据所述目标文件句柄,获取目标文件对象;利用所述目标文件对象以及所述目标文件对象所在的设备对象,确定目标文件父目录所在簇在分区中的偏移。
根据本发明一优选实施方式,所述第二定位单元如果在所述父目录所在簇未定位到目标文件目录项,则依据FAT确定下一个所述父目录所在的簇;在下一个所述父目录所在的簇中执行所述按照设置的扇区单位逐次定位目标文件目录项,如果仍未定位到目标文件目录项,则转至执行所述依据FAT确定下一个所述父目录所在的簇的操作。
根据本发明一优选实施方式,所述第二定位单元在按照设置的扇区单位逐次定位目标文件目录项时,具体执行:
将定位到的扇区单位中所包含的目录项信息与所述目标文件全路径包含的文件名信息进行匹配,如果匹配成功,则确定匹配到的目录项为定位得到的目标文件目录项;否则定位失败。
根据本发明一优选实施方式,该装置还包括:
第一判断单元,用于判断所述目标文件全路径中包含的文件名类型是长文件名还是短文件名;
所述第二定位单元在所述第一判断单元判断出是长文件名时,设置两个扇区作为扇区单位;在所述第一判断单元判断出是短文件名时,设置一个扇区作为扇区单位。
根据本发明一优选实施方式,所述第一清除单元采用的垃圾码包括0xE5。
本发明还提供了一种文件清除系统,该系统包括:
路径获取单元,用于获取目标文件全路径;
DBR获取单元,用于根据所述目标文件全路径包含的盘符信息,获取分区引导扇区DBR信息;
第二判断单元,用于根据所述DBR信息判断目标文件所在的文件系统类型,如果是FAT32文件系统,则触发如权利要求12至17所述的装置执行文件清除处理。
根据本发明一优选实施方式,该系统还包括:NTFS文件清除装置;
所述第二判断单元如果判断出是NTFS文件系统,则触发所述NTFS文件清除装置执行文件清除处理;
所述NTFS文件清除装置包括:
第三定位单元,用于定位MFT偏移;
第四定位单元,用于从所述MFT偏移处定位目标文件MFT项;
第二清除单元,用于如果所述目标文件MFT项中的数据属性为常驻属性,则清除所述目标文件MFT项;否则,根据所述目标文件MFT项中的数据属性,定位并清除目标文件数据。
根据本发明一优选实施方式,所述第三定位单元,具体用于:
定位文件系统DBR;
根据文件系统DBR包含的MFT起始簇号和每簇扇区数,定位MFT偏移。
根据本发明一优选实施方式,所述第四定位单元,具体用于将所述目标文件全路径包含的文件名信息与所述MFT中各MFT项的文件名属性信息进行匹配,将匹配得到的MFT项确定为目标文件MFT项。
根据本发明一优选实施方式,所述第二清除单元在根据所述目标文件MFT项中的数据属性,定位并清除目标文件数据时,具体执行:
获取所述目标文件MFT项中的数据属性包含的簇流列表;
从所述簇流列表中获取目标文件数据的簇偏移和大小;
清除所述簇偏移和大小所对应的磁盘空间。
由以上技术方案可以看出,只要获取目标文件全路径,就能够通过本发明提供的方式实现针对FAT32文件系统的文件彻底清除。
【附图说明】
图1为本发明实施例提供的全局架构的处理流程图;
图2为本发明实施例提供的针对FAT32文件系统的文件清除方法流程图;
图3为本发明实施例提供的针对NTFS文件系统的文件清除方法流程图;
图4为本发明实施例提供的文件清除系统的结构图;
图5为本发明实施例提供的FAT文件清除装置的结构图;
图6为本发明实施例提供的NTFS文件清除装置的结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在本发明实施例中,可以针对不同的文件系统类型提供具体的文件清除方式,具体地,针对FAT32文件系统和NTFS(New Technology File System,新技术文件系统)文件系统分别提供文件清除方式,另外提供了一个全局架构,该架构集成了对两种文件系统类型的处理方式,用户不需要识别文件系统各类型,仅需要利用该全局架构封装得到的工具对文件进行清除即可。下面分别通过实施例进行描述。
图1为本发明实施例提供的全局架构的处理流程图,如图1中所示,该处理流程可以包括以下步骤:
在101中,获取目标文件全路径。
用户在利用该全局架构封装得到的工具进行文件清除时,首先输入目标文件全路径,这里的目标文件指的就是要删除的文件。本步骤可以由应用层触发,通过用户输入的参数来确定目标文件全路径。
所谓全路径指的是从根目录开始的路径,例如在windows操作系统下“C:\abcd\abcd\a.txt”就是一个全路径,其中,“C:”是盘符信息,“a.txt”是文件名信息。全路径能够唯一定位一个文件或文件夹。
在102中,根据目标文件全路径包含的盘符信息,获取分区DBR(引导扇区)信息。
分区DBR是每个分区的前512个字节,描述了分区文件系统的基本信息,其中包括文件系统类型信息。
在103中,依据DBR信息判断目标文件所在的文件系统类型,如果是FAT32文件系统,则按照图2中所示流程执行;如果是NTFS文件系统,则按照图3所示流程执行。
图2为本发明实施例提供的针对FAT32文件系统的文件清除方法流程图,如图2中所示,可以包括以下步骤:
在201中,定位目标文件父目录所在簇在分区中的偏移。
在本步骤中,可以首先依据目标文件的全路径包含的路径信息,获取目标文件句柄(filehandle),具体可以通过调用函数iocreatefile()来获取filehandle。
然后依据filehandle,获取目标文件对象(fileobject),具体可以通过调用函数obreferenceobjectbyhandle()来获取fileobject。
接着利用fileobject以及fileobject所在的设备对象,确定目标文件父目录所在簇在分区中的偏移,具体地,可以构造io请求包,该io请求包中携带获取父目录所在簇在分区中偏移的指令(FSCTL_GET_RETRIEVAL_POINTERS)以及上述fileobject,将该io请求包发送给fileobject所在的设备对象,从而获取目标文件父目录所在簇在分区中的偏移。
从定位出的偏移处开始是该目标文件父目录包含的文件和子目录的目录项信息。
在202中,判断目标文件的文件名类型是长文件名还是短文件名,如果是长文件名,则执行203;如果是短文件名,则执行204。
在本步骤中,可以依据目标文件全路径中包含的文件名信息来进行判断,如果文件名长度超过8个字符,则确定为长文件名,否则确定为短文件名,短文件名包括通常所说的8.3格式的文件名,所谓8.3格式就是文件名不能超过8个字符,后缀也就是扩展名不超过3个字符。
在203中,设置定位目标文件目录项的单位为两个扇区,执行205。
如果是长文件名类型,则FAT32文件系统除了记录长文件名之外,还可以用一个目录项记录它的短文件名形式,这样一个文件的信息可能就会跨扇区,甚至跨簇,所以就需要以两个扇区为单位来进行目标文件目录项的定位。
在204中,设置定位目标文件目录项的单位为一个扇区。
如果是短文件名类型,则每个文件只占32个字节的目录项,逐扇区进行匹配即可。
在205中,在父目录所在簇中按照设置的单位逐次定位目标文件目录项。
在本步骤中,如果设置的单位是两个扇区,可以将两个扇区中所包含的目录项信息与目标文件全路径包含的文件名信息进行匹配,如果匹配成功,则定位成功,确定匹配到的目录项为定位得到的目标文件目录项;否则定位失败,在下两个扇区中继续进行定位。
如果设置的单位是一个扇区,则可以将一个扇区中包含的目录项信息与目标文件全路径包含的文件名信息进行匹配,如果匹配成功,则定位成功,确定匹配到的目录项为定位得到的目标文件目录项;否则定位失败,在下一个扇区中继续进行定位。
在206中,判断是否定位成功,如果定位失败,则执行207;如果定位成功,则执行208。
本步骤中的定位失败指的是在一个簇中都未定位到目标文件目录项。
在207中,依据FAT确定下一个所述父目录所在的簇,在下一个父目录所在的簇中按照设置的单位逐次定位目标文件目录项,转至206。
在有些情况下,父目录下存在很多目录文件,这就会造成父目录的内容超过一个簇的大小,对于这种情况,可以通过FAT查找父目录的下一个有效粗,即上述的下一个父目录所在的簇,在该簇中继续定位。
另外,如果定位到的扇区包含的目录项无效(例如目录项全为零),则也结束流程。
在208中,用垃圾码填充目标文件目录项的第一个字节,并根据目标文件目录项信息和FAT,定位并清除目标文件数据,结束流程。
如果定位成功,则可以用垃圾码来填充目标文件目录项的第一个字节,以表示该文件已经被删除。目录项的第一个字节通常会有一些特定的值来只是特定含义,在本发明实施例中使用的垃圾码通常不得与这些特定的值相冲突,但除了0xE5之外。因为0xE5本身就用于指示对应文件已被删除。也就是说,垃圾码可以采用0xE5,也可以采用其他垃圾码进行填充。
然后根据目标文件目录项信息和FAT,可以定位到目标文件数据,FAT的作用是记录硬盘中有关文件如何被分散存储在不同扇区的信息,目录项信息中包含文件属性、大小等信息,依据FAT和目录项信息就可以确定目标文件数据存放在磁盘空间的哪些位置,将这些位置的数据清零即可。
图3为本发明实施例提供的针对NTFS文件系统的文件清除方法流程图,如图3所示,可以包括以下步骤:
在301中,定位MFT(主文件表)偏移。
由于文件系统DBR中包含了MFT起始簇号和每簇包含的扇区数,依据MFT起始簇号和每簇包含的扇区数就可以定位得到MFT偏移。从该偏移处开始包含各MFT项。
在302中,从MFT偏移处定位目标文件MFT项。
MFT为每一个文件保存着一组称为“属性”的记录,每个属性存储了不同类型的信息。MFT项中属性部分标记为0x30的属性表示文件名属性($FILE_NAME),包含文件名属性信息,将各MFT项的文件名属性信息与目标文件名信息进行匹配,将匹配得到的MFT项确定为目标文件MFT项。
在303中,判断目标文件MFT项中的数据属性是否为常驻属性,如果是,执行304;否则,执行305。
MFT项中标记为0x80的属性表示数据属性($DATA),判断该数据属性是否为常驻属性,如果是常驻属性,则表示目标文件数据较小,对于这类文件数据通常作为常驻属性直接记录在MFT项中,因此在304中,清除该目标文件的MFT项即可实现对目标文件数据的删除。
如果不是常驻属性,则说明目标文件数据较大,通常超过大约700字节时MFT就会另外为文件分配簇空间进行存储。那么在305中,根据目标文件MFT项中的数据属性,定位并清除目标文件数据。这种情况下,目标文件MFT项中的数据属性包含簇流列表,该簇流列表中描述了目标文件真正的数据内容存放的位置,体现为簇偏移和大小,依据该簇偏移和大小就能够定位到目标文件数据所在的磁盘空间,清除该簇偏移和大小对应的磁盘空间即可。在清除时,可以将磁盘空间清零或者用垃圾码填充。
需要说明的是,上述图2和图3所示的流程可以脱离图1所示的全局架构单独执行。
以上是对本发明所提供的方法进行的详细描述,下面对本发明所提供的系统和装置进行详细描述。
图4为本发明实施例提供的文件清除系统的结构图,该系统是一个全局架构,如图4所示,该系统可以包括:路径获取单元01、DBR获取单元02、第二判断单元03、FAT文件清除装置10和NTFS文件清除装置20。
其中,路径获取单元01负责获取目标文件全路径。用户在利用该全局架构封装得到的工具进行文件清除时,首先输入目标文件全路径。路径获取单元01可以通过用户输入的参数来确定目标文件全路径。
DBR获取单元02负责根据目标文件全路径包含的盘符信息,获取分区引导扇区DBR信息。
第二判断单元03负责根据DBR信息判断目标文件所在的文件系统类型,如果是FAT32文件系统,则触发FAT文件清除装置10执行文件清除处理;如果是NTFS文件系统,则触发NTFS文件清除装置20执行文件清除处理。
图5为本发明实施例提供的FAT文件清除装置的结构图,如图5所示,FAT文件清除装置10可以具体包括:第一定位单元11、第二定位单元12和第一清除单元13,还可以进一步包括第一判断单元14。
第一定位单元11负责依据目标文件全路径,定位目标文件父目录所在簇在分区中的偏移。具体地,第一定位单元11可以依据目标文件全路径包含的路径信息,获取目标文件句柄;依据目标文件句柄,获取目标文件对象;利用目标文件对象以及目标文件对象所在的设备对象,确定目标文件父目录所在簇在分区中的偏移。
第二定位单元12负责从目标文件父目录所在簇开始,按照设置的扇区单位逐次定位目标文件目录项,直至定位成功或者定位到的扇区单位中的目录项无效。其中,第二定位单元12在按照设置的扇区单位逐次定位目标文件目录项时,可以将定位到的扇区单位中所包含的目录项信息与目标文件全路径包含的文件名信息进行匹配,如果匹配成功,则确定匹配到的目录项为定位得到的目标文件目录项;否则定位失败。
若第二定位单元12定位成功,则第一清除单元13负责用垃圾码填充目标文件目录项的第一个字节,以表示该文件已经被删除。其中垃圾码可以采用0xE5,也可以采用其他垃圾码进行填充。并根据目标文件目录项信息和文件分配表FAT,定位并清除目标文件数据。
另外,第二定位单元12如果在父目录所在簇未定位到目标文件目录项,则依据FAT确定下一个父目录所在的簇;在下一个父目录所在的簇中执行按照设置的扇区单位逐次定位目标文件目录项的操作,如果仍未定位到目标文件目录项,则转至执行依据FAT确定下一个父目录所在的簇的操作。
第一判断单元14负责判断目标文件全路径中包含的文件名类型是长文件名还是短文件名。具体可以依据目标文件全路径中包含的文件名信息来进行判断,如果文件名长度超过8个字符,则确定为长文件名,否则确定为短文件名。
第一判断单元14判断出是长文件名时,第二定位单元12设置两个扇区为扇区单位;第一判断单元14判断出是短文件名时,第二定位单元12设置一个扇区为扇区单位。
图6为本发明实施例提供的NTFS文件清除装置的结构图,如图6所示,NTFS文件清除装置20可以具体包括:第三定位单元21、第四定位单元22和第二清除单元23。
第三定位单元21负责定位MFT偏移。具体地,第三定位单元21可以首先定位文件系统DBR,然后根据文件系统DBR包含的MFT起始簇号和每簇扇区数,定位MFT偏移。
第四定位单元22负责从MFT偏移处定位目标文件MFT项。具体地,第四定位单元22可以将目标文件全路径包含的文件名信息与MFT中各MFT项的文件名属性信息进行匹配,将匹配得到的MFT项确定为目标文件MFT项。
如果目标文件MFT项中的数据属性为常驻属性,则表示目标文件数据较小,对于这类文件数据通常作为常驻属性直接记录在MFT项中,因此第二清除单元12清除目标文件MFT项。否则,说明目标文件数据较大,通常超过大约700字节时MFT就会另外为文件分配簇空间进行存储,此时第二清除单元12根据目标文件MFT项中的数据属性,定位并清除目标文件数据。
其中,第二清除单元23在根据目标文件MFT项中的数据属性,定位并清除目标文件数据时,可以获取目标文件MFT项中的数据属性包含的簇流列表,从簇流列表中获取目标文件数据的簇偏移和大小,清除簇偏移和大小所对应的磁盘空间。在清除时,可以将磁盘空间清零或者用垃圾码填充。
由以上描述可以看出,本发明提供的方法、装置和系统具备以下优点:
1)本发明分别针对FAT32文件系统和NTFS文件系统提供了各自的文件清除方式,特别是针对FAT32文件系统,只要获取目标文件全路径就能够通过本发明提供的方式实现文件的彻底删除。
2)本发明提供给了一种全局框架,使得用户无需自己识别要清除文件所在的文件系统类型,使用该全局框架封装得到的工具就可以对要清除的文件进行清除。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (22)
1.一种文件清除方法,其特征在于,该方法包括:
依据目标文件全路径,定位目标文件父目录所在簇在分区中的偏移;
从所述父目录所在簇开始,按照设置的扇区单位逐次定位目标文件目录项,直至定位成功或者定位到的扇区单位中的目录项无效;
若定位成功,则用垃圾码填充目标文件目录项的第一个字节,并根据目标文件目录项信息和文件分配表FAT,定位并清除目标文件数据。
2.根据权利要求1所述的方法,其特征在于,所述定位目标文件父目录所在簇在分区中的偏移包括:
依据所述目标文件全路径包含的路径信息,获取目标文件句柄;
依据所述目标文件句柄,获取目标文件对象;
利用所述目标文件对象以及所述目标文件对象所在的设备对象,确定目标文件父目录所在簇在分区中的偏移。
3.根据权利要求1所述的方法,其特征在于,从所述父目录所在簇开始,按照设置的扇区单位逐次定位目标文件目录项包括:
如果所述父目录所在簇未定位到目标文件目录项,则依据FAT确定下一个所述父目录所在的簇;
在下一个所述父目录所在的簇中执行所述按照设置的扇区单位逐次定位目标文件目录项,如果仍未定位到目标文件目录项,则转至执行所述依据FAT确定下一个所述父目录所在的簇。
4.根据权利要求1所述的方法,其特征在于,所述依据设置的扇区单位逐次定位目标文件目录项包括:
将定位到的扇区单位中所包含的目录项信息与所述目标文件全路径包含的文件名信息进行匹配,如果匹配成功,则确定匹配到的目录项为定位得到的目标文件目录项;否则定位失败。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:判断所述目标文件全路径中包含的文件名类型是长文件名还是短文件名;
如果是长文件名,则所述设置的扇区单位包含两个扇区;
如果是短文件名,则所述设置的扇区单位包含一个扇区。
6.根据权利要求1所述的方法,其特征在于,所述垃圾码包括0xE5。
7.一种文件清除方法,其特征在于,该方法包括:
获取目标文件全路径;
根据所述目标文件全路径包含的盘符信息,获取分区引导扇区DBR信息;
根据所述DBR信息判断目标文件所在的文件系统类型;
如果是FAT32文件系统,则继续执行如权利要求1至6任一权项所述的方法。
8.根据权利要求7所述的方法,其特征在于,该方法还包括:
如果判断出目标文件所在的文件系统类型是新技术文件系统NTFS,则定位主文件表MFT偏移;
从所述MFT偏移处定位目标文件MFT项;
如果所述目标文件MFT项中的数据属性为常驻属性,则清除所述目标文件MFT项;否则,根据所述目标文件MFT项中的数据属性,定位并清除目标文件数据。
9.根据权利要求8所述的方法,其特征在于,所述定位MFT偏移包括:
定位文件系统DBR;
根据文件系统DBR包含的MFT起始簇号和每簇扇区数,定位MFT偏移。
10.根据权利要求8所述的方法,其特征在于,从所述MFT中定位目标文件MFT项包括:
将所述目标文件全路径包含的文件名信息与所述MFT中各MFT项的文件名属性信息进行匹配,将匹配得到的MFT项确定为目标文件MFT项。
11.根据权利要求8所述的方法,其特征在于,根据所述目标文件MFT项中的数据属性,定位并清除目标文件数据包括:
获取所述目标文件MFT项中的数据属性包含的簇流列表;
从所述簇流列表中获取目标文件数据的簇偏移和大小;
清除所述簇偏移和大小所对应的磁盘空间。
12.一种文件清除装置,其特征在于,该装置包括:
第一定位单元,用于依据目标文件全路径,定位目标文件父目录所在簇在分区中的偏移;
第二定位单元,用于从所述父目录所在簇开始,按照设置的扇区单位逐次定位目标文件目录项,直至定位成功或者定位到的扇区单位中的目录项无效;
第一清除单元,用于若所述第二定位单元定位成功,则用垃圾码填充目标文件目录项的第一个字节,并根据目标文件目录项信息和文件分配表FAT,定位并清除目标文件数据。
13.根据权利要求12所述的装置,其特征在于,所述第一定位单元,具体用于依据所述目标文件全路径包含的路径信息,获取目标文件句柄;依据所述目标文件句柄,获取目标文件对象;利用所述目标文件对象以及所述目标文件对象所在的设备对象,确定目标文件父目录所在簇在分区中的偏移。
14.根据权利要求12所述的装置,其特征在于,所述第二定位单元如果在所述父目录所在簇未定位到目标文件目录项,则依据FAT确定下一个所述父目录所在的簇;在下一个所述父目录所在的簇中执行所述按照设置的扇区单位逐次定位目标文件目录项,如果仍未定位到目标文件目录项,则转至执行所述依据FAT确定下一个所述父目录所在的簇的操作。
15.根据权利要求12所述的装置,其特征在于,所述第二定位单元在按照设置的扇区单位逐次定位目标文件目录项时,具体执行:
将定位到的扇区单位中所包含的目录项信息与所述目标文件全路径包含的文件名信息进行匹配,如果匹配成功,则确定匹配到的目录项为定位得到的目标文件目录项;否则定位失败。
16.根据权利要求12所述的装置,其特征在于,该装置还包括:
第一判断单元,用于判断所述目标文件全路径中包含的文件名类型是长文件名还是短文件名;
所述第二定位单元在所述第一判断单元判断出是长文件名时,设置两个扇区作为扇区单位;在所述第一判断单元判断出是短文件名时,设置一个扇区作为扇区单位。
17.根据权利要求12所述的装置,其特征在于,所述第一清除单元采用的垃圾码包括0xE5。
18.一种文件清除系统,其特征在于,该系统包括:
路径获取单元,用于获取目标文件全路径;
DBR获取单元,用于根据所述目标文件全路径包含的盘符信息,获取分区引导扇区DBR信息;
第二判断单元,用于根据所述DBR信息判断目标文件所在的文件系统类型,如果是FAT32文件系统,则触发如权利要求12至17所述的装置执行文件清除处理。
19.根据权利要求18所述的系统,其特征在于,该系统还包括:NTFS文件清除装置;
所述第二判断单元如果判断出是NTFS文件系统,则触发所述NTFS文件清除装置执行文件清除处理;
所述NTFS文件清除装置包括:
第三定位单元,用于定位MFT偏移;
第四定位单元,用于从所述MFT偏移处定位目标文件MFT项;
第二清除单元,用于如果所述目标文件MFT项中的数据属性为常驻属性,则清除所述目标文件MFT项;否则,根据所述目标文件MFT项中的数据属性,定位并清除目标文件数据。
20.根据权利要求19所述的系统,其特征在于,所述第三定位单元,具体用于:
定位文件系统DBR;
根据文件系统DBR包含的MFT起始簇号和每簇扇区数,定位MFT偏移。
21.根据权利要求19所述的系统,其特征在于,所述第四定位单元,具体用于将所述目标文件全路径包含的文件名信息与所述MFT中各MFT项的文件名属性信息进行匹配,将匹配得到的MFT项确定为目标文件MFT项。
22.根据权利要求19所述的系统,其特征在于,所述第二清除单元在根据所述目标文件MFT项中的数据属性,定位并清除目标文件数据时,具体执行:
获取所述目标文件MFT项中的数据属性包含的簇流列表;
从所述簇流列表中获取目标文件数据的簇偏移和大小;
清除所述簇偏移和大小所对应的磁盘空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510434406.5A CN106372080A (zh) | 2015-07-22 | 2015-07-22 | 一种文件清除方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510434406.5A CN106372080A (zh) | 2015-07-22 | 2015-07-22 | 一种文件清除方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106372080A true CN106372080A (zh) | 2017-02-01 |
Family
ID=57879853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510434406.5A Pending CN106372080A (zh) | 2015-07-22 | 2015-07-22 | 一种文件清除方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106372080A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125298A (zh) * | 2019-12-23 | 2020-05-08 | 深圳市斯博科技有限公司 | 重建ntfs文件目录树的方法、设备及存储介质 |
CN111797037A (zh) * | 2020-09-08 | 2020-10-20 | 北京优炫软件股份有限公司 | 一种文件防篡改方法及装置 |
CN111831224A (zh) * | 2020-06-22 | 2020-10-27 | 中孚安全技术有限公司 | 一种擦除exFAT分区文件剩余空间的方法,系统及设备 |
CN112199236A (zh) * | 2020-09-30 | 2021-01-08 | 万兴科技集团股份有限公司 | 系统数据的识别方法、装置、计算机设备及存储介质 |
CN113190178A (zh) * | 2021-05-21 | 2021-07-30 | 山东省计算中心(国家超级计算济南中心) | 一种fat32文件系统中数据无痕删除方法及系统 |
CN113220953A (zh) * | 2021-05-24 | 2021-08-06 | 北京安盟信息技术股份有限公司 | 一种数据过滤方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060277183A1 (en) * | 2005-06-06 | 2006-12-07 | Tony Nichols | System and method for neutralizing locked pestware files |
CN1928869A (zh) * | 2006-09-19 | 2007-03-14 | 珠海金山软件股份有限公司 | 删除fat卷中文件的方法 |
CN102426586A (zh) * | 2011-10-25 | 2012-04-25 | 厦门雅迅网络股份有限公司 | 一种嵌入式系统中的fat文件存储方法 |
CN102508855A (zh) * | 2011-09-28 | 2012-06-20 | 北京安天电子设备有限公司 | 快速清除存储介质中数据的方法及装置 |
CN102693387A (zh) * | 2012-06-01 | 2012-09-26 | 北京理工大学 | 一种ntfs文件系统的数据擦除方法 |
-
2015
- 2015-07-22 CN CN201510434406.5A patent/CN106372080A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060277183A1 (en) * | 2005-06-06 | 2006-12-07 | Tony Nichols | System and method for neutralizing locked pestware files |
CN1928869A (zh) * | 2006-09-19 | 2007-03-14 | 珠海金山软件股份有限公司 | 删除fat卷中文件的方法 |
CN102508855A (zh) * | 2011-09-28 | 2012-06-20 | 北京安天电子设备有限公司 | 快速清除存储介质中数据的方法及装置 |
CN102426586A (zh) * | 2011-10-25 | 2012-04-25 | 厦门雅迅网络股份有限公司 | 一种嵌入式系统中的fat文件存储方法 |
CN102693387A (zh) * | 2012-06-01 | 2012-09-26 | 北京理工大学 | 一种ntfs文件系统的数据擦除方法 |
Non-Patent Citations (1)
Title |
---|
罗斌等: "《Visual C++编程技巧精选集》", 31 October 2008 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125298A (zh) * | 2019-12-23 | 2020-05-08 | 深圳市斯博科技有限公司 | 重建ntfs文件目录树的方法、设备及存储介质 |
CN111831224A (zh) * | 2020-06-22 | 2020-10-27 | 中孚安全技术有限公司 | 一种擦除exFAT分区文件剩余空间的方法,系统及设备 |
CN111831224B (zh) * | 2020-06-22 | 2024-04-19 | 中孚安全技术有限公司 | 一种擦除exFAT分区文件剩余空间的方法,系统及设备 |
CN111797037A (zh) * | 2020-09-08 | 2020-10-20 | 北京优炫软件股份有限公司 | 一种文件防篡改方法及装置 |
CN112199236A (zh) * | 2020-09-30 | 2021-01-08 | 万兴科技集团股份有限公司 | 系统数据的识别方法、装置、计算机设备及存储介质 |
CN113190178A (zh) * | 2021-05-21 | 2021-07-30 | 山东省计算中心(国家超级计算济南中心) | 一种fat32文件系统中数据无痕删除方法及系统 |
CN113220953A (zh) * | 2021-05-24 | 2021-08-06 | 北京安盟信息技术股份有限公司 | 一种数据过滤方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10108543B1 (en) | Efficient physical garbage collection using a perfect hash vector | |
CN106372080A (zh) | 一种文件清除方法、装置和系统 | |
US10795812B1 (en) | Virtual copy forward method and system for garbage collection in cloud computing networks | |
US7577808B1 (en) | Efficient backup data retrieval | |
KR101343200B1 (ko) | 가상 애플리케이션 환경 내의 데이터 보관 | |
US20060037079A1 (en) | System, method and program for scanning for viruses | |
CN101246535A (zh) | 一种修复异常文件的方法、系统和装置 | |
US20070276848A1 (en) | Apparatus and method for managing data | |
CN104781791A (zh) | 通用可插拔云灾难恢复系统 | |
CN103460197A (zh) | 计算机系统、文件管理方法以及元数据服务器 | |
KR100968126B1 (ko) | 웹쉘 탐지 시스템 및 웹쉘 탐지 방법 | |
JP2005166042A (ja) | Ext2ファイルシステムのデータ復旧方法及びそのプログラムを記録した記録媒体 | |
CN111125298A (zh) | 重建ntfs文件目录树的方法、设备及存储介质 | |
CN107832470A (zh) | 一种基于存储系统的对象存储方法及装置 | |
CN104169895B (zh) | 存储内容保护 | |
CN111104377A (zh) | 文件管理的方法、电子设备和计算机可读存储介质 | |
CN111382126B (zh) | 删除文件及阻碍文件恢复的系统和方法 | |
CN112115002A (zh) | 从损坏或不可信机械硬盘恢复文件的方法及装置 | |
CN105786653B (zh) | 基于fat32文件系统的文件恢复方法及其系统 | |
CN110352410A (zh) | 跟踪索引节点的访问模式以及预提取索引节点 | |
EP1103894A2 (en) | Fragmented data recovery method | |
JP4422742B2 (ja) | 全文検索システム | |
US8407196B1 (en) | Object-oriented database for file system emulator | |
CN111563256A (zh) | 一种安全的大数据收集存放方法 | |
CN109558270A (zh) | 数据备份的方法和装置、数据还原的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170201 |
|
RJ01 | Rejection of invention patent application after publication |