怎样隐藏文件

Author: 可 清 Date: 1992-05-15

        在DOS中,每一个文件都对应一个目录项,占32个节字,其内容如下:
        00H  文件名  8个字节
        08H  扩展名  3个字节
        0BH  属性  1个字节
        0CH  保留区  10个字节
        16H  生成或最后修改时间  2个字节
        18H  生成或最后修改日期  2个字节
        1AH  开如簇号  2个字节
        1CH  文件长度  2个字节
        文件目录项的第11字节(16进制0BH)是属性字节,其具体含义如下:
        一、属性字节值为01H时,表示文件是只读的;二、属性字节的值为02H时,表示文件是隐含的;三、属性字节的值为04H时,表示文件是系统文件;四、属性字节的值为08H时,表示此类目录仅包含卷标名的11个字节,没有其它信息;五、属性字节的值为10H时,表示此类目录项为子目录;六、属性字节的值为20H时,表示文件的属性是档案的。
        综上所述,隐藏文件可按照如下方法处理:1、隐藏子目录。将子目录的目录项的第11个字节的内容改为17H;2、隐藏一般文件。将文件目录项的第11个字节的内容改为03H或02H;3隐藏系统文件。将文件目录项的第11个字节的内容改为07H。
        DOS把所有的目录集中放在一起,形成一个目录表,DOS自动在磁盘上开辟一个存放目录表的区域,称之为目录区。双面双密度5.25英寸盘的目录区从0面0道6扇(相对扇 区号为05H)开始存放,连续存放7个扇区,可以存放112个目录项,共占有3584个字节。硬盘的目录区从0柱1面1扇区(相对扇区号为11H,硬盘每道17个扇区)开始存放,连续存放48个扇 区(指10M硬盘),可存放768个目录项。
        若用DEBUG修改目录基0BH字节的内容,方法如下:
        一、在DOS的提示下进入DEBUG
        C>DEBUG
        二、装入目录表
        _L 100  0  5  7
        上述命令中100为装入目录表的起始地址;0表示A盘;5表示目录从盘上相对扇区为5的扇区开始装入;7表示共装入7个扇区。
        三、利用DEBUG的D命令显示目录表的内容,找到目录项的地址
        _D  100
        四、利用DEBUG的E命令修改目录项属性字节的内容
        _E  (地址)  (新内容)
        五、利用DEBUG的W命令将修改后的内容写入磁盘目录区
        _W  100  0  5  7
        在上述修改的文件中特别要注意一点,有些文件的扩展名为·EXE、·COM、·DBF、·BAS等文件,如果隐藏在目录项后,这些文件就不能执行了。在文件的隐藏地这程中,必须对此引起程中,必须对此引起注意。