PDB v2.0 文件格式文档

逆向工程 文件格式 数据库
2021-06-13 09:21:08

我在哪里可以找到这些信息?我已经阅读了有关它的未记录的 Windows 2000 秘密解释,但它并不完整。例如,没有解释第三个流格式。我看过这个,其中提供了一些关于流的一般信息,但仅此而已。

4个回答

这是直接来自微软的东西。

https://github.com/Microsoft/microsoft-pdb

由于格式是 Microsoft 内部的,您可能找不到任何官方文档。最好的办法是对格式进行各种逆向工程:

PS 我只记得有一个名为“CCI Metadata”的开源 Microsoft 项目,它确实提供了一些用于读取和写入 PDB 文件的 C# 代码。不确定使用它来制作您自己的 PDB 解析器的合法性,但它确实提供了可能与您可以获得的官方文档最接近的信息。

这是我发现的:

PdbXtract 不是纯粹的 PDB 解析器。它仅使用 Microsoft 的 DebugInterface Access (DIA) COM 提取类型信息。如果您只对解析/转储原始 PDB 信息感兴趣,那么 DIA 有一些替代方案,包括 Volatility 的开源 pdbparse ( http://code.google.com/p/pdbparse/ ) 或随附的 PDB 实用程序与 Undocumented Windows 2000 Secrets 一书。但是,我见过的大部分操作PDB的实用工具都使用DIA,包括微软自己的Dia2dump,这个http://www.codeproject.com/Articles/37456/How-To-Inspect-the-Content-of- a-Program-Database-P和这个http://www.ishani.org/web/articles/obsolete/pdb-cracking-tool/,仅举几例。重申一下,PdbXtract 不会解析或捕获 PDB 中可用的大量其他信息,包括:函数、调试流、模块、公共、全局变量、文件、节信息、注入的源、源文件、OEM 特定类型、编译器和其他。