<
From version < 35.1 >
edited by nuggs
on 2021/03/08 12:39
To version < 36.1 >
edited by nuggs
on 2021/03/11 17:15
>
Change comment: clarifications

Summary

Details

Page properties
Content
... ... @@ -17,10 +17,10 @@
17 17  |0x0E|2|Padding
18 18  |0x10|4|Constructor offset (relative end of header)
19 19  |0x14|4|Destructor offset (relative end of header)
20 -|0x18|4|Unused
20 +|0x18|4|Beginning of export table (intentionally zeroed)
21 21  |0x1C|4 * count|Export offsets (relative end of header)
22 -|0x1C + 4 * count|4|Unused
23 -|0x20 + 4 * count|*|Body
22 +|0x1C + 4 * count|4|Unused (intentionally zeroed)
23 +|0x20 + 4 * count|*|Body (code, usually followed by relocation table and data)
24 24  
25 25  The export count is often checked by the code responsible for loading any specific DLL as a method of determining compatibility. If the DLL does not export enough functions to satisfy the requesting code, it is immediately unloaded.
26 26  
... ... @@ -31,18 +31,18 @@
31 31  (% border="0" %)
32 32  |=Value|=Description
33 33  |*|(((
34 -Descriptors for RODATA segment.
34 +Global offset table (GOT).
35 35  If the MSB (bit 31) is set, this is an index into DLLSIMPORTTAB to resolve a pointer to the base executable.
36 36  If the MSB is not set, this is an offset relative end of header to something within the DLL.
37 37  )))
38 38  |0xFFFFFFFE|Terminates the above section.
39 39  |*|(((
40 -Descriptors for TEXT segment.
41 -These are offsets relative end of header to the start of DLL entrypoints for patching the $gp initializer stub.
40 +"_gp_disp" relocations for TEXT segment.
41 +These are offsets relative end of header to the start of DLL entrypoints for patching the $gp initializer stub. Otherwise, linking for this segment takes place ahead of time.
42 42  )))
43 43  |0xFFFFFFFD|Terminates the above section.
44 44  |*|(((
45 -Descriptors for DATA segment.
45 +Relocations for DATA segment.
46 46  These are offsets relative the start of the DATA segment, to offsets stored in that segment that are to be replaced with pointers.
47 47  )))
48 48  |0xFFFFFFFF|Terminates the above section.