How can `kernel32.dll` export an ordinal of 0, when its `OrdinalBase` field is set to 1?

后端 未结 1 1457
一个人的身影
一个人的身影 2021-01-03 17:16

Looking at kernel32.dll as it is loaded into memory, I see the following export ordinal table:

(gdb) x /400hd $eax

0x776334b0 :         


        
相关标签:
1条回答
  • 2021-01-03 17:42

    This is a known error in the PE/COFF specification. The algorithm specified is plain wrong, and it should be

    ordinal = ExportOrdinalTable [i] + OrdinalBase;
    

    not

    ordinal = ExportOrdinalTable [i];
    

    as the ordinal table actually contains unbiased ordinals.

    0 讨论(0)
提交回复
热议问题