彻底删除硬盘文件的方法

文档序号:6408249阅读:828来源:国知局
专利名称:彻底删除硬盘文件的方法
技术领域
本发明涉及计算机软件领域,尤其涉及一种彻底删除硬盘文件的方法。
背景技术
一般情况下,用户通过普通的操作系统提供的文件删除方法进行文件删除时,操作系统只是对文件的目录作了删除标记或对文件分配表区域对该文件的分配情况进行删除,文件的实际数据并没有被清除掉,还有可能恢复。通过某些反删除软件可以搜索磁盘上的数据将实际文件内容恢复出来。
磁盘是采用磁介质来记录数据的,数据重写之后仍有剩磁存在,即使经过多次覆盖,仍有可能通过剩磁分析工具获知覆盖前的数据。
操作系统的临时文件经常在用户不知情情况下保存了用户的数据,如打印的临时文件、字处理的临时文件等等。这些数据在用户用过之后,仍然会留在硬盘上。
现有硬盘文件删除并不能完成对文件的彻底的安全的删除,通过有效的磁盘恢复工具包括软件或硬件可以将删除的文件进行恢复,本发明能够彻底清空文件数据在磁盘介质上的存储区域,真正删除文件,使硬盘上不留有任何残余。
分析一下上述情况存在的原因,首先需要我们对硬盘的工作原理和各操作系统文件系统特点有所了解。从结构上看,一个完整硬盘管理包括五部分,他们是MBR、DBR、FAT、DIR区和DATA区。MBR(MAINBOOTRECORD)是主引导记录区,位于整个硬盘的0磁道0柱沔扇区,包括硬盘引导程序和分区表等重要信息。MBR是由分区程序产生的,常用的有MS-DOS的FDISK。EXE。DBR(DOSBOOTRECORD)即操作系统引导记录区,通常位于硬盘的0磁道1柱面1扇区,包括一个引导程序和本分区参数记录表。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小,FAT个数、分配单元(allocationunit,以前也称之为簇)的大小等重要参数。DBR由高级格式化程序产生,如DOS的FORMAT。在执行硬盘的高级格式化以后,操作系统将重新组织DBR的信息,该区原来的信息完全丢失。FAT(FileAllocationTable)即文件分配表,紧接在DBR之后,其大小由本分区的大小及文件分配单元的大小决定。由于FAT记录了访问文件的基本信息,因此对于文件管理非常重要。从FAT文件分配或管理格式上看有很多选择,Microsoft的DOS及WINDOWS采用的是单元链格式,也即是我们所熟悉的FAT12、FAT16和FAT32格式,除此之外还有WINDOWSNT的NTFS,OS/2的HPFS等等。FAT12、FAT16和FAT32在定位文件的硬盘存储位置时,FAT配合DIR实现。DIR即DIRECTORY,存储了根区的重要信息。它紧接FAT表之后,记录着根目录下每个文件或目录的起始单元、文件或目录属性等等。DATA即硬盘数据区,占用硬盘的绝大部分空间,所有的用户主数据,包括各种类型的文件数据,都保存在该区内。操作系统通过前面的各部分,可以定位保存在数据区的用户数据。但对于用户来说,直接访问数据区,只能看到一些枯燥的二进制代码,它们的真正意义要领先操作系统和特定应用程序如数据库系统才能够得到正确表达。值得一提的是,通常用户进行的格式化操作是所谓“高级格式化”,这种格式化实际上并没有把数据区的数据清除,而仅仅是重写了文件分配表而已。
在分析了硬盘结构之后,我们就可以得知前面所提到的普通的操作系统提供的文件删除方法其确定存在的原因了,不论高级格式化还是变通的文件删除,都只是对文件分配表重写出而已,对实际的硬盘数据区并未清除和重写,数据恢复软件通过直接扫描硬盘DATA区即可恢复原有的文件数据;同时根据DIR,还能保持文件的树状结构。
虽然说通过普通的文件删除功能对文件进行删除之后,通过不断的在硬盘中进行数据的写出入也会使硬盘DATA区多次重写,覆盖了以前的数据,也就说通过数据恢复的软件也会无法完整的恢复已删除的数据,但是我们从硬件的角度考虑,由于目前的硬盘是磁性介质,数据对某段磁区重写之后,仍有剩磁存在,即使经过多次覆盖,以前的数据也并不一定完全删除,通过剩磁分析工具仍有可能获知覆盖前的数据。
由于操作系统为了达到提高效率或便于操作系统运行或用户方便的功能,采用很多临时文件的方法,这些临时文件用户一般不容易发现,或系统隐藏,或存放于某一个比较相对难找的目录,这些文件遗留在硬盘上,也很有可能带来安全隐患。

发明内容
本发明的目的在于提出了一种彻底删除硬盘文件的方法,通过对文件的实际内容进行多次重写或通过对硬盘的数据存储区剩余空间和未分配内容的区域进行定期清除使文件的实际内容完全修改,以保证被删除的文件或目录无法被恢复。
本发明是这样实现的一种彻底删除硬盘文件的方法,所述方法包括以下步骤a.在删除文件之前,读取该文件的属性和内容,如果属性为非可写文件,则修改属性为可写;b.调用系统的随机数生成函数得到一个随机数,并采用该随机数对步骤a中读取的该文件的内容进行多次重写,直到文件的实际内容已完全修改;c.采用系统自带的删除方式对该文件进行普通的文件删除操作。
其中,对数据区的重写次数默认为5次,也可由用户根据实际情况设定,以达到文件的实际内容已完全修改,而且剩磁工具也无法恢复被写之前的数据。经过上述方法的彻底删除,即使用户通过磁盘恢复工具进行磁盘恢复,恢复得到的数据只是随机数重写后的数据。所要删除的文件包括系统软件为保留备份而存放到系统临时目录下的文件、保留在临时目录中曾经浏览过的网页文件、系统中专门存放临时文件的目录中的文件,所述文件被罗列出来供用户采用上述方法进行选择性的删除。
本发明还可以这样实现一种彻底删除硬盘文件的方法,所述方法包括以下步骤a.从硬盘的主引导记录区直接读取硬盘的分区结构,定位分区位置;b.从操作系统引导记录区中确定当前操作系统文件的分配格式、文件分配表的个数、簇的大小、操作系统文件区域或不可改写区域的位置;c.根据步骤b中确定的文件分配表的格式、大小和位置可判断出显示文件列表的目录结构和目录位置;d.通过文件分配表中的内容和显示文件列表中的目录结构确定硬盘数据区中分配给每个文件或目录的数据区首末地址并由此确定数据区长度L1;e.从文件分配表中读取每个文件或目录的实际内容所占的数据区长度L2;f.计算得到每个文件或目录分配区域内的剩余数据区为L=L1-L2;并且根据步骤d中确定的已分配的数据区可确定硬盘数据区中未分配的剩余数据区;
g.调用系统的随机数生成函数得到一个随机数,采用该随机数对步骤f中所定位的剩余数据区进行多次重写,直到该段数据区的实际内容已完全修改。
其中,对数据区的重写次数默认为5次,也可由用户根据实际情况设定。定期进行清除的时间由用户自定义,也可由用户主动进行清除,需要进行清除的硬盘数据区也可由用户自定义。
具体实施例方式
下面结合实施例对本发明作进一步的详细描述。
一种彻底删除硬盘文件的方法,通过对文件的实际内容进行多次重写使文件的实际内容完全修改,所述方法包括以下步骤a.在删除文件之前,读取该文件的属性和内容,如果属性为非可写文件,则修改属性为可写;b.调用系统的随机数生成函数得到一个随机数,并采用该随机数对步骤a中读取的该文件的内容进行多次重写,直到文件的实际内容已完全修改,其中,重写次数默认为5次,也可由用户根据实际情况设定;c.采用系统自带的删除方式对该文件进行普通的文件删除操作。
其中,对数据区的重写次数默认为5次,也可由用户根据实际情况设定,以达到文件的实际内容已完全修改,而且剩磁工具也无法恢复被写之前的数据。经过上述方法的彻底删除,即使用户通过磁盘恢复工具进行磁盘恢复,恢复得到的数据只是随机数重写后的数据。所要删除的文件包括系统软件为保留备份而存放到系统临时目录下的文件、保留在临时目录中曾经浏览过的网页文件、系统中专门存放临时文件的目录中的文件,所述文件被罗列出来供用户采用上述方法进行选择性的删除。
一种彻底删除硬盘文件的方法,通过对硬盘的数据存储区的剩余空间和未分配内容的区域进行定期清除使文件的实际内容完全修改,所述方法包括以下步骤a.从硬盘的主引导记录区读取硬盘的分区结构,定位分区位置;因为主引导分区位于0柱面1扇区,所以可以直接去获取这段内容,并且根据引导分区内容的结构,直接可以确定引导分区内的内容分别对应的信息,其中包含分区结构和分区的地址;
b.从操作系统引导记录区中确定当前操作系统文件的分配格式、文件分配表的个数、簇的大小、操作系统文件区域或不可改写区域的位置;操作系统引导记录区的初始位置是从硬盘的主引导记录区中的内容确定的,然后从操作系统引导记录区的初始字节就可获得该区域的大小,确定结束位置;将整个区域的内容读取之后,强制映射到对应这一区域的结构表上,就得到文件存储格式、硬盘介质描述符、根目录大小、FAT个数、簇大小;c.根据步骤b中确定的文件分配表定位显示文件列表的目录结构和目录位置;即根据步骤b中确定的正确的文件分配表的格式、大小和位置,就可正确判断出实际用户可见的、可用的数据有哪些目录,也就是说可以确定DIR中的目录结构和他们的位置;d.通过文件分配表中的内容和显示文件列表中的目录结构确定硬盘数据区中分配给每个文件或目录的数据区首末地址并由此确定数据区长度L1;e.从文件分配表中读取每个文件或目录的实际内容所占的数据区长度L2;f.计算得到每个文件或目录分配区域内的剩余数据区为L=L1-L2;因为每个分配给某个文件或目录的数据区长度和该文件或目录实际内容所占用的长度通常是不一样的,后者小于等于前者,所以在每个文件的分配区域存在一定剩余空间,该空间留有的数据会造成一定安全隐患;并且根据步骤d中确定的已分配的数据区可确定硬盘数据区中未分配的剩余数据区;g.调用系统的随机数生成函数得到一个随机数,采用该随机数对步骤f中所定位的剩余数据区进行多次重写,直到该段数据区的实际内容已完全修改。
其中,对数据区的重写次数默认为5次,也可由用户根据实际情况设定。定期进行清除的时间由用户自定义,也可由用户主动进行清除,需要进行清除的硬盘数据区还可由用户自定义。
权利要求
1.一种彻底删除硬盘文件的方法,其特征在于,通过对文件的实际内容进行多次重写使文件的实际内容完全修改,所述方法包括以下步骤a.在删除文件之前,读取该文件的属性和内容,如果属性为非可写文件,则修改属性为可写;b.调用系统的随机数生成函数得到一个随机数,并采用该随机数对步骤a中读取的该文件的内容进行多次重写,直到文件的实际内容已完全修改;e.采用系统自带的删除方式对该文件进行普通的文件删除操作。
2.一种彻底删除硬盘文件的方法,其特征在于,通过对硬盘的数据存储区的剩余空间和未分配内容的区域进行定期清除使文件的实际内容完全修改,所述方法包括以下步骤a.从硬盘的主引导记录区直接读取硬盘的分区结构,定位分区位置;b.从操作系统引导记录区中确定当前操作系统文件的分配格式、文件分配表的个数、簇的大小、操作系统文件区域或不可改写区域的位置;c.根据步骤b中确定的文件分配表的格式、大小和位置可判断出显示文件列表的目录结构和目录位置;d.通过文件分配表中的内容和显示文件列表中的目录结构确定硬盘数据区中分配给每个文件或目录的数据区首末地址并由此确定数据区长度L1;e.从文件分配表中读取每个文件或目录的实际内容所占的数据区长度L2;f.计算得到每个文件或目录分配区域内的剩余数据区为L=L1-L2;并且根据步骤d中确定的已分配的数据区可确定硬盘数据区中未分配的剩余数据区;g.调用系统的随机数生成函数得到一个随机数,采用该随机数对步骤f中所定位的剩余数据区进行多次重写,直到该段数据区的实际内容已完全修改。
3.根据权利要求1所述的方法,其进一步特征在于,所要删除的文件包括系统软件为保留备份而存放到系统临时目录下的文件、保留在临时目录中曾经浏览过的网页文件、系统中专门存放临时文件的目录中的文件,所述文件被罗列出来供用户采用权利要求1所述的方法进行选择性的删除。
4.根据权利要求1或2所述的方法,其进一步特征在于,对数据区的重写次数默认为5次,也可由用户根据实际情况设定。
5.根据权利要求2所述的方法,其进一步特征在于,定期进行清除的时间由用户自定义,也可由用户主动进行清除。
全文摘要
本发明提出了一种彻底删除硬盘文件的方法。目前,用户通过普通的操作系统提供的文件删除方法进行文件删除操作时,文件的实际数据并没有被清除掉,硬盘剩余空间也可能留有数据的安全隐患,本发明正对上述情况,通过对文件的实际内容进行多次重写或通过对硬盘的数据存储区剩余空间和未分配内容的区域进行定期清除使文件的实际内容完全修改,以保证被删除的文件或目录无法被恢复。
文档编号G06F12/08GK1359071SQ0113234
公开日2002年7月17日 申请日期2001年11月29日 优先权日2001年11月29日
发明者宋寒松, 范峰 申请人:上海格尔软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1