花了一小会儿时间,将这个专业词汇解释清楚,颜玉继续追问了起来:毅哥哥,你的意思是说这个不能删除的文件夹是一个BUG?为什么要在DOS下面才能删除呀?……许毅顿时没词了,为什么会这样我怎么知道,我又没阅读过微软操作系统的源代码,他无奈地回道:我也只知道这是个BUG.具体原因不清楚。
你也不知道呀。
小姑娘好像感到很惊讶,可能她没想到还有许毅不知道的计算机问题。
她继续问:对了,你还没告诉我为什么要多加一个点和反斜杠呢。
这个许毅倒知道:其实你建立的这个文件夹的名字本来就是多了一个点和反斜杠的。
只不过这样看不到而已。
颜玉自然是不信,许毅只得证明给她看。
他要颜玉用命令MKDIR A……\\\\在DOS控制台下建立文件,也就是说,按照DOS命令的语法规则,建立的文件名为A……\\\\。
等了一会儿,颜玉便发来了消息:毅哥哥,怎么建立的文件名是‘A.’,少了一个点和一个反斜杠呢,太奇怪了!许毅回道:呵呵,刚才那个文件夹就是这个原因,它实际的文件夹名字和你看到的并不一样。
你现在用平常的方式删除这个文件夹试试。
颜玉闻言,选择了这个文件夹,然后按了删除键,确认,这时,她惊讶地发现刚才碰到的问题又出现了,也就是说刚才自己亲手建立了一个不能删除的文件夹。
这样说,那个文件也是我不小心给建立的了?颜玉想到这里,心中一动,按照刚才删除那个文件夹的方法,在DOS里面运行了RMDIR A……\\\\命令,发现刚建立的文件夹果然立刻被删除了。
真是这样的!颜玉高兴非常。
这个困扰了她多时的问题原来是这么回事,害得她还担心了好一阵,以为是遭了黑客呢。
许毅坐在电脑前,疲劳感一阵又一阵地袭来,不过他也被小姑娘引起了兴致,决定趁热打铁,将这个小技巧跟她说清楚,好增长她学技术的兴趣。
于是,许毅便开始详细地给她讲解起这个原因来。
虽然他并没有阅读windows操作系统的源代码,但是根据自己掌握的知识,他还是可以将其中的原因推测出七八分的。
反斜杠\\\\在windows中是路径的分隔符号比如C:\\\\Windows\\\\的意思就是C分区中的Windows文件夹,C:\\\\Windows\\\\cmd.exe的意思就是C分区中的Windows文件夹中的cmd.exe文件。
那么,如果文件名中有\\\\符号会怎么样呢?假如A\\\\是一个文件的名字,这个文件位于D:\\(D盘),则它的路径就是D:\\A\\,当我们试图访问这个文件的时候Windows会错误地认为我们要打开的文件是D分区的A文件夹,这样Windows就无法打开并且会返回一个错误,因为以上的路径并不存在。
当然现在正在尝试创建A\\文件,但是Windows会给出提示:\\\\符号是不能作为文件或者文件夹的名字的。
也就是说Windows还是早已想到这一点了的。
不过事实真的是这样吗?显然是否定的。
颜玉碰到的这个文件夹就是如此,也就是说,微软的程序员编写操作系统的时候把DOS下用MKDIR命令建立文件的时候忽略了这个问题,仅仅只是注意到了图形化界面中文件的建立。
花了好大一阵精神,许毅终于将这个问题说清楚了,从小姑娘的回复来看,她好像也听懂了其中的原理。
她对于自己发现了微软的一个重要BUG欢呼不已,不过欢呼之后,她终于想起一件重要的事情:毅哥哥,这个BUG就算是存在也没什么关系吧,这个问题毕竟是很少会遇到的,而且看上去并没有什么作用。
当然有作用了,有重要作用。
黑客的一个重要能力之一就是能够利用看上去貌似毫不起眼的小漏洞做出令人惊讶的事情来。
啊?这个BUG还能被黑客利用吗?当然。
我就经常用,哈哈哈。
那快告诉我,怎么用啊?这可是我发现的漏洞呢。
喷!赞她几句就飘飘然了。
许毅连忙及时提醒她,这个漏洞不能透露出去,要是流传开来,大家都知道了,以后就不灵了。
好啦,好啦,我不会告诉别人的。
你也不准,这个是我们两个之间的秘密。
毅哥哥,你快告诉我这个BUG到底有什么用吧。
颜玉满口答应,连连催促。
呵呵,其实这个文件夹也是一个真正的文件夹的,它具有文件夹的功能,但又具有其他一些特性,不容易删除就是其中之一。
文件夹的功能?你是说我们可以在里面存放其他文件?聪明!小姑娘一点就通。
颜玉闻言,立刻重新建了个特殊文件夹,然后拖了个TXT文本文件到它上面,结果又弹出一个带有红叉叉的警告对话框,说……引用了一个未知的未知……请确认磁盘正确连接……云云。
呜,不行嘛!颜玉又只能问许毅。
呵呵,你的思维怎么还停留在原地?说了这是比较特殊的文件夹了,不能用自己的思维惯势来思考问题的。
经许毅这么一提醒,颜玉脑中便立刻清醒了。
删除它都要用在命令控制台下用DOS命令,那将文件放到里面,肯定也是这样了!她急忙证明起自己的推测来,果然,事实正是如此。
她要拍手称快了。
聪明的颜玉自然想到了,将文件放到里面,相当于就给它加了一把保护锁,别人如果不知道这个原理,就拿这个文件夹没有办法,自然也就拿里面的文件没有办法。
嗯,那么如果自己要取里面的文件怎么办?颜玉举一反三,立刻又用MOVE命令,将刚刚移进去的文件移了出来。
事实证明这样也是成功的。
接着又将其移了进去。
毅哥哥,真是这样耶!放进去了。
许毅没有说其他,而是问了一句:小玉儿,你现在删除那个文件夹看看。
颜玉又按照刚才的方法,在DOS下用RMDIR进行操作,结果发现竟然删除不了了!里面的提示为文件夹不是空的。
啊?难道现在删除不了了?颜玉有些吃惊了。
如果是这样的话,那这个文件就只能一直躺在这里了。
不过她很快就想出了解决办法,既然文件夹不是空的不能删除,那她就先让这个文件夹为空再删除,于是她便将里面的刚刚移进去的文件给移了出来,然后顺利将这个文件夹删除了。
当颜玉将这个方法说给许毅听时,他微微一愣,显然没有想到这个方法,随即笑了起来,这个方法虽然很麻烦,很笨蛋,但也不失为一种解决方案,不过这个方法却有很大的缺陷。
这个方法虽然可行,但却只能自己做实验的时候用。
如果对方入侵了你的电脑,然后在你的硬盘里面建立了一个这样的文件夹,接着往里面放了很多文件,那你该怎么办?颜玉也是一愣。
是啊,要是这样的话该怎么删除呢?对方往里面存的文件自然是不会告诉自己的,那自己怎么会知道有多少文件,那些文件叫什么名字?那岂不是就没有办法了?不服输的小姑娘冥思苦想,终于被她想到了一招杀手锏:要是那样的话,我就将硬盘格式化!哈哈哈,不错,这也是个解决办法。
不过如果对方将文件夹建立在系统盘中,那格式化硬盘损失就大了。
又得重新安装系统,那多麻烦?要知道,一个服务器的系统配置是极其麻烦的,往往要花费维护员很多时间和精力,哪有这么容易说格式化就格式化的。
那岂不是就没有办法了?办法当然有。
其实也很简单,只要你在删除后面加个参数就行了,例子为‘RMDIR /S 文件夹名’。
这个S的意思,就是不论里面有没有文件,也一律删除。
虽说这个方法简单,但也要对DOS命令非常熟悉才可以,这点很多人都是不知道的。
颜玉终于知道了这个文件夹的作用之一:藏东西。
东西嘛,随便什么都可以,黑客工具啦,重要文件啦(H片,^_^),病毒(无视杀毒软件)啦,木马啦等等等等。
接下来,许毅又告诉她另外一个功能:硬盘炸弹。
其实这也是利用普通人不知道如何删除这些文件夹的原理,编一个程序(病毒或者批处理都行),建立一个或者多个这样的文件夹,然后往里面复制东西,越大越好,于是乎,宿主计算机中的硬盘越来越小,越来越小……直至没有。
另外,这个文件夹还有一个特点,那就是无论你放多少文件进去,它始终显示文件大小为零,而实际上它却又真正占用硬盘空间,故隐藏起来很方便。
―――――有书友说有些地方如果是假的话,要我指出,以免误导读者。
以后我尽量指出了,嗯,懂行的兄弟如果有时间的话,可以整理整理里面的硬伤,我专门弄个外篇。
这个不能删除的文件夹漏洞是真的,哈哈,兄弟们以后不用把H片藏到windows文件夹下面了。