我从事计算机取证工作 - 我最近被要求分析的数据集之一包含许多我迄今为止无法打开的 .ddd 文件。
在文本/十六进制编辑器中阅读这些文件时,会发现多次提到“Verity Inc 版本 5.5.0”。经过深入的谷歌搜索后,我们发现它们可能与某个名为“verity documentum”的旧文档管理软件有关。
这些文件的日期可以追溯到 2003 年 - 比我早一点!Verity 后来被一家名为“Autonomy Corp”的公司收购,后来又被 HP 收购。正如所料,HP 没有人知道我在说什么,我尝试联系的所有 Verity/Autonomy 联系人都无果而终。
询问“更有经验”的成员,有人以前遇到过这种文件或软件吗?如果是这样,您知道如何打开它们或将它们转换为更易读的格式吗?
答案1
Verity 系列
Verity, Inc. 是 K2 背后的公司企业搜索引擎。Verity 的技术已被纳入各种第三方软件中,例如ColdFusion(从版本 5一直到版本 9.0.1),仁科,奥德CAD, 和纸港。
单个集合代表一组逻辑文档以及一组关于这些文档的元数据。集合中存储的特定信息包括各种单词索引、包含文档字段信息的内部文档表以及指向实际文档文件的逻辑指针。
目录结构
摘自《Verity Collection 参考》:
每个集合包含以下子目录:
assists
包含提供一般集合信息和帮助优化搜索的文件,例如跨词列表 (*.wld
)、集合“关于”文件 (*.abt
) 和 ngram 索引 (*.ngm
)。
morgue
包含计划删除的集合文件。
parts
包含集合中每个分区的内部字段表(*.ddd
)和字索引( )。*.did
pdd
*.pdd
包含集合的分区映射文件( )。
style
配置集合的样式集。包含网关样式文件和集合样式文件。
temp
Verity Spider 和 K2 Spider 使用的临时存储。
topicidx
如果此集合中存在索引主题集,则包含它们。
trans
*.trn
包含存储待处理索引事务信息的文件 ( )。
work
正在处理的文件的临时存储。来源:Verity 收藏参考
根据收藏,上面列出的某些文件夹可能为空或完全缺失。style
和parts
文件夹是最相关的文件夹。
分区
在索引文档时,Verity 引擎会将文档元数据存储在称为分区的单元中。每个分区包含一组文档的元数据(通常是全字索引),这些文档由 1 到 64K 的文档组成。Verity 引擎实际上不会复制您的文档;相反,分区包含与文档相关的所有元数据,这些元数据使文档可搜索,包括:
内部文档表包括字段;一些字段是默认定义的,也可以定义自定义字段,如“标题”和“作者”。
该分区的文档中的单词的完整单词索引(有时称为单词列表)。
每个分区由一个单词表和一个文档表组成,它们以连续的 8 位数字命名(例如00000001.did
和00000001.ddd
)。两者都以二进制文件形式存储。
文档表内的字段由以下集合样式文件定义:
style.ddd
,定义 Verity 引擎内部使用的字段,以开头的下划线字符 (_
) 标识。
style.sfl
,定义标准字段(其中许多字段被注释掉以限制文档表的大小)。
style.ufl
,定义未包含在中的自定义字段style.sfl
。每个字段的值可以从源文档中填写,也可以明确提供。如果字段为空,则表示尚未填充。
来源:使用浏览
进一步阅读
查看分区数据
所有 Verity 产品都捆绑了一些维护和故障排除工具。其中包括didump
和browse
。前者可用于显示单词列表的内容;后者可用于显示索引文档字段。
浏览
该程序接受一个参数,即文件的路径.ddd
:
browse.exe "X:\collection\parts\00000001.ddd"
成功打开文件后,它将显示可用的选项:
BROWSE OPTIONS
?) help
q) quit
c) Number of entries in field
_) Toggle viewing fields beginning with '_'
v) Toggle viewing selected fields
##) Display all fields in specified record number
Dispatch/Compound field options:
n) No dispatch
d) Dispatch
s) Dispatch as stream
统计记录数量
要检查索引记录的数量,您可以键入c
,然后指定VdkVgwKey
为字段,该字段是用于标识文档表中每个条目的主键:
Action (? for help): c
Number of entries in field named: VdkVgwKey
There are (58) entries in the field (VdkVgwKey)
显示特定记录
所有索引都是从零开始的。例如,要获取第一个条目,请键入0
并按Enter:
Record number: 0
0 _DDFLAG FIX-unsg ( 1) = 0x00
1 _DDVALUE VAR-text ( 0) =
2 _DDVALUE_OF FIX-unsg ( 4) = 0
3 _DDVALUE_SZ FIX-unsg ( 2) = 0
4 _DBVERSION CON-text ( 7) = vdk060
5 _DDDSTAMP FIX-date ( 4) = 17-Apr-2003 01:51:06 pm
6 _DOCIDX FIX-text ( 12) = ☺
7 _PARTDESC FIX-text ( 32) = vdk150.dll (Verity, Inc. Version
8 _STYLE AUT-text ( 58) = C:/Users/Test/Desktop/coll/style/style.ddd
9 _DOCID FIX-unsg ( 4) = 1
10 _SECURITY FIX-unsg ( 4) = 0
12 VdkVgwKey_IX FIX-unsg ( 3) = 53
13 VdkVgwKey_MI WRM-text ( 93) = C:\Documents and Settings\khakkara.RATIONAL
\Desktop\DOCCD\rational_clearcase_lt\cc_admin.pdf
14 VdkVgwKey_MX WRM-text ( 75) = C:\Documents and Settings\khakkara.RATIONAL
\Desktop\DOCCD\using_search.pdf
15 VdkVgwKey_OF FIX-unsg ( 4) = 32
16 VdkVgwKey_SZ FIX-unsg ( 2) = 75
17 Exists FIX-unsg ( 1) = 100
18 IsAChunk FIX-unsg ( 1) = 0
19 LargeDoc FIX-unsg ( 1) = 187
20 StartPage FIX-unsg ( 4) = 1
21 EndPage FIX-unsg ( 4) = 0
22 StartPageFrom FIX-unsg ( 4) = 0
23 EndPageAt FIX-unsg ( 4) = 0
24 FileName VAR-text ( 24) = ()(.)(using_search.pdf)
25 PageMap VAR-text ( 4) = D
26 NumPages FIX-unsg ( 4) = 2
27 PermanentID FIX-text ( 32) = 177032712d4a99426aa238bdad896ba2
28 WXEVersion FIX-unsg ( 1) = 2
29 FTS_Title VAR-text ( 41) = Using Search with Rational Documentation
30 FTS_Subject VAR-text ( 0) =
31 FTS_Author VAR-text ( 18) = Rational Software
32 FTS_Keywords VAR-text ( 57) = search, find, full-text Rational Version 20
03.06.00 Beta
33 FTS_Creator VAR-text ( 15) = FrameMaker 7.0
34 FTS_Producer VAR-text ( 34) = Acrobat Distiller 5.0.5 (Windows)
35 FTS_CreationDate FIX-xdat ( 4) = 02-Jul-2002 09:01:00 pm
36 FTS_ModificationDate FIX-xdat ( 4) = 03-Apr-2003 10:08:00 pm
37 DOC DSP-text ( -1) = C:\Documents and Settings\khakkara.RATIONAL
\Desktop\DOCCD\using_search.pdf
38 DOC_FN VAR-text ( 75) = C:/Documents and Settings/khakkara.RATIONAL
/Desktop/DOCCD/using_search.pdf
39 FileName_OF FIX-unsg ( 4) = 32
40 FileName_SZ FIX-unsg ( 2) = 24
41 PageMap_OF FIX-unsg ( 4) = 105
42 PageMap_SZ FIX-unsg ( 2) = 4
43 FTS_Title_OF FIX-unsg ( 4) = 32
44 FTS_Title_SZ FIX-unsg ( 2) = 41
45 FTS_Subject_OF FIX-unsg ( 4) = 0
46 FTS_Subject_SZ FIX-unsg ( 2) = 0
47 FTS_Author_OF FIX-unsg ( 4) = 32
48 FTS_Author_SZ FIX-unsg ( 2) = 18
49 FTS_Keywords_OF FIX-unsg ( 4) = 32
50 FTS_Keywords_SZ FIX-unsg ( 2) = 57
51 FTS_Creator_OF FIX-unsg ( 4) = 90
52 FTS_Creator_SZ FIX-unsg ( 2) = 15
53 FTS_Producer_OF FIX-unsg ( 4) = 56
54 FTS_Producer_SZ FIX-unsg ( 2) = 34
55 DOC_OF FIX-unsg ( 4) = 0
56 DOC_SZ FIX-unsg ( 4) = 4294967295
57 DOC_FN_OF FIX-unsg ( 4) = 32
58 DOC_FN_SZ FIX-unsg ( 2) = 75
59 InstanceID FIX-text ( 32) = 77b25f03d16bf386317bd13c3eba7d5e
60 InstanceID_IX FIX-unsg ( 3) = 22
61 DirID VAR-text ( 6) = ()(.)
62 DirID_IX FIX-unsg ( 3) = 0
63 DirID_OF FIX-unsg ( 4) = 32
64 DirID_SZ FIX-unsg ( 2) = 6
再次按Enter可以显示下一条记录。
进一步阅读
获取 Verity 实用程序
获取副本的最简单方法是下载包含这些内容的软件。例如,捆绑在一些戴尔多功能打印机和旧版 ColdFusion 试用版。
手动安装
我将使用PaperPort 15 天试用举个例子。
下载试用版。以下是直接链接:
使用打开可执行文件7-Zip,并将该
PaperPort
文件夹解压到某处。打开命令提示符并导航到刚刚解压的文件夹:
cd /d "X:\Whatever\PaperPort"
通过在管理模式下运行 MSI 安装程序来提取所有文件:
msiexec /a "Nuance PaperPort 14.msi" targetdir="%cd%\Temp"
继续安装。安装程序完成后,您会在以下文件夹中找到 Verity 工具:
X:\Whatever\PaperPort\Temp\program files\Nuance\PaperPort\Verity\vdk\_nti40\bin
样品收集
以下是我在网上找到的一些 Verity 合集。它们可能对测试有用,或者只是为了更好地了解它们的工作原理:
- ftp://ftp.boulder.ibm.com/software/rational/docs/v2003/win_solutions/index/
- http://www.oecd-nea.org/dbdata/nds_jefreports/jefreport-17/Searches/Searchall/
- http://www.appservgrid.com/documentation/docs/rdbms10g/windows/index/
- http://jotm.objectweb.org/related/ccontrol/Images/Index/
- http://hydro.tg.free.fr/doc/hydro/oleostart/Indice/MASTER/
- http://signal.ee.bilkent.edu.tr/defevent/srchidx/absidx/
- http://www.nt.ntnu.no/users/skoge/prost/proceedings/acc04/ACC2004/