Paradox 数据库文件签名
Paradox DB file signature
我在网上搜索 Paradox DB 文件 (.db) 的幻数,但没有结果。
这些文件的二进制签名是什么?
我不想回答这个问题,因为通过文件的内容来识别文件的类型本质上是不可靠的——二进制签名只告诉你文件可能属于某种类型,但不能保证另一个文件会赢' 恰好包含该字符串。
另外,*.DB文件的二进制签名识别较弱,因为几乎所有的字节都携带高度可变的信息,并且大多数常量字节为零:
byte constant
offset value
-- --
2 00
3 08
E 00
F 01
14 00
2A 00
2B 00
2C 00
(此答案中的所有值均以十六进制形式给出)
可能有很多非 *.DB 文件会意外匹配此模式。
另外几个字节很容易解释并提供额外的信息:
byte offset 4:
00 = indexed .DB data file
01 = primary index .PX file
02 = non-indexed .DB data file
03 = non-incrementing secondary index .Xnn file
04 = secondary index .Ynn file (inc or non-inc)
05 = incrementing secondary index .Xnn file
06 = non-incrementing secondary index .XGn file
07 = secondary index .YGn file (inc or non inc)
08 = incrementing secondary index .XGn file
byte offset 39:
03 version 3.0
04 version 3.5
05..09 version 4.x
0A..0B version 5.x
0C version 7.x
Borland 从未公布其数据库文件的内部格式。我认为要通过内容可靠地识别 *.DB 文件,您必须尝试使用 Borland 的数据库引擎打开它。
-Al.
我在网上搜索 Paradox DB 文件 (.db) 的幻数,但没有结果。
这些文件的二进制签名是什么?
我不想回答这个问题,因为通过文件的内容来识别文件的类型本质上是不可靠的——二进制签名只告诉你文件可能属于某种类型,但不能保证另一个文件会赢' 恰好包含该字符串。
另外,*.DB文件的二进制签名识别较弱,因为几乎所有的字节都携带高度可变的信息,并且大多数常量字节为零:
byte constant
offset value
-- --
2 00
3 08
E 00
F 01
14 00
2A 00
2B 00
2C 00
(此答案中的所有值均以十六进制形式给出)
可能有很多非 *.DB 文件会意外匹配此模式。
另外几个字节很容易解释并提供额外的信息:
byte offset 4:
00 = indexed .DB data file
01 = primary index .PX file
02 = non-indexed .DB data file
03 = non-incrementing secondary index .Xnn file
04 = secondary index .Ynn file (inc or non-inc)
05 = incrementing secondary index .Xnn file
06 = non-incrementing secondary index .XGn file
07 = secondary index .YGn file (inc or non inc)
08 = incrementing secondary index .XGn file
byte offset 39:
03 version 3.0
04 version 3.5
05..09 version 4.x
0A..0B version 5.x
0C version 7.x
Borland 从未公布其数据库文件的内部格式。我认为要通过内容可靠地识别 *.DB 文件,您必须尝试使用 Borland 的数据库引擎打开它。
-Al.