我正在用 C# 编写一个程序,在其中读取 PE 的字节。但为了获得 RVA,我需要使用部分标题。我想知道节标题的最大数量是多少?
我试过谷歌,我看过这里,但我没有找到任何可以指引我正确方向的东西
谢谢。
我正在用 C# 编写一个程序,在其中读取 PE 的字节。但为了获得 RVA,我需要使用部分标题。我想知道节标题的最大数量是多少?
我试过谷歌,我看过这里,但我没有找到任何可以指引我正确方向的东西
谢谢。
由于节数存储在一个 16 位整数中,因此可能存在的最多节数是 65535。在 XP 上,超过 96 个节的程序将无法运行。在 Vista 和 W7 上,您可以使用所有 65535 部分并且程序仍将运行。其他操作系统上可能存在其他限制。
您必须阅读 PE 标头。您可以在此处找到描述,也可以从MSDN下载完整描述
基本上,您必须阅读 MZ 标头,然后阅读 PE 标头。节的数量写在那里,所以你不能简单地说平均可执行文件中有 N 个节。
一个相当不错的介绍以及一些示例代码也可以在这里找到。