C#如何彻底清除硬盘所有数据?请指点 什么叫清除??比如 原来有5个文件 你这个清除 是删除这5个文件么? 如果你对格式化不感冒 你可以遍历跟目录 得到文件跟文件夹 然后挨个删除就行了..简单的就格式化..话说你PE好高端啊 还可以运行C#啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我猜楼主想要的是360防止恢复功能说这个功能的原理之前,你必须先知道删除的原理文件本身的数据存储在磁盘中,它还有个索引,也在磁盘中,跟文件本身的数据并不放在一起可以理解成堆栈的关系,是一个引用,记录了文件类型和大小的信息删除文件其实不过就是删除了索引,文件本身的数据还在硬盘上,只不过通过操作系统看不到它了,没有引用了使用硬盘恢复工具,可以将这个失去索引但是数据还在的文件恢复原状(其实就是重新建立索引,恢复可见性)如果想让文件无法通过工具恢复,那么你需要反复写入,反复删除,直到存储文件的磁盘区域的数据变得支离破碎另:PE不过是精简版的XP,可以运行.net框架的 楼主可以这样做。你先调用Format 或遍历整个盘的文件删除,然后呢再用C# 写文件的方式写入占满整个盘的空间的内容,进行复盖原磁道。占满后。再把这个临时文件给删掉。。就可以了 我觉得应该有相应API能够获取到文件存储的真实物理地址,也可以指定写入文件的真实物理地址的吧虽然正常都是系统自动调度,自动分配但是360防恢复功能很明显并不需要将整个磁盘写满一次如果我磁盘有2T,光是写满一次就得超过24小时了 主要看楼主防恢复要防到什么程度了。1、如果只是防普通恢复软件,那很简单 。只要看一下恢复软件源码,相应更改一下就好了,NTFS的恢复我不是很清楚,FAT32的恢复就是读取前面的一位,其中0表示未使用,-27表示删除,46表示使用中且为短文件名。更加恢复软件源码,把-27修改了就好了。NTFS类似。2、防数据恢复公司恢复的话,就需要把-27的数据簇覆盖写入一次。3、防止国安恢复数据,重复写入3-5次即可(或者低格3-5次)4、防止FBI,就需要7次以上数据是以前在一个论坛上看到的,只做参考。不过覆盖3次以下恢复数据的技术的确我是看到过的。但不是100%还原,我看到的那次还原了70%+的数据。 随便说说:格式化硬盘,用10M大小的文件写满整个硬盘;再格式化硬盘,再用10M大小的文件写满整个硬盘;再格式化硬盘,再用10M大小的文件写满整个硬盘…………这样多弄几次,应该就可以了吧。只是时间会很长,估计一次写满整个硬盘,要花费2、3个小时吧。从上班折腾到下班,应该就可以了吧。 扯辣么高级.只要打开要删除的文件,写入相应长度的数据就OK了,再删除掉.你再试恢复一个看看.按楼下说的,防BFI的话,重写七次试试了 这是个好办法,按二进制打开文件,往里写入0xff,再写一遍0x00,再写0xff,反复7次 请自行查找各种文件系统的api接口,不同的文件系统,方法不同,而资料在C#里面是肯定不存在的,因为是驱动级别的(Rank0)的事情,C#只管调用。至于上面所谓的“按二进制打开文件,往里写入0xff,再写一遍0x00,再写0xff,反复7次”肯定是不行的,不要以为磁盘的优化是假的,各种读写操作都有磁盘缓存,不会立刻生效,同时不同的文件系统,写入的位置也是不同的,一般的机械磁盘要求连续存储,而SSD则要求全盘存储满后擦除覆盖,为了延迟寿命。不单单是SSD,只要是闪存颗粒都是如此,反复读写一个块区会导致损坏。 楼上很多朋友说的都对,我确实希望用C#写一个程序,运行在PE里,然后格式化(或者说清除,磨掉)之前硬盘的一切数据,防止被人恢复,主要是为了应对BM检查。有这个想法主要是考虑到C#的类库提供了文件读写删除的功能,,但是我试验过,删除了之后,连360都能恢复出来,更甭说迎接监查了还望各位大神帮忙想想更好的办法,因为硬盘不能扔掉,每一块序列号和品牌型号以及固件号都备案过的。 搜一搜:C#写入二进制文件不过就是new一个FileStream(先using System.IO),然后执行write 搜一搜:C#写入二进制文件不过就是new一个FileStream(先using System.IO),然后执行write我看了一下,FileStream可以创建并写入二进制文件,你的意思是说,我需要在不同的卷下,创建一个文件,然后把它写满为止,是这个意思吗?抱歉,我思路有点乱。然后,写完了删除这个文件,继续写,写满7次为止? 搜一搜:C#写入二进制文件不过就是new一个FileStream(先using System.IO),然后执行write我看了一下,FileStream可以创建并写入二进制文件,你的意思是说,我需要在不同的卷下,创建一个文件,然后把它写满为止,是这个意思吗?抱歉,我思路有点乱。然后,写完了删除这个文件,继续写,写满7次为止?你只是需要将你需要彻底删除的文件用二进制流覆盖,先获取文件大小,然后创建跟文件大小同样大的数组,先全部写入1,再全部写入0,反复7次,最后等你删除文件的时候,它就算能恢复,恢复出来也是没有数据的 我也很奇怪什么数据会引动国安局来查,还会用上恢复删除文件的手段如果你的硬盘真的存了FBI名单这种敏感文件,还是果断用锤子砸了,用喷枪烤半个小时,让磁性物质和外壳都融到一起,那保证外星人来了也还原不了的,然后你报告硬盘失窃/损坏,自己掏钱买个新的顶替上去 求一统计sql语句 超简单的问题 {300}分求助一个问题,winfrom类库移植到web上并且实现winfrom 里的图片输出 新手学习C#,求基础的实例代码 求救! Application.DoEvent(); 的问题!!请高手解答一下!线在等待谢谢! 为什么WinForm当中的打印控件不在窗口设计器的窗口里面? C#反编译代码回归正编译 请问字符串之间,不忽略大小比较有专用方法吗? datagridview控件一行显示内容太多,拖动显示不全怎么办 请教如何生成介于两个decimal之间的最大值 linq 分组求和带系数计算问题
说这个功能的原理之前,你必须先知道删除的原理文件本身的数据存储在磁盘中,它还有个索引,也在磁盘中,跟文件本身的数据并不放在一起
可以理解成堆栈的关系,是一个引用,记录了文件类型和大小的信息
删除文件其实不过就是删除了索引,文件本身的数据还在硬盘上,只不过通过操作系统看不到它了,没有引用了
使用硬盘恢复工具,可以将这个失去索引但是数据还在的文件恢复原状(其实就是重新建立索引,恢复可见性)如果想让文件无法通过工具恢复,那么你需要反复写入,反复删除,直到存储文件的磁盘区域的数据变得支离破碎另:PE不过是精简版的XP,可以运行.net框架的
你先调用Format 或遍历整个盘的文件删除,然后呢再用C# 写文件的方式写入占满整个盘的空间的内容,进行复盖原磁道。占满后。再把这个临时文件给删掉。。就可以了
虽然正常都是系统自动调度,自动分配
但是360防恢复功能很明显并不需要将整个磁盘写满一次
如果我磁盘有2T,光是写满一次就得超过24小时了
1、如果只是防普通恢复软件,那很简单 。只要看一下恢复软件源码,相应更改一下就好了,NTFS的恢复我不是很清楚,FAT32的恢复就是读取前面的一位,其中0表示未使用,-27表示删除,46表示使用中且为短文件名。更加恢复软件源码,把-27修改了就好了。NTFS类似。
2、防数据恢复公司恢复的话,就需要把-27的数据簇覆盖写入一次。
3、防止国安恢复数据,重复写入3-5次即可(或者低格3-5次)
4、防止FBI,就需要7次
以上数据是以前在一个论坛上看到的,只做参考。不过覆盖3次以下恢复数据的技术的确我是看到过的。但不是100%还原,我看到的那次还原了70%+的数据。
格式化硬盘,用10M大小的文件写满整个硬盘;再格式化硬盘,再用10M大小的文件写满整个硬盘;再格式化硬盘,再用10M大小的文件写满整个硬盘…………
这样多弄几次,应该就可以了吧。
只是时间会很长,估计一次写满整个硬盘,要花费2、3个小时吧。从上班折腾到下班,应该就可以了吧。
按楼下说的,防BFI的话,重写七次试试了
至于上面所谓的“按二进制打开文件,往里写入0xff,再写一遍0x00,再写0xff,反复7次”肯定是不行的,不要以为磁盘的优化是假的,各种读写操作都有磁盘缓存,不会立刻生效,同时不同的文件系统,写入的位置也是不同的,一般的机械磁盘要求连续存储,而SSD则要求全盘存储满后擦除覆盖,为了延迟寿命。不单单是SSD,只要是闪存颗粒都是如此,反复读写一个块区会导致损坏。
有这个想法主要是考虑到C#的类库提供了文件读写删除的功能,,但是我试验过,删除了之后,连360都能恢复出来,更甭说迎接监查了
还望各位大神帮忙想想更好的办法,因为硬盘不能扔掉,每一块序列号和品牌型号以及固件号都备案过的。
不过就是new一个FileStream(先using System.IO),然后执行write
不过就是new一个FileStream(先using System.IO),然后执行write
我看了一下,FileStream可以创建并写入二进制文件,你的意思是说,我需要在不同的卷下,创建一个文件,然后把它写满为止,是这个意思吗?抱歉,我思路有点乱。然后,写完了删除这个文件,继续写,写满7次为止?
不过就是new一个FileStream(先using System.IO),然后执行write
我看了一下,FileStream可以创建并写入二进制文件,你的意思是说,我需要在不同的卷下,创建一个文件,然后把它写满为止,是这个意思吗?抱歉,我思路有点乱。然后,写完了删除这个文件,继续写,写满7次为止?
你只是需要将你需要彻底删除的文件用二进制流覆盖,先获取文件大小,然后创建跟文件大小同样大的数组,先全部写入1,再全部写入0,反复7次,最后等你删除文件的时候,它就算能恢复,恢复出来也是没有数据的
如果你的硬盘真的存了FBI名单这种敏感文件,还是果断用锤子砸了,用喷枪烤半个小时,让磁性物质和外壳都融到一起,那保证外星人来了也还原不了的,然后你报告硬盘失窃/损坏,自己掏钱买个新的顶替上去