0

替代文字

从上面我们可以看到重定位表条目的计数0(没有重定位项),但是第一个重定位项的偏移量表明重定位项确实存在。

DOS EXE Header 的定义在这里

怎么理解?

4

2 回答 2

1

这个是正常的。对于像 PE 这样的现代格式,重定位表的偏移量始终为 0040H,即使有零个重定位项。

于 2010-09-29T20:58:36.787 回答
0

您必须查看 EXE 标头大小(如DOS_HdrSize屏幕截图所示)。这是整个标题使用的段落数(16 字节块)。

在您的示例中0x0004,将其乘以 16,您将得到标头长度为0x40字节。重定位表从重定位表偏移量开始,一直持续到DOS_ReloCnt条目的末尾。

在您的情况下,重定位表偏移量是0x40,并且标题的末尾也是0x40因此没有空间用于重定位表,这也很好,因为DOS_ReloCnt它说其中有零条目。

在这种情况下,重定位表偏移设置为什么值可能并不重要。

于 2021-01-21T05:32:15.213 回答