2008-12-19 8 views

回答

2

DLL文件格式与EXE文件PE(可移植可执行文件)格式相同。您可以从Microsoft获得a copy of the specification。您也可以尝试Wotsit以获取一般文件格式信息。

Windows提供ImageHlp API来处理可执行文件。 LoadImage函数看起来是一个很好的开始。

您还应该看看the "Portable Executable File Format" chapter未记录的Windows NT。它似乎描述了如何使用ImageHlp来获取二进制文件的各个部分。我认为你最感兴趣的部分在第四页上,它描述了PE文件的IMAGE_DIRECTORY_ENTRY_IMPORT部分。

+0

嗨,感谢您的回复。 我看过这个规范,但它绝对看起来好像在光盘上的结构不同于内存(尽管我可能会误)。你一定可以看到,idata部分包含两个列表 - 函数ptrs和函数名之一。 – user47741 2008-12-20 23:43:59

0

看来我错了 - PE文件的结构在内存中似乎是相同的。

可以使用winnt.h中定义的结构来解释内存。

查看这些结构时,必须记住偏移量(或'RVA's [1])是小尾数。如果我只是将程序指向相关内存而不是使用调试器,我可能不会感到困惑。

[1]微软说。

相关问题