Changes

266 bytes added ,  11:43, 19 January 2014
no edit summary
Line 32: Line 32:  
| 0xAC
 
| 0xAC
 
| 0x04
 
| 0x04
| "Segment offset", symbols are loaded relative to this
+
| "Segment offset", symbols are loaded relative to this. Probably filled by dynamic linker, set to 0xFFFFFFFF in file.
 
|-
 
|-
 
| 0xB0
 
| 0xB0
Line 92: Line 92:  
| 0xE8
 
| 0xE8
 
| 0x04
 
| 0x04
| Export Info offset
+
| Export Tree offset (fast lookups based on strlen)
 
|-
 
|-
 
| 0xEC
 
| 0xEC
 
| 0x04
 
| 0x04
| Export Info num (size = num * 8)
+
| Export Tree num (size = num * 8)
 
|-
 
|-
 
| 0xF0
 
| 0xF0
Line 120: Line 120:  
| 0x104
 
| 0x104
 
| 0x04
 
| 0x04
| Import Table 1 num (size = num * 4)
+
| Import Table 1 num (size = num * 8)
 
|-
 
|-
 
| 0x108
 
| 0x108
Line 128: Line 128:  
| 0x10C
 
| 0x10C
 
| 0x04
 
| 0x04
| Import Table 2 num (size = num * 4)
+
| Import Table 2 num (size = num * 8)
 
|-
 
|-
 
| 0x110
 
| 0x110
Line 136: Line 136:  
| 0x114
 
| 0x114
 
| 0x04
 
| 0x04
| Import Table 3 num (size = num * 4)
+
| Import Table 3 num (size = num * 8)
 
|-
 
|-
 
| 0x118
 
| 0x118
Line 169: Line 169:  
| 0x04
 
| 0x04
 
| unk9 num
 
| unk9 num
 +
|}
 +
 +
Segment offset (4 bytes)
 +
 +
{| class="wikitable" border="1"
 +
!  Bits
 +
!  Description
 +
|-
 +
| 0-3
 +
| Segment index for table
 +
|-
 +
| 4-31
 +
| Offset into segment
 
|}
 
|}
   Line 188: Line 201:  
| 0x4
 
| 0x4
 
| Segment id (0, 1, 2..)
 
| Segment id (0, 1, 2..)
 +
|}
 +
 +
Export Table entry (8 bytes)
 +
{| class="wikitable" border="1"
 +
!  Offset
 +
!  Size
 +
!  Description
 +
|-
 +
| 0x0
 +
| 0x4
 +
| Name offset
 +
|-
 +
| 0x4
 +
| 0x4
 +
| "Segment offset" for export
 
|}
 
|}
   Line 240: Line 268:  
   If (X&1) == 1 then write "b 0" (infinite loop).
 
   If (X&1) == 1 then write "b 0" (infinite loop).
 
   Else write as normal.
 
   Else write as normal.
  −
Segment offset (4 bytes)
  −
  −
{| class="wikitable" border="1"
  −
!  Bits
  −
!  Description
  −
|-
  −
| 0-3
  −
| Segment index for table
  −
|-
  −
| 4-31
  −
| Offset into segment
  −
|}
      
CRO with extension .cro is used for "DLLs". CRS with extension .crs can be used for storing "DLL" symbols as well. The end of the file is aligned to a 0x1000-byte boundary with 0xCC bytes.
 
CRO with extension .cro is used for "DLLs". CRS with extension .crs can be used for storing "DLL" symbols as well. The end of the file is aligned to a 0x1000-byte boundary with 0xCC bytes.