代码之家  ›  专栏  ›  技术社区  ›  David Souther

Linux上的Exchange edb

  •  1
  • David Souther  · 技术社区  · 16 年前

    我有一个60GB的edb文件,我想把数据库分成单独的电子邮件。我没有任何原始的域信息,所以我不能启动服务器2k8虚拟机,然后重新连接到那里。我用一种简单的方法从文件(从60 GB到30 GB)中剥离二进制数据(不是0x09、0x0a、0x0d和0x20到0x7f的字节),然后在明显的SMTP头处拆分这些数据,取得了一些进展。这种方法似乎不起作用,因为Exchange没有将整个电子邮件放在一个连续的块中,而且它似乎复制了很多电子邮件(这可能是将整个文件视为一个文件系统的产物,而不是做一些更明智的事,比如让文件系统成为一个文件系统,只存储电子邮件)在/var/mail或类似文件中)。

    所以,问题是:在这个世界上隐藏了哪些用于Exchange数据库文件格式的工具和文档,而Google却不能或不愿向我展示?

    1 回复  |  直到 15 年前
        1
  •  3
  •   fmotis    15 年前

    看看约阿希姆·梅茨的作品。他对edb格式进行了反向工程,并对exchange数据库进行了有限的分析。它是开源的,甚至有一些关于表和列的文档:

    http://sourceforge.net/projects/libesedb/files/

    然而,它并没有做更多的比你似乎已经实现。它将edb的所有表导出到单独的文件中。您必须使用提供的文档,并根据从数据库导出的位和字节自行编写电子邮件。请记住,虽然有关电子邮件和附件的信息是相当分散的,所有列的名称是相当神秘的。你必须自己做一些研究和逆向工程来度过这个数据丛林。

    因为这个项目是开源的,所以您可以调整或扩展代码,并“轻松”地到达您想要的地方。