?? xexstruct.h
字號:
/* * HT Editor * xexstruct.h * * Copyright (C) 2006 Sebastian Biallas (sb@biallas.net) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#ifndef __XEXSTRUCT_H_#define __XEXSTRUCT_H_#include "io/types.h"#include "tools.h"typedef unsigned int RVA;#define XEX_MAGIC_LENGTH 4#define XEX_MAGIC0 'X'#define XEX_MAGIC1 'E'#define XEX_MAGIC2 'X'#define XEX_MAGIC3 '2'struct XEX_IMAGE_HEADER { byte magic_id[XEX_MAGIC_LENGTH]; uint32 flags; uint32 size; uint32 res; uint32 file_header_offset; uint32 number_of_sections;} PACKED;#define XEX_HEADER_FIELD_MODULES 0x0002ff#define XEX_HEADER_FIELD_LOADERINFO 0x0003ff#define XEX_HEADER_FIELD_FILENAME 0x0080ff#define XEX_HEADER_FIELD_LOADBASE 0x010001#define XEX_HEADER_FIELD_ENTRY 0x010100#define XEX_HEADER_FIELD_BASE 0x010201#define XEX_HEADER_FIELD_IMPORT 0x0103ff#define XEX_HEADER_FIELD_IDS 0x018002#define XEX_HEADER_FIELD_ORIG_FILENAME 0x0183ff#define XEX_HEADER_FIELD_RESMAP2 0x0200ff#define XEX_HEADER_FIELD_UNK0 0x020104 // 80078884#define XEX_HEADER_FIELD_STACK_SIZE 0x020200 // 800788bc#define XEX_HEADER_FIELD_CACHE_INFO 0x020301#define XEX_HEADER_FIELD_MEDIAINFO 0x040006#define XEX_HEADER_FIELD_LAN_KEY 0x040404#define XEX_HEADER_FIELD_IMPORT_UNK 0xe10402#define XEX_MEDIA_HD 0x00000001#define XEX_MEDIA_DVD_X2 0x00000002#define XEX_MEDIA_DVD_CD 0x00000004#define XEX_MEDIA_DVD_5 0x00000008#define XEX_MEDIA_DVD_9 0x00000010#define XEX_MEDIA_FLASH 0x00000020#define XEX_MEDIA_MEMORY_UNIT 0x00000080#define XEX_MEDIA_MASS_STORAGE 0x00000100#define XEX_MEDIA_SMB 0x00000200#define XEX_MEDIA_RAM 0x00000400#define XEX_MEDIA_INSECURE 0x01000000#define XEX_MEDIA_SAVE_GAME 0x02000000#define XEX_MEDIA_LOCAL 0x04000000#define XEX_MEDIA_LIVE 0x08000000#define XEX_MEDIA_XBOX 0x10000000struct XEX_IMAGE_HEADER_INFO_ENTRY { union { struct { byte res; byte classe; byte type; byte size; } b; uint32 type PACKED; } PACKED; uint32 value;} PACKED;enum { XEX_LOADER_NONE = 0, XEX_LOADER_RAW = 1, XEX_LOADER_COMPRESSED = 2,};struct XEX_LOADER_INFO_HEADER { uint16 crypted; uint16 type;} PACKED;struct XEX_RAW_LOADER_ENTRY { uint32 raw; uint32 pad;} PACKED;struct XEX_FILE_HEADER { uint32 hdr_size; uint32 image_size; uint8 key[256]; uint32 unk1; uint32 image_flags; uint32 load_address; uint8 hash1[20]; uint32 unk2; uint8 hash2[20]; uint8 unk3[16]; uint8 loader_key[16]; uint32 unk4; uint8 hash3[20]; uint32 region; uint32 media_mask; uint32 pages;} PACKED;extern byte XEX_IMAGE_HEADER_struct[];extern byte XEX_IMAGE_HEADER_INFO_ENTRY_struct[];extern byte XEX_LOADER_INFO_HEADER_struct[];extern byte XEX_RAW_LOADER_ENTRY_struct[];extern byte XEX_FILE_HEADER_struct[];#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -