[原创] 浅析ACCESS数据库(MDB)结构

[复制链接]

该用户从未签到

10

主题

140

回帖

1万

积分

[INTOHARD]旅长

Rank: 9Rank: 9Rank: 9

积分
18800
QQ
发表于 2009-5-3 22:50:24 | 显示全部楼层 |阅读模式
拎胡冲                                         QQ:86081166                      ACCESS2003
                                 
在与网友讨论ACCESS的时候,曾有网友提出ACCESS是复合文档,这种说法有一定的道理,如下图,在MDB文件当中,也有象WORD和excel一样的文件头,同样, MSAT 、SAT以及root entry都是存在的,只是位置发生了偏移,并非如EXCEL一样在偏移512=0。那么ACCESS是不是就是复合文档呢?
tou.jpg
  再进一步分析发现,MDB文件与SQL SEVER以及 ORACLE等大型数据的存贮方式一样,采用分页存贮,每8个扇区为一页。而ACCESS分:数据库定义页、数据页、表定义页、中级索引页、叶索引页、点阵图页.那么可以看到,ACCESS综合了复合文档和数据库的两种特性于一体。从二进制的结构来看,ACCESS为数据库。
现在我们就按照数据库的结构来分析这个MDB,前面介绍过,ACCESS已知的五种类型页。每个类型页的第一个字节如下:(就不再一一截图)
0x00数据库定义页
0x01数据页
0x02表定义页
0x03中级索引页
0x04叶索引页
0x05点阵图页

0x00为数据库定义页,也就是我们常说的“文件头”所在的页,逻辑为第一页,第一个扇区,以下是文件头的结构:
02.jpg

偏移512=0为00H,是MDB文件的开始,颜色标注的为固定值5374616E64617264204A6574204442H,(按照RAW方式恢复文件时,可搜索此固定值)。在偏移0x14位置为ACCESS的版本,此处为JET4,即我们常说的OFFICE2003 此处的数值会根据版本的不同会有不同的变化,现在的OFFICE2007此处的数值为02,我们暂且称他为JET5。以上的分析,或许能帮你修复一些简单的MDB文件错误。
但由于OFFICE文档的格式一直是微软公司的技术秘密,至今未向外界公布,而且采用了OLE/COM技术,数据结构非常复杂,要完全揭开OFFICE的秘密,还有待于各位网友的深入研究。
  • TA的每日心情
    开心
    2018-6-9 21:04
  • 签到天数: 25 天

    [LV.4]七品知县

    9

    主题

    5167

    回帖

    2799

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    2799
    QQ
    发表于 2009-5-3 23:31:05 | 显示全部楼层
    谢谢休息休息休息休息休息休息休息休息休息休息休息休息系系系
  • TA的每日心情
    开心
    2015-8-1 07:19
  • 签到天数: 15 天

    [LV.4]七品知县

    2

    主题

    954

    回帖

    1万

    积分

    [INTOHARD]团长

    Rank: 8Rank: 8

    积分
    14100
    发表于 2009-5-4 09:18:00 | 显示全部楼层
    x谢谢啊[s:14]
  • TA的每日心情
    慵懒
    2012-11-13 10:17
  • 签到天数: 2 天

    [LV.1]布衣百姓

    3

    主题

    100

    回帖

    340

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    340
    QQ
    发表于 2009-5-4 10:46:51 | 显示全部楼层
    谢谢,认真的顶一下(38:
  • TA的每日心情
    开心
    2012-7-26 00:26
  • 签到天数: 2 天

    [LV.1]布衣百姓

    12

    主题

    290

    回帖

    7076

    积分

    [INTOHARD]团长

    古典音乐

    Rank: 8Rank: 8

    积分
    7076
    发表于 2009-5-5 14:28:56 | 显示全部楼层
    大侠就大侠!得再顶!

    该用户从未签到

    0

    主题

    291

    回帖

    142

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    142
    发表于 2009-5-6 11:11:54 | 显示全部楼层
    认真的看一下在顶!!!。。。。
  • TA的每日心情
    开心
    2017-5-7 17:10
  • 签到天数: 98 天

    [LV.6]五品郎中

    18

    主题

    1405

    回帖

    1万

    积分

    [INTOHARD]团长

    Rank: 8Rank: 8

    积分
    12970
    发表于 2009-5-9 17:54:57 | 显示全部楼层
    顶一下。。。。。。。
  • TA的每日心情
    开心
    2022-7-16 07:17
  • 签到天数: 2600 天

    [LV.Master]三朝元老

    3

    主题

    2621

    回帖

    1万

    积分

    [INTOHARD]团长

    Rank: 8Rank: 8

    积分
    13372
    发表于 2009-5-15 09:28:47 | 显示全部楼层
    帅呆了~
    学习下~
  • TA的每日心情
    开心
    2023-6-27 16:59
  • 签到天数: 8 天

    [LV.3]八品县丞

    10

    主题

    1107

    回帖

    2万

    积分

    [INTOHARD]旅长

    Rank: 9Rank: 9Rank: 9

    积分
    21268
    发表于 2009-5-16 23:09:21 | 显示全部楼层
    学习了。学习了。学习了。

    该用户从未签到

    0

    主题

    69

    回帖

    98

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    98
    发表于 2009-6-3 08:58:57 | 显示全部楼层
    帅呆了~
    学习下~
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表