directories
flavor.psp.format_2025.pe_utils.directories
¶
PE data directory utilities.
Provides utilities for updating PE data directory offsets, including certificate and debug directories.
Functions¶
update_data_directories
¶
Update data directory file offsets after DOS stub expansion.
The Certificate Table (data directory entry #4) is special: it uses absolute file offsets instead of RVAs. When the DOS stub expands, this offset must be updated. Other data directories use RVAs (relative to image base) and don't need updating.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
bytearray
|
PE executable data (modified in-place) |
required |
padding_size
|
int
|
Number of bytes added to DOS stub |
required |
Source code in flavor/psp/format_2025/pe_utils/directories.py
update_debug_directory
¶
Update debug directory entries' PointerToRawData values after DOS stub expansion.
The Debug Directory (data directory entry #6) contains an array of IMAGE_DEBUG_DIRECTORY structures. Each structure has both AddressOfRawData (RVA) and PointerToRawData (absolute file offset). The PointerToRawData field MUST be updated when the DOS stub expands.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
bytearray
|
PE executable data (modified in-place) |
required |
padding_size
|
int
|
Number of bytes added to DOS stub |
required |
Source code in flavor/psp/format_2025/pe_utils/directories.py
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | |