于是,许毅便开始详细地给她讲解起这个原因来。虽然他并没有阅读s操作系统的源代码,但是根据自己掌握的知识,他还是可以将其中的原因推测出七八分的。
反斜杠“\”在s中是路径的分隔符号比如“c:\s\”的意思就是c分区中的s文件夹,“c:\s\dexe”的意思就是c分区中的s文件夹中的dexe文件。
那么,如果文件名中有“\”符号会怎么样呢?假如“a\”是一个文件的名字,这个文件位于“d:”(d盘),则它的路径就是“d:a”,当我们试图访问这个文件的时候s会错误地认为我们要打开的文件是d分区的a文件夹,这样s就无法打开并且会返回一个错误,因为以上的路径并不存在。
当然现在正在尝试创建“a”文件,但是s会给出提示:“\”符号是不能作为文件或者文件夹的名字的。也就是说s还是早已想到这一点了的。不过事实真的是这样吗?显然是否定的。
颜玉碰到的这个文件夹就是如此,也就是说,微软的程序员编写操作系统的时候把dos下用kdir命令建立文件的时候忽略了这个问题,仅仅只是注意到了图形化界面中文件的建立。
花了好大一阵精神,许毅终于将这个问题说清楚了,从小姑娘的回复来看,她好像也听懂了其中的原理。她对于自己发现了微软的一个“重要”bug欢呼不已,不过欢呼之后,她终于想起一件重要的事情:“毅哥哥,这个bug就算是存在也没什么关系吧,这个问题毕竟是很少会遇到的,而且看上去并没有什么作用。”
“当然有作用了,有重要作用。黑客的一个重要能力之一就是能够利用看上去貌似毫不起眼的小漏洞做出令人惊讶的事情来。”
“啊?这个bug还能被黑客利用吗?”
“当然。”我就经常用,哈哈哈。
“那快告诉我,怎么用啊?这可是我发现的漏洞呢。”
喷!赞她几句就飘飘然了。许毅连忙及时提醒她,这个漏洞不能透露出去,要是流传开来,大家都知道了,以后就不灵了。
“好啦,好啦,我不会告诉别人的。你也不准,这个是我们两个之间的秘密。毅哥哥,你快告诉我这个bug到底有什么用吧。”颜玉满口答应,连连催促。
“呵呵,其实这个文件夹也是一个真正的文件夹的,它具有文件夹的功能,但又具有其他一些特性,不容易删除就是其中之一。”
“文件夹的功能?你是说我们可以在里面存放其他文件?”
“聪明!”小姑娘一点就通。
颜玉闻言,立刻重新建了个特殊文件夹,然后拖了个文本文件到它上面,结果又弹出一个带有红叉叉的警告对话框,说“……引用了一个未知的未知……请确认磁盘正确连接……”云云。