60enum XEXMediaFlags : u32 {
63 kXEXMediaHardDisk = 0x00000001,
64 kXEXMediaDVDX2 = 0x00000002,
65 kXEXMediaDVDCD = 0x00000004,
66 kXEXMediaDVD5 = 0x00000008,
67 kXEXMediaDVD9 = 0x00000010,
68 kXEXMediaSystemFlash = 0x00000020,
69 kXEXMediaMemoryUnit = 0x00000080,
70 kXEXMediaUSBMassStorageDevice = 0x00000100,
71 kXEXMediaNetwork = 0x00000200,
72 kXEXMediaDirectFromMemory = 0x00000400,
73 kXEXMediaRAMDrive = 0x00000800,
74 kXEXMediaSVOD = 0x00001000,
75 kXEXMediaInsecurePackage = 0x01000000,
76 kXEXMediaSaveGamePackage = 0x02000000,
77 kXEXMediaLocallySignedPackage = 0x04000000,
78 kXEXMediaLiveSignedPackage = 0x08000000,
79 kXEXMediaXboxPackage = 0x10000000,
94 kXEXRegionAll = 0xFFFFFFFF,
98enum XEXModuleFlags : u32 {
99 kXEXModuleTitle = 0x00000001,
100 kXEXModuleExportsToTitle = 0x00000002,
101 kXEXModuleSystemDebugger = 0x00000004,
102 kXEXModuleDLLModule = 0x00000008,
103 kXEXModuleModulePatch = 0x00000010,
104 kXEXModulePatchFull = 0x00000020,
105 kXEXModulePatchDelta = 0x00000040,
106 kXEXModuleUserMode = 0x00000080,
109enum XEXSystemFlags : u32 {
112 kXEXSystemNoForcedReboot = 0x00000001,
113 kXEXSystemForegroundTasks = 0x00000002,
114 kXEXSystemNoODDMapping = 0x00000004,
115 kXEXSystemHandleMCEInput = 0x00000008,
116 kXEXSystemRestrictedHUDFeatures = 0x00000010,
117 kXEXSystemHandleGamepadDisconnect = 0x00000020,
118 kXEXSystemInsecureSockets = 0x00000040,
119 kXEXSystemXbox1Interoperability = 0x00000080,
120 kXEXSystemDashContext = 0x00000100,
121 kXEXSystemUsesGameVoiceChannel = 0x00000200,
122 kXEXSystemPAL50Incompatible = 0x00000400,
123 kXEXSystemInsecureUtilityDrive = 0x00000800,
124 kXEXSystemXAMHooks = 0x00001000,
125 kXEXSystemAccessPII = 0x00002000,
126 kXEXSystemCrossPlatformSystemLink = 0x00004000,
127 kXEXSystemMultiDiscSwap = 0x00008000,
128 kXEXSystemMultiDiscInsecureMedia = 0x00010000,
129 kXEXSystemAP25Media = 0x00020000,
130 kXEXSystemNoConfirmExit = 0x00040000,
131 kXEXSystemAllowBackgroundDownload = 0x00080000,
132 kXEXSystemCreatePersistableRAMDrive = 0x00100000,
133 kXEXSystemInheritPersistentRAMDrive = 0x00200000,
134 kXEXSystemAllowHUDVibration = 0x00400000,
135 kXEXSystemAccessUtilityPartitions = 0x00800000,
136 kXEXSystemIPTVInputSupported = 0x01000000,
137 kXEXSystemPreferBigButtonInput = 0x02000000,
138 kXEXSystemAllowExtendedSystemReservation = 0x04000000,
139 kXEXSystemMultiDiscCrossTitle = 0x08000000,
140 kXEXSystemInstallIncompatible = 0x10000000,
141 kXEXSystemAllowAvatarGetMetadataByXUID = 0x20000000,
142 kXEXSystemAllowControllerSwapping = 0x40000000,
143 kXEXSystemDashExtensibilityModule = 0x80000000,
150 kXEXRatingESRBEC = 0x00,
151 kXEXRatingESRBE = 0x02,
152 kXEXRatingESRBE10 = 0x04,
153 kXEXRatingESRBT = 0x06,
154 kXEXRatingESRBM = 0x08,
155 kXEXRatingESRBAO = 0x0E,
156 kXEXRatingESRBUnrated = 0xFF,
161 kXEXRatingPEGI3Plus = 0,
162 kXEXRatingPEGI7Plus = 4,
163 kXEXRatingPEGI12Plus = 9,
164 kXEXRatingPEGI16Plus = 13,
165 kXEXRatingPEGI18Plus = 14,
166 kXEXRatingPEGIUnrated = 0xFF,
171 kXEXRatingPEGIFI3Plus = 0,
172 kXEXRatingPEGIFI7Plus = 4,
173 kXEXRatingPEGIFI11Plus = 8,
174 kXEXRatingPEGIFI15Plus = 12,
175 kXEXRatingPEGIFI18Plus = 14,
176 kXEXRatingPEGIFIUnrated = 0xFF,
181 kXEXRatingPEGIPT4Plus = 1,
182 kXEXRatingPEGIPT6Plus = 3,
183 kXEXRatingPEGIPT12Plus = 9,
184 kXEXRatingPEGIPT16Plus = 13,
185 kXEXRatingPEGIPT18Plus = 14,
186 kXEXRatingPEGIPTUnrated = 0xFF,
191 kXEXRatingBBFCUniversal = 1,
192 kXEXRatingBBFCPG = 5,
193 kXEXRatingBBFC3Plus = 0,
194 kXEXRatingBBFC7Plus = 4,
195 kXEXRatingBBFC12Plus = 9,
196 kXEXRatingBBFC15Plus = 12,
197 kXEXRatingBBFC16Plus = 13,
198 kXEXRatingBBFC18Plus = 14,
199 kXEXRatingBBFCUnrated = 0xFF,
209 kXEXRatingCEROUnrated = 0xFF,
214 kXEXRatingUSKAll = 0,
215 kXEXRatingUSK6Plus = 2,
216 kXEXRatingUSK12Plus = 4,
217 kXEXRatingUSK16Plus = 6,
218 kXEXRatingUSK18Plus = 8,
219 kXEXRatingUSKUnrated = 0xFF,
224 kXEXRatingOFLCAUG = 0,
225 kXEXRatingOFLCAUPG = 2,
226 kXEXRatingOFLCAUM = 4,
227 kXEXRatingOFLCAUMA15Plus = 6,
228 kXEXRatingOFLCAUUnrated = 0xFF,
233 kXEXRatingOFLCNZG = 0,
234 kXEXRatingOFLCNZPG = 2,
235 kXEXRatingOFLCNZM = 4,
236 kXEXRatingOFLCNZMA15Plus = 6,
237 kXEXRatingOFLCNZUnrated = 0xFF,
242 kXEXRatingKMRBAll = 0,
243 kXEXRatingKMRB12Plus = 2,
244 kXEXRatingKMRB15Plus = 4,
245 kXEXRatingKMRB18Plus = 6,
246 kXEXRatingKMRBUnrated = 0xFF,
251 kXEXRatingBrazilAll = 0,
252 kXEXRatingBrazil12Plus = 2,
253 kXEXRatingBrazil14Plus = 4,
254 kXEXRatingBrazil16Plus = 5,
255 kXEXRatingBrazil18Plus = 8,
256 kXEXRatingBrazilUnrated = 0xFF,
261 kXEXRatingFPBAll = 0,
263 kXEXRatingFPB10Plus = 7,
264 kXEXRatingFPB13Plus = 10,
265 kXEXRatingFPB16Plus = 13,
266 kXEXRatingFPB18Plus = 14,
267 kXEXRatingFPBUnrated = 0xFF,
271 kXEXHeaderResourceInfo = 0x000002FF,
272 kXEXHeaderFileFormatInfo = 0x000003FF,
273 kXEXHeaderDeltaPatchDescriptor = 0x000005FF,
274 kXEXHeaderBaseReference = 0x00000405,
275 kXEXHeaderBoundPath = 0x000080FF,
276 kXEXHeaderDeviceId = 0x00008105,
277 kXEXHeaderOriginalBaseAddress = 0x00010001,
282 kXEXHeaderImportLibraries = 0x000103FF,
283 kXEXHeaderChecksumTimestamp = 0x00018002,
284 kXEXHeaderEnabledForCallCap = 0x00018102,
285 kXEXHeaderEnabledForFastCap = 0x00018200,
286 kXEXHeaderOriginalPEName = 0x000183FF,
287 kXEXHeaderStaticLibraries = 0x000200FF,
288 kXEXHeaderTLSInfo = 0x00020104,
295 kXEXHeaderPageHeapSizeAndFlags = 0x00028002,
296 kXEXHeaderSystemFlags = 0x00030000,
297 kXEXHeaderExecutionInfo = 0x00040006,
300 kXEXHeaderGameRatings = 0x00040310,
301 kXEXHeaderLANKey = 0x00040404,
302 kXEXHeaderXbox360Logo = 0x000405FF,
303 kXEXHeaderMultiDiscMediaIDs = 0x000406FF,
306 kXEXHeaderAdditionalTitleMemory = 0x00040801,
312enum XEXEncryptionType : u16 {
313 kXEXEncryptionNone = 0,
314 kXEXEncryptionNormal = 1,
319 kXEXCompressionNone = 0,
327enum XEXApprovalType : u8 {
330 kXEXApprovalUnapproved = 0,
331 kXEXApprovalPossible = 1,
332 kXEXApprovalApproved = 2,
333 kXEXApprovalExpired = 3,
339 BE<XEXRatingESRBValue> esrb;
340 BE<XEXRatingPEGIValue> pegi;
341 BE<XEXRatingPEGIFIValue> pegifi;
342 BE<XEXRatingPEGIPTValue> pegipt;
343 BE<XEXRatingBBFCValue> bbfc;
344 BE<XEXRatingCEROValue> cero;
345 BE<XEXRatingUSKValue> usk;
346 BE<XEXRatingOFLCAUValue> oflcau;
347 BE<XEXRatingOFLCNZValue> oflcnz;
348 BE<XEXRatingKMRBValue> kmrb;
349 BE<XEXRatingBrazilValue> brazil;
350 BE<XEXRatingFPBValue> fpb;
381 BE<XEXEncryptionType> encryption_type;
382 BE<XEXCompressionType> compression_type;
388REX_STATIC_ASSERT_SIZE(XEXOptFileFormatInfo, 0x24);
414 be_u16 version_major;
415 be_u16 version_minor;
416 be_u16 version_build;
443 be_u32 raw_data_address;
467 be_u16 compressed_len;
538 char next_import_digest[0x14];
563 u32 GetCount()
const {
return (
size - 4) / 4; }
585 BE<XEXModuleFlags> module_flags;
593static_assert(offsetof(
XEXHeader, headers) == 0x18);
605 char data_digest[0x14];
613 char rsa_signature[0x100];
618 be_u32 import_table_count;
619 char import_table_digest[0x14];
620 char xgd2_media_id[0x10];
623 char header_digest[0x14];
626 be_u32 page_descriptor_count;
636 char rsa_signature[0x100];
637 char image_digest[0x14];
638 char import_table_digest[0x14];
641 char xgd2_media_id[0x10];
646 be_u32 page_descriptor_count;
XEXRatingOFLCAUValue
Definition xex.h:223
XEXImageFlags
Definition xex.h:33
@ kXEXImageRegionFree
Definition xex.h:54
@ kXEXImageXeikaKey
Definition xex.h:40
@ kXEXImageOrange0
Definition xex.h:43
@ kXEXImagePageSize4KB
Definition xex.h:51
@ kXEXImageManufacturingUtility
Definition xex.h:36
@ kXEXImageOnlineActivationRequired
Definition xex.h:49
@ kXEXImageUserModeTitle
Definition xex.h:41
@ kXEXImageRevocationCheckRequired
Definition xex.h:56
@ kXEXImageKeyVaultPrivilegesRequired
Definition xex.h:48
@ kXEXImageOrange2
Definition xex.h:45
@ kXEXImageManufacturingSupportTools
Definition xex.h:37
@ kXEXImageCardeaKey
Definition xex.h:39
@ kXEXImageRevocationCheckOptional
Definition xex.h:55
@ kXEXImageIPTVSignupApplication
Definition xex.h:46
@ kXEXImageIPTVTitleApplication
Definition xex.h:47
@ kXEXImageOrange1
Definition xex.h:44
@ kXEXImageUserModeSystem
Definition xex.h:42
@ kXEXImageXGD2MediaOnly
Definition xex.h:38
XEXRatingPEGIValue
Definition xex.h:160
XEXRatingUSKValue
Definition xex.h:213
XEXRatingPEGIPTValue
Definition xex.h:180
XEXRatingCEROValue
Definition xex.h:203
XEXRatingBrazilValue
Definition xex.h:250
XEXSectionType
Definition xex.h:26
@ kXEXSectionCode
Definition xex.h:27
@ kXEXSectionData
Definition xex.h:28
@ kXEXSectionReadOnlyData
Definition xex.h:29
XEXRatingESRBValue
Definition xex.h:149
XEXCompressionType
Definition xex.h:318
@ kXEXCompressionDelta
Definition xex.h:324
@ kXEXCompressionBasic
Definition xex.h:321
@ kXEXCompressionNormal
Definition xex.h:323
XEXRatingFPBValue
Definition xex.h:260
XEXRegionFlags
Definition xex.h:83
@ kXEXRegionPALAUNZ
Definition xex.h:92
@ kXEXRegionOther
Definition xex.h:93
@ kXEXRegionNTSCJ
Definition xex.h:87
@ kXEXRegionPAL
Definition xex.h:90
@ kXEXRegionNTSCU
Definition xex.h:85
@ kXEXRegionNTSCJJapan
Definition xex.h:88
@ kXEXRegionNTSCJChina
Definition xex.h:89
XEXHeaderKey
Definition xex.h:270
@ kXEXHeaderAlternateTitleIDs
Definition xex.h:305
@ kXEXHeaderTitleWorkspaceSize
Definition xex.h:299
@ kXEXHeaderExportsByName
Definition xex.h:308
@ kXEXHeaderDefaultStackSize
Definition xex.h:290
@ kXEXHeaderEntryPoint
Definition xex.h:279
@ kXEXHeaderDefaultHeapSize
Definition xex.h:294
@ kXEXHeaderDefaultFilesystemCacheSize
Definition xex.h:292
@ kXEXHeaderImageBaseAddress
Definition xex.h:281
XEXRatingKMRBValue
Definition xex.h:241
XEXRatingBBFCValue
Definition xex.h:190
XEXRatingOFLCNZValue
Definition xex.h:232
XEXRatingPEGIFIValue
Definition xex.h:170
T value
Definition types.h:181
char aes_key[0x10]
Definition xex.h:640
be_u32 region
Definition xex.h:642
be_u32 allowed_media_types
Definition xex.h:645
XEXPageDescriptor page_descriptors[1]
Definition xex.h:647
be_u32 image_flags
Definition xex.h:643
be_u32 block_size
Definition xex.h:367
char patch_data[1]
Definition xex.h:468
be_u16 uncompressed_len
Definition xex.h:466
be_u32 module_number[2]
Definition xex.h:655
be_u32 base
Definition xex.h:659
be_u32 count
Definition xex.h:658
be_u32 image_base_address
Definition xex.h:657
be_u32 ordinal_offset[1]
Definition xex.h:661
be_u32 zero_size
Definition xex.h:356
be_u32 data_size
Definition xex.h:355
XEXFileBasicCompressionBlock blocks[1]
Definition xex.h:362
be_u32 window_size
Definition xex.h:373
be_u32 size
Definition xex.h:406
char path[1]
Definition xex.h:407
be_u32 offset
Definition xex.h:436
be_u32 delta_image_source_size
Definition xex.h:487
be_u32 delta_headers_source_size
Definition xex.h:482
be_u32 delta_headers_source_offset
Definition xex.h:481
be_u32 target_version_value
Definition xex.h:475
be_u32 delta_image_source_offset
Definition xex.h:486
be_u32 size_of_target_headers
Definition xex.h:479
be_u32 source_version_value
Definition xex.h:476
u8 digest_source[0x14]
Definition xex.h:477
be_u32 delta_image_target_offset
Definition xex.h:489
be_u32 delta_headers_target_offset
Definition xex.h:484
u8 image_key_source[0x10]
Definition xex.h:478
u8 disc_number
Definition xex.h:510
be_u32 base_version_value
Definition xex.h:506
be_u32 version_value
Definition xex.h:505
be_u32 size
Definition xex.h:525
char name[1]
Definition xex.h:429
be_u32 size
Definition xex.h:428
be_u32 size
Definition xex.h:457
XEXResource resources[1]
Definition xex.h:458
be_u32 size
Definition xex.h:423
XEXOptStaticLibrary libraries[1]
Definition xex.h:424
be_u32 raw_data_size
Definition xex.h:445
be_u32 data_size
Definition xex.h:444
be_u32 size
Definition xex.h:560
be_u32 values[1]
Definition xex.h:561
u32 Name
Definition xex.h:672
u32 NumberOfNames
Definition xex.h:675
u32 AddressOfNames
Definition xex.h:677
u32 Base
Definition xex.h:673
u32 Characteristics
Definition xex.h:668
u32 AddressOfFunctions
Definition xex.h:676
u32 NumberOfFunctions
Definition xex.h:674
u32 TimeDateStamp
Definition xex.h:669
u32 AddressOfNameOrdinals
Definition xex.h:678
Integer types, byte order wrappers and size literals.