xbe
#
Python 3 Library to work with .xbe files, the executable file format for the original Xbox game console.
- class xbe.XbeKernelImage[source]#
Bases:
object
xboxkrnl.exe model
- exports = {1: 'AvGetSavedDataAddress', 2: 'AvSendTVEncoderOption', 3: 'AvSetDisplayMode', 4: 'AvSetSavedDataAddress', 5: 'DbgBreakPoint', 6: 'DbgBreakPointWithStatus', 7: 'DbgLoadImageSymbols', 8: 'DbgPrint', 9: 'HalReadSMCTrayState', 10: 'DbgPrompt', 11: 'DbgUnLoadImageSymbols', 12: 'ExAcquireReadWriteLockExclusive', 13: 'ExAcquireReadWriteLockShared', 14: 'ExAllocatePool', 15: 'ExAllocatePoolWithTag', 16: 'ExEventObjectType', 17: 'ExFreePool', 18: 'ExInitializeReadWriteLock', 19: 'ExInterlockedAddLargeInteger', 20: 'ExInterlockedAddLargeStatistic', 21: 'ExInterlockedCompareExchange64', 22: 'ExMutantObjectType', 23: 'ExQueryPoolBlockSize', 24: 'ExQueryNonVolatileSetting', 25: 'ExReadWriteRefurbInfo', 26: 'ExRaiseException', 27: 'ExRaiseStatus', 28: 'ExReleaseReadWriteLock', 29: 'ExSaveNonVolatileSetting', 30: 'ExSemaphoreObjectType', 31: 'ExTimerObjectType', 32: 'ExfInterlockedInsertHeadList', 33: 'ExfInterlockedInsertTailList', 34: 'ExfInterlockedRemoveHeadList', 35: 'FscGetCacheSize', 36: 'FscInvalidateIdleBlocks', 37: 'FscSetCacheSize', 38: 'HalClearSoftwareInterrupt', 39: 'HalDisableSystemInterrupt', 40: 'HalDiskCachePartitionCount', 41: 'HalDiskModelNumber', 42: 'HalDiskSerialNumber', 43: 'HalEnableSystemInterrupt', 44: 'HalGetInterruptVector', 45: 'HalReadSMBusValue', 46: 'HalReadWritePCISpace', 47: 'HalRegisterShutdownNotification', 48: 'HalRequestSoftwareInterrupt', 49: 'HalReturnToFirmware', 50: 'HalWriteSMBusValue', 51: 'InterlockedCompareExchange', 52: 'InterlockedDecrement', 53: 'InterlockedIncrement', 54: 'InterlockedExchange', 55: 'InterlockedExchangeAdd', 56: 'InterlockedFlushSList', 57: 'InterlockedPopEntrySList', 58: 'InterlockedPushEntrySList', 59: 'IoAllocateIrp', 60: 'IoBuildAsynchronousFsdRequest', 61: 'IoBuildDeviceIoControlRequest', 62: 'IoBuildSynchronousFsdRequest', 63: 'IoCheckShareAccess', 64: 'IoCompletionObjectType', 65: 'IoCreateDevice', 66: 'IoCreateFile', 67: 'IoCreateSymbolicLink', 68: 'IoDeleteDevice', 69: 'IoDeleteSymbolicLink', 70: 'IoDeviceObjectType', 71: 'IoFileObjectType', 72: 'IoFreeIrp', 73: 'IoInitializeIrp', 74: 'IoInvalidDeviceRequest', 75: 'IoQueryFileInformation', 76: 'IoQueryVolumeInformation', 77: 'IoQueueThreadIrp', 78: 'IoRemoveShareAccess', 79: 'IoSetIoCompletion', 80: 'IoSetShareAccess', 81: 'IoStartNextPacket', 82: 'IoStartNextPacketByKey', 83: 'IoStartPacket', 84: 'IoSynchronousDeviceIoControlRequest', 85: 'IoSynchronousFsdRequest', 86: 'IofCallDriver', 87: 'IofCompleteRequest', 88: 'KdDebuggerEnabled', 89: 'KdDebuggerNotPresent', 90: 'IoDismountVolume', 91: 'IoDismountVolumeByName', 92: 'KeAlertResumeThread', 93: 'KeAlertThread', 94: 'KeBoostPriorityThread', 95: 'KeBugCheck', 96: 'KeBugCheckEx', 97: 'KeCancelTimer', 98: 'KeConnectInterrupt', 99: 'KeDelayExecutionThread', 100: 'KeDisconnectInterrupt', 101: 'KeEnterCriticalRegion', 102: 'MmGlobalData', 103: 'KeGetCurrentIrql', 104: 'KeGetCurrentThread', 105: 'KeInitializeApc', 106: 'KeInitializeDeviceQueue', 107: 'KeInitializeDpc', 108: 'KeInitializeEvent', 109: 'KeInitializeInterrupt', 110: 'KeInitializeMutant', 111: 'KeInitializeQueue', 112: 'KeInitializeSemaphore', 113: 'KeInitializeTimerEx', 114: 'KeInsertByKeyDeviceQueue', 115: 'KeInsertDeviceQueue', 116: 'KeInsertHeadQueue', 117: 'KeInsertQueue', 118: 'KeInsertQueueApc', 119: 'KeInsertQueueDpc', 120: 'KeInterruptTime', 121: 'KeIsExecutingDpc', 122: 'KeLeaveCriticalRegion', 123: 'KePulseEvent', 124: 'KeQueryBasePriorityThread', 125: 'KeQueryInterruptTime', 126: 'KeQueryPerformanceCounter', 127: 'KeQueryPerformanceFrequency', 128: 'KeQuerySystemTime', 129: 'KeRaiseIrqlToDpcLevel', 130: 'KeRaiseIrqlToSynchLevel', 131: 'KeReleaseMutant', 132: 'KeReleaseSemaphore', 133: 'KeRemoveByKeyDeviceQueue', 134: 'KeRemoveDeviceQueue', 135: 'KeRemoveEntryDeviceQueue', 136: 'KeRemoveQueue', 137: 'KeRemoveQueueDpc', 138: 'KeResetEvent', 139: 'KeRestoreFloatingPointState', 140: 'KeResumeThread', 141: 'KeRundownQueue', 142: 'KeSaveFloatingPointState', 143: 'KeSetBasePriorityThread', 144: 'KeSetDisableBoostThread', 145: 'KeSetEvent', 146: 'KeSetEventBoostPriority', 147: 'KeSetPriorityProcess', 148: 'KeSetPriorityThread', 149: 'KeSetTimer', 150: 'KeSetTimerEx', 151: 'KeStallExecutionProcessor', 152: 'KeSuspendThread', 153: 'KeSynchronizeExecution', 154: 'KeSystemTime', 155: 'KeTestAlertThread', 156: 'KeTickCount', 157: 'KeTimeIncrement', 158: 'KeWaitForMultipleObjects', 159: 'KeWaitForSingleObject', 160: 'KfRaiseIrql', 161: 'KfLowerIrql', 162: 'KiBugCheckData', 163: 'KiUnlockDispatcherDatabase', 164: 'LaunchDataPage', 165: 'MmAllocateContiguousMemory', 166: 'MmAllocateContiguousMemoryEx', 167: 'MmAllocateSystemMemory', 168: 'MmClaimGpuInstanceMemory', 169: 'MmCreateKernelStack', 170: 'MmDeleteKernelStack', 171: 'MmFreeContiguousMemory', 172: 'MmFreeSystemMemory', 173: 'MmGetPhysicalAddress', 174: 'MmIsAddressValid', 175: 'MmLockUnlockBufferPages', 176: 'MmLockUnlockPhysicalPage', 177: 'MmMapIoSpace', 178: 'MmPersistContiguousMemory', 179: 'MmQueryAddressProtect', 180: 'MmQueryAllocationSize', 181: 'MmQueryStatistics', 182: 'MmSetAddressProtect', 183: 'MmUnmapIoSpace', 184: 'NtAllocateVirtualMemory', 185: 'NtCancelTimer', 186: 'NtClearEvent', 187: 'NtClose', 188: 'NtCreateDirectoryObject', 189: 'NtCreateEvent', 190: 'NtCreateFile', 191: 'NtCreateIoCompletion', 192: 'NtCreateMutant', 193: 'NtCreateSemaphore', 194: 'NtCreateTimer', 195: 'NtDeleteFile', 196: 'NtDeviceIoControlFile', 197: 'NtDuplicateObject', 198: 'NtFlushBuffersFile', 199: 'NtFreeVirtualMemory', 200: 'NtFsControlFile', 201: 'NtOpenDirectoryObject', 202: 'NtOpenFile', 203: 'NtOpenSymbolicLinkObject', 204: 'NtProtectVirtualMemory', 205: 'NtPulseEvent', 206: 'NtQueueApcThread', 207: 'NtQueryDirectoryFile', 208: 'NtQueryDirectoryObject', 209: 'NtQueryEvent', 210: 'NtQueryFullAttributesFile', 211: 'NtQueryInformationFile', 212: 'NtQueryIoCompletion', 213: 'NtQueryMutant', 214: 'NtQuerySemaphore', 215: 'NtQuerySymbolicLinkObject', 216: 'NtQueryTimer', 217: 'NtQueryVirtualMemory', 218: 'NtQueryVolumeInformationFile', 219: 'NtReadFile', 220: 'NtReadFileScatter', 221: 'NtReleaseMutant', 222: 'NtReleaseSemaphore', 223: 'NtRemoveIoCompletion', 224: 'NtResumeThread', 225: 'NtSetEvent', 226: 'NtSetInformationFile', 227: 'NtSetIoCompletion', 228: 'NtSetSystemTime', 229: 'NtSetTimerEx', 230: 'NtSignalAndWaitForSingleObjectEx', 231: 'NtSuspendThread', 232: 'NtUserIoApcDispatcher', 233: 'NtWaitForSingleObject', 234: 'NtWaitForSingleObjectEx', 235: 'NtWaitForMultipleObjectsEx', 236: 'NtWriteFile', 237: 'NtWriteFileGather', 238: 'NtYieldExecution', 239: 'ObCreateObject', 240: 'ObDirectoryObjectType', 241: 'ObInsertObject', 242: 'ObMakeTemporaryObject', 243: 'ObOpenObjectByName', 244: 'ObOpenObjectByPointer', 245: 'ObpObjectHandleTable', 246: 'ObReferenceObjectByHandle', 247: 'ObReferenceObjectByName', 248: 'ObReferenceObjectByPointer', 249: 'ObSymbolicLinkObjectType', 250: 'ObfDereferenceObject', 251: 'ObfReferenceObject', 252: 'PhyGetLinkState', 253: 'PhyInitialize', 254: 'PsCreateSystemThread', 255: 'PsCreateSystemThreadEx', 256: 'PsQueryStatistics', 257: 'PsSetCreateThreadNotifyRoutine', 258: 'PsTerminateSystemThread', 259: 'PsThreadObjectType', 260: 'RtlAnsiStringToUnicodeString', 261: 'RtlAppendStringToString', 262: 'RtlAppendUnicodeStringToString', 263: 'RtlAppendUnicodeToString', 264: 'RtlAssert', 265: 'RtlCaptureContext', 266: 'RtlCaptureStackBackTrace', 267: 'RtlCharToInteger', 268: 'RtlCompareMemory', 269: 'RtlCompareMemoryUlong', 270: 'RtlCompareString', 271: 'RtlCompareUnicodeString', 272: 'RtlCopyString', 273: 'RtlCopyUnicodeString', 274: 'RtlCreateUnicodeString', 275: 'RtlDowncaseUnicodeChar', 276: 'RtlDowncaseUnicodeString', 277: 'RtlEnterCriticalSection', 278: 'RtlEnterCriticalSectionAndRegion', 279: 'RtlEqualString', 280: 'RtlEqualUnicodeString', 281: 'RtlExtendedIntegerMultiply', 282: 'RtlExtendedLargeIntegerDivide', 283: 'RtlExtendedMagicDivide', 284: 'RtlFillMemory', 285: 'RtlFillMemoryUlong', 286: 'RtlFreeAnsiString', 287: 'RtlFreeUnicodeString', 288: 'RtlGetCallersAddress', 289: 'RtlInitAnsiString', 290: 'RtlInitUnicodeString', 291: 'RtlInitializeCriticalSection', 292: 'RtlIntegerToChar', 293: 'RtlIntegerToUnicodeString', 294: 'RtlLeaveCriticalSection', 295: 'RtlLeaveCriticalSectionAndRegion', 296: 'RtlLowerChar', 297: 'RtlMapGenericMask', 298: 'RtlMoveMemory', 299: 'RtlMultiByteToUnicodeN', 300: 'RtlMultiByteToUnicodeSize', 301: 'RtlNtStatusToDosError', 302: 'RtlRaiseException', 303: 'RtlRaiseStatus', 304: 'RtlTimeFieldsToTime', 305: 'RtlTimeToTimeFields', 306: 'RtlTryEnterCriticalSection', 307: 'RtlUlongByteSwap', 308: 'RtlUnicodeStringToAnsiString', 309: 'RtlUnicodeStringToInteger', 310: 'RtlUnicodeToMultiByteN', 311: 'RtlUnicodeToMultiByteSize', 312: 'RtlUnwind', 313: 'RtlUpcaseUnicodeChar', 314: 'RtlUpcaseUnicodeString', 315: 'RtlUpcaseUnicodeToMultiByteN', 316: 'RtlUpperChar', 317: 'RtlUpperString', 318: 'RtlUshortByteSwap', 319: 'RtlWalkFrameChain', 320: 'RtlZeroMemory', 321: 'XboxEEPROMKey', 322: 'XboxHardwareInfo', 323: 'XboxHDKey', 324: 'XboxKrnlVersion', 325: 'XboxSignatureKey', 326: 'XeImageFileName', 327: 'XeLoadSection', 328: 'XeUnloadSection', 329: 'READ_PORT_BUFFER_UCHAR', 330: 'READ_PORT_BUFFER_USHORT', 331: 'READ_PORT_BUFFER_ULONG', 332: 'WRITE_PORT_BUFFER_UCHAR', 333: 'WRITE_PORT_BUFFER_USHORT', 334: 'WRITE_PORT_BUFFER_ULONG', 335: 'XcSHAInit', 336: 'XcSHAUpdate', 337: 'XcSHAFinal', 338: 'XcRC4Key', 339: 'XcRC4Crypt', 340: 'XcHMAC', 341: 'XcPKEncPublic', 342: 'XcPKDecPrivate', 343: 'XcPKGetKeyLen', 344: 'XcVerifyPKCS1Signature', 345: 'XcModExp', 346: 'XcDESKeyParity', 347: 'XcKeyTable', 348: 'XcBlockCrypt', 349: 'XcBlockCryptCBC', 350: 'XcCryptService', 351: 'XcUpdateCrypto', 352: 'RtlRip', 353: 'XboxLANKey', 354: 'XboxAlternateSignatureKeys', 355: 'XePublicKeyData', 356: 'HalBootSMCVideoMode', 357: 'IdexChannelObject', 358: 'HalIsResetOrShutdownPending', 359: 'IoMarkIrpMustComplete', 360: 'HalInitiateShutdown', 361: 'RtlSnprintf', 362: 'RtlSprintf', 363: 'RtlVsnprintf', 364: 'RtlVsprintf', 365: 'HalEnableSecureTrayEject', 366: 'HalWriteSMCScratchRegister', 374: 'MmDbgAllocateMemory', 375: 'MmDbgFreeMemory', 376: 'MmDbgQueryAvailablePages', 377: 'MmDbgReleaseAddress', 378: 'MmDbgWriteCheck'}#
- class xbe.XbeImageHeader[source]#
Bases:
EnumMapperMixin
,Structure
,StructurePrintMixin
XBE Image Header structure
- class InitFlags(value)[source]#
Bases:
IntFlag
XBE init flags
- MOUNT_UTILITY_DRIVE = 1#
- FORMAT_UTILITY_DRIVE = 2#
- LIMIT64MB = 4#
- DONT_SETUP_HARD_DISK = 8#
- base_addr#
Structure/Union member
- certificate_addr#
Structure/Union member
- debug_filename_addr#
Structure/Union member
- debug_pathname_addr#
Structure/Union member
- debug_unicode_filename_addr#
Structure/Union member
- dumps(indent=0)#
Pretty-print all fields and values of the structure, return a string
- Return type:
str
- Parameters:
indent (int) –
- entry_addr#
Structure/Union member
- headers_size#
Structure/Union member
- image_header_size#
Structure/Union member
- image_size#
Structure/Union member
- import_dir_addr#
Structure/Union member
- init_flags#
Structure/Union member
- kern_lib_version_addr#
Structure/Union member
- kern_thunk_addr#
Structure/Union member
- lib_versions_addr#
Structure/Union member
- lib_versions_count#
Structure/Union member
- logo_addr#
Structure/Union member
- logo_size#
Structure/Union member
- magic#
Structure/Union member
- pe_base_addr#
Structure/Union member
- pe_checksum#
Structure/Union member
- pe_heap_commit#
Structure/Union member
- pe_heap_reserve#
Structure/Union member
- pe_image_size#
Structure/Union member
- pe_stack_commit#
Structure/Union member
- pe_timestamp#
Structure/Union member
- section_count#
Structure/Union member
- section_headers_addr#
Structure/Union member
- signature#
Structure/Union member
- timestamp#
Structure/Union member
- tls_addr#
Structure/Union member
- xapi_lib_version_addr#
Structure/Union member
- class xbe.XbeImageHeaderExtendedType1[source]#
Bases:
XbeImageHeader
XBE Extended Image Header structure (Type 1)
- class InitFlags(value)#
Bases:
IntFlag
XBE init flags
- MOUNT_UTILITY_DRIVE = 1#
- FORMAT_UTILITY_DRIVE = 2#
- LIMIT64MB = 4#
- DONT_SETUP_HARD_DISK = 8#
- base_addr#
Structure/Union member
- certificate_addr#
Structure/Union member
- debug_filename_addr#
Structure/Union member
- debug_pathname_addr#
Structure/Union member
- debug_unicode_filename_addr#
Structure/Union member
- dumps(indent=0)#
Pretty-print all fields and values of the structure, return a string
- Return type:
str
- Parameters:
indent (int) –
- entry_addr#
Structure/Union member
- headers_size#
Structure/Union member
- image_header_size#
Structure/Union member
- image_size#
Structure/Union member
- import_dir_addr#
Structure/Union member
- init_flags#
Structure/Union member
- kern_lib_version_addr#
Structure/Union member
- kern_thunk_addr#
Structure/Union member
- lib_features_addr#
Structure/Union member
- lib_features_count#
Structure/Union member
- lib_versions_addr#
Structure/Union member
- lib_versions_count#
Structure/Union member
- logo_addr#
Structure/Union member
- logo_size#
Structure/Union member
- magic#
Structure/Union member
- pe_base_addr#
Structure/Union member
- pe_checksum#
Structure/Union member
- pe_heap_commit#
Structure/Union member
- pe_heap_reserve#
Structure/Union member
- pe_image_size#
Structure/Union member
- pe_stack_commit#
Structure/Union member
- pe_timestamp#
Structure/Union member
- section_count#
Structure/Union member
- section_headers_addr#
Structure/Union member
- signature#
Structure/Union member
- timestamp#
Structure/Union member
- tls_addr#
Structure/Union member
- xapi_lib_version_addr#
Structure/Union member
- class xbe.XbeImageHeaderExtendedType2[source]#
Bases:
XbeImageHeaderExtendedType1
XBE Extended Image Header structure (Type 2)
- class InitFlags(value)#
Bases:
IntFlag
XBE init flags
- MOUNT_UTILITY_DRIVE = 1#
- FORMAT_UTILITY_DRIVE = 2#
- LIMIT64MB = 4#
- DONT_SETUP_HARD_DISK = 8#
- base_addr#
Structure/Union member
- certificate_addr#
Structure/Union member
- debug_filename_addr#
Structure/Union member
- debug_info#
Structure/Union member
- debug_pathname_addr#
Structure/Union member
- debug_unicode_filename_addr#
Structure/Union member
- dumps(indent=0)#
Pretty-print all fields and values of the structure, return a string
- Return type:
str
- Parameters:
indent (int) –
- entry_addr#
Structure/Union member
- headers_size#
Structure/Union member
- image_header_size#
Structure/Union member
- image_size#
Structure/Union member
- import_dir_addr#
Structure/Union member
- init_flags#
Structure/Union member
- kern_lib_version_addr#
Structure/Union member
- kern_thunk_addr#
Structure/Union member
- lib_features_addr#
Structure/Union member
- lib_features_count#
Structure/Union member
- lib_versions_addr#
Structure/Union member
- lib_versions_count#
Structure/Union member
- logo_addr#
Structure/Union member
- logo_size#
Structure/Union member
- magic#
Structure/Union member
- pe_base_addr#
Structure/Union member
- pe_checksum#
Structure/Union member
- pe_heap_commit#
Structure/Union member
- pe_heap_reserve#
Structure/Union member
- pe_image_size#
Structure/Union member
- pe_stack_commit#
Structure/Union member
- pe_timestamp#
Structure/Union member
- section_count#
Structure/Union member
- section_headers_addr#
Structure/Union member
- signature#
Structure/Union member
- timestamp#
Structure/Union member
- tls_addr#
Structure/Union member
- xapi_lib_version_addr#
Structure/Union member
- class xbe.XbeImageCertificate[source]#
Bases:
EnumMapperMixin
,Structure
,StructurePrintMixin
XBE Image Certificate structure
- class AllowedMediaTypes(value)[source]#
Bases:
IntFlag
Allowed media type flags
- HARD_DISK = 1#
- DVD_X2 = 2#
- DVD_CD = 4#
- CD = 8#
- DVD_5_RO = 16#
- DVD_9_RO = 32#
- DVD_5_RW = 64#
- DVD_9_RW = 128#
- DONGLE = 256#
- MEDIA_BOARD = 512#
- NONSECURE_HARD_DISK = 1073741824#
- NONSECURE_MODE = 2147483648#
- class GameRegions(value)[source]#
Bases:
IntFlag
Allowed game region flags
- NA = 1#
- JAPAN = 2#
- RESTOFWORLD = 4#
- MANUFACTURING = 2147483648#
- allowed_media#
Structure/Union member
- alt_signature_keys#
Structure/Union member
- disc_num#
Structure/Union member
- dumps(indent=0)#
Pretty-print all fields and values of the structure, return a string
- Return type:
str
- Parameters:
indent (int) –
- game_region#
Structure/Union member
- lan_key#
Structure/Union member
- ratings#
Structure/Union member
- signature_key#
Structure/Union member
- size#
Structure/Union member
- timestamp#
Structure/Union member
- title_alt_ids#
Structure/Union member
- title_id#
Structure/Union member
- title_name#
Structure/Union member
- version#
Structure/Union member
- class xbe.XbeImageCertificateExtended[source]#
Bases:
XbeImageCertificate
XBE Extended Image Certificate structure
- class AllowedMediaTypes(value)#
Bases:
IntFlag
Allowed media type flags
- HARD_DISK = 1#
- DVD_X2 = 2#
- DVD_CD = 4#
- CD = 8#
- DVD_5_RO = 16#
- DVD_9_RO = 32#
- DVD_5_RW = 64#
- DVD_9_RW = 128#
- DONGLE = 256#
- MEDIA_BOARD = 512#
- NONSECURE_HARD_DISK = 1073741824#
- NONSECURE_MODE = 2147483648#
- class GameRegions(value)#
Bases:
IntFlag
Allowed game region flags
- NA = 1#
- JAPAN = 2#
- RESTOFWORLD = 4#
- MANUFACTURING = 2147483648#
- allowed_media#
Structure/Union member
- alt_signature_keys#
Structure/Union member
- code_enc_key#
Structure/Union member
- disc_num#
Structure/Union member
- dumps(indent=0)#
Pretty-print all fields and values of the structure, return a string
- Return type:
str
- Parameters:
indent (int) –
- game_region#
Structure/Union member
- lan_key#
Structure/Union member
- online_service_id#
Structure/Union member
- original_certificate_size#
Structure/Union member
- ratings#
Structure/Union member
- security_flags#
Structure/Union member
- signature_key#
Structure/Union member
- size#
Structure/Union member
- timestamp#
Structure/Union member
- title_alt_ids#
Structure/Union member
- title_id#
Structure/Union member
- title_name#
Structure/Union member
- version#
Structure/Union member
- class xbe.XbeSectionHeader[source]#
Bases:
EnumMapperMixin
,Structure
,StructurePrintMixin
XBE Section Header structure
- class Flags(value)[source]#
Bases:
IntFlag
XBE section flags
- WRITABLE = 1#
- PRELOAD = 2#
- EXECUTABLE = 4#
- INSERTED_FILE = 8#
- HEAD_PAGE_READ_ONLY = 16#
- TAIL_PAGE_READ_ONLY = 32#
- digest#
Structure/Union member
- dumps(indent=0)#
Pretty-print all fields and values of the structure, return a string
- Return type:
str
- Parameters:
indent (int) –
- flags#
Structure/Union member
Structure/Union member
- raw_addr#
Structure/Union member
- raw_size#
Structure/Union member
- section_name_addr#
Structure/Union member
- section_name_ref_count#
Structure/Union member
Structure/Union member
- virtual_addr#
Structure/Union member
- virtual_size#
Structure/Union member
- class xbe.XbeLibraryVersion[source]#
Bases:
Structure
,StructurePrintMixin
XBE Library Version structure
- approved#
Structure/Union member
- debug_build#
Structure/Union member
- dumps(indent=0)#
Pretty-print all fields and values of the structure, return a string
- Return type:
str
- Parameters:
indent (int) –
- name#
Structure/Union member
- qfeversion#
Structure/Union member
- ver_build#
Structure/Union member
- ver_major#
Structure/Union member
- ver_minor#
Structure/Union member
- class xbe.XbeLibraryFeatureDescriptor[source]#
Bases:
Structure
,StructurePrintMixin
XBE Library Feature structure
- dumps(indent=0)#
Pretty-print all fields and values of the structure, return a string
- Return type:
str
- Parameters:
indent (int) –
- flags#
Structure/Union member
- name#
Structure/Union member
- ver_build#
Structure/Union member
- ver_major#
Structure/Union member
- ver_minor#
Structure/Union member
- class xbe.XbeTlsHeader[source]#
Bases:
Structure
,StructurePrintMixin
XBE TLS Header Structure
- characteristics#
Structure/Union member
- data_end_addr#
Structure/Union member
- data_start_addr#
Structure/Union member
- dumps(indent=0)#
Pretty-print all fields and values of the structure, return a string
- Return type:
str
- Parameters:
indent (int) –
- tls_callback_addr#
Structure/Union member
- tls_index_addr#
Structure/Union member
- zero_fill_size#
Structure/Union member
- class xbe.XbeImportDescriptor[source]#
Bases:
Structure
,StructurePrintMixin
XBE Import Descriptor structure
- dumps(indent=0)#
Pretty-print all fields and values of the structure, return a string
- Return type:
str
- Parameters:
indent (int) –
- image_name_addr#
Structure/Union member
- thunk_array_addr#
Structure/Union member
- class xbe.Xbe(data=None)[source]#
Bases:
object
Parses and creates original Xbox Executables
- Parameters:
data (bytes | None) –
- ENTRY_DEBUG = 2491784523#
- ENTRY_RETAIL = 2835109803#
- KTHUNK_DEBUG = 4021416274#
- KTHUNK_RETAIL = 1533886646#
- static get_cstring_from_offset(data, offset)[source]#
Read null-terminated string from offset in data
- Return type:
bytes
- Parameters:
data (bytes) –
offset (int) –
- static get_wcstring_from_offset(data, offset)[source]#
Read null-terminated string from offset in data
- Return type:
str
- Parameters:
data (bytes) –
offset (int) –
- class xbe.XbeSection(name, header, data)[source]#
Bases:
object
XBE Section
- Parameters:
name (str) –
header (XbeSectionHeader) –
data (bytes) –
- class xbe.XbeLibrary(header)[source]#
Bases:
object
XBE Library
- Parameters:
header (XbeLibraryVersion) –
- class xbe.XbeLibraryFeature(header)[source]#
Bases:
object
XBE Library Feature
- Parameters:
header (XbeLibraryFeatureDescriptor) –
- class xbe.XprImageHeader[source]#
Bases:
Structure
,StructurePrintMixin
XPR Image Header structure
- common#
Structure/Union member
- data#
Structure/Union member
- dumps(indent=0)#
Pretty-print all fields and values of the structure, return a string
- Return type:
str
- Parameters:
indent (int) –
- eoh#
Structure/Union member
- format#
Structure/Union member
- header_size#
Structure/Union member
- lock#
Structure/Union member
- magic#
Structure/Union member
- size#
Structure/Union member
- total_size#
Structure/Union member
- xbe.mix(x, y, a)[source]#
Linearly interpolate between x and y, returning x*(1-a) + y*a for all elements
- Return type:
Tuple
[float
,float
,float
,float
]- Parameters:
x (Tuple[float, float, float, float]) –
y (Tuple[float, float, float, float]) –
a (float) –
- xbe.get_bits(value, hi, lo)[source]#
Extract a bitrange from an integer
- Return type:
int
- Parameters:
value (int) –
hi (int) –
lo (int) –
- xbe.unpack_r5g6b5(value)[source]#
Unpack a 16-bit (565) RGB as a real-value color tuple in the range of [0,1]
- Return type:
Tuple
[float
,float
,float
,float
]- Parameters:
value (int) –
- xbe.decode_bc1(w, h, data)[source]#
Decode a BC1 (aka DXT1) compressed image to a list of pixel real-value color tuples
More information about BC1 can be found at: https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-block-compression#bc1
- Return type:
List
[Tuple
[float
,float
,float
,float
]]- Parameters:
w (int) –
h (int) –
data (bytes) –
- xbe.decode_xpr_image(data)[source]#
Decode an XPR (Xbox Packed Resource) image
- Return type:
Tuple
[int
,int
,List
[Tuple
[float
,float
,float
,float
]]]- Parameters:
data (bytes) –
- xbe.encode_logo(pixels)[source]#
Encode pixel data into the RLE-compressed logo format
- Return type:
bytes
- Parameters:
pixels (Sequence[Tuple[float, float, float, float]]) –
- xbe.decode_logo(data)[source]#
Decode an XBE logo (RLE-compressed)
- Return type:
Tuple
[int
,int
,List
[Tuple
[float
,float
,float
,float
]]]- Parameters:
data (bytes) –
- xbe.encode_bmp(w, h, pixels)[source]#
Encode a standard Windows BMP Image File
https://en.wikipedia.org/wiki/BMP_file_format
- Return type:
bytes
- Parameters:
w (int) –
h (int) –
pixels (List[Tuple[float, float, float, float]]) –