.DBF数据库文件结构形式及其利用

Author: 河北 张永义 Date: 1994-09-16

       一个文件在磁盘上的储存包括三部分:目录区、文件分配表、数据区。对于FOXBASE的核心部分.DBF文件也不例外,在前两点上同于其它类型文件,(目录区的形式和含义见表一),这里着重数据区的分析。  .DBF文件在数据区的结构又可分为三部分;文件头描述区,字段结构描述区(形式和含义见表二)和数据描述区。当新建库未录入数据时,无第三区和文件结束标志1AH,有记录时,此区总长度=字段宽度总和×记录个数,文件尾1AH标志在最后一个字节,数据按字段顺序和宽度排列,每条记录间用20H隔断。当ZAP后,原1AH标志不变,新1AH标志写在记录起始偏移字节处,数据不删除,但遇写盘操作时,将会被覆盖。 了解文件结构后,我们可以使用NORTON、PCTOOLS、DEBUG等工具按照本文中的一些方法对其加以利用,达到满足某些特殊要求的目的。例如:抓住目录区的文件长、文件分配表的簇号分配链、文件头的记录个数值、数据推述区的1AH标志位置这四要素,就可以做到误作ZAP后的手工数据恢复;又因能直接对字段名及其类型改写,得以确保万条记录的安全转换。目录项适当修改后,整个文件就被隐形加密,还可以采用位移法把目录项中的起始簇号、文件长、文件头中的记录个数、数据描述区的1A标志转移到DOS保留区,以自己掌握的密码形式存放。(河北  张永义)