⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xbestruct.h

📁 功能较全面的反汇编器:反汇编器ht-2.0.15.tar.gz
💻 H
字号:
/*  *	HT Editor *	xbestruct.h * *	Copyright (C) 2003 Stefan Esser * *	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 __XBESTRUCT_H_#define __XBESTRUCT_H_#include "io/types.h"#include "tools.h"typedef unsigned int RVA;#define XBE_MAGIC_LENGTH 4#define XBE_MAGIC0	'X'#define XBE_MAGIC1	'B'#define XBE_MAGIC2	'E'#define XBE_MAGIC3	'H'#define XBE_SIZE_OF_SIGNATURE	256struct XBE_IMAGE_HEADER {    byte	magic_id[XBE_MAGIC_LENGTH];    byte	signature[XBE_SIZE_OF_SIGNATURE];    uint32	base_address;    uint32	size_of_headers;    uint32	size_of_image;    uint32	size_of_imageheader;    uint32	timedate;    uint32	certificate_address;    uint32	number_of_sections;    uint32	section_header_address;    uint32	initialisation_flags;    uint32	entry_point;    uint32	tls_address;    uint32	pe_stack_commit;    uint32	pe_heap_reserve;    uint32	pe_heap_commit;    uint32	pe_base_address;    uint32	pe_size_of_image;    uint32	pe_checksum;    uint32	pe_timedate;    uint32	debug_pathname_address;    uint32	debug_filename_address;    uint32	debug_unicode_filename_address;    uint32	kernel_image_thunk_address;    uint32	non_kernel_import_directory_address;    uint32	number_of_library_versions;    uint32	library_versions_address;    uint32	kernel_library_version_address;    uint32	xapi_library_version_address;    uint32	logo_bitmap_address;    uint32	logo_bitmap_size;} PACKED;#define XBE_TITLE_NAME_LENGTH	40#define XBE_NUM_ALTERNATE	16#define XBE_LAN_KEY_LENGTH	16#define XBE_SIGNATURE_KEY_LENGTH	16#define XBE_MEDIA_TYPE_HARD_DISK		0x00000001#define XBE_MEDIA_TYPE_DVD_X2			0x00000002#define XBE_MEDIA_TYPE_DVD_CD			0x00000004#define XBE_MEDIA_TYPE_CD			0x00000008#define XBE_MEDIA_TYPE_DVD_5_RO			0x00000010#define XBE_MEDIA_TYPE_DVD_9_RO			0x00000020#define XBE_MEDIA_TYPE_DVD_5_RW			0x00000040#define XBE_MEDIA_TYPE_DVD_9_RW			0x00000080#define XBE_MEDIA_TYPE_DONGLE			0x00000100#define XBE_MEDIA_TYPE_MEDIA_BOARD		0x00000200#define XBE_MEDIA_TYPE_NONSECURE_HARD_DISK	0x40000000#define XBE_MEDIA_TYPE_NONSECURE_MODE		0x80000000#define XBE_MEDIA_TYPE_MEDIA_MASK		0x00FFFFFF#define XBE_GAME_REGION_NA			0x00000001#define XBE_GAME_REGION_JAPAN			0x00000002#define XBE_GAME_REGION_RESTOFWORLD		0x00000004#define XBE_GAME_REGION_MANUFACTURING		0x80000000struct XBE_CERTIFICATE {    uint32	size_of_certificate;    uint32	timedate;    uint32	title_id;    uint16	title_name[XBE_TITLE_NAME_LENGTH];    uint32	alternate_title_ids[XBE_NUM_ALTERNATE];    uint32	allowed_media;    uint32	game_region;    uint32	game_ratings;    uint32	disk_number;    uint32	version;    byte	lan_key[XBE_LAN_KEY_LENGTH];    byte	signature_key[XBE_SIGNATURE_KEY_LENGTH];    byte	alternate_signature_keys[XBE_NUM_ALTERNATE][XBE_SIGNATURE_KEY_LENGTH];    } PACKED;#define XBE_SECTION_FLAGS_WRITABLE	1#define XBE_SECTION_FLAGS_PRELOAD	2#define XBE_SECTION_FLAGS_EXECUTABLE	4#define XBE_SECTION_FLAGS_INSERTEDFILE	8#define XBE_SECTION_FLAGS_HEADPAGE_RO	16#define XBE_SECTION_FLAGS_TAILPAGE_RO	32#define XBE_SECTION_DIGEST_LENGTH	20struct XBE_SECTION_HEADER {    uint32	section_flags;    uint32	virtual_address;    uint32	virtual_size;    uint32	raw_address;    uint32	raw_size;    uint32	section_name_address;    uint32	section_name_ref_count;    uint32	head_shared_page_ref_count_address;    uint32	tail_shared_page_ref_count_address;    byte	section_digest[XBE_SECTION_DIGEST_LENGTH];} PACKED;#define XBE_LIBRARY_NAME_LENGTH		8struct XBE_LIBRARY_VERSION {    byte	library_name[XBE_LIBRARY_NAME_LENGTH];    uint16	major_version;    uint16	minor_version;    uint16	build_version;    uint16	library_flags;} PACKED;struct XBE_TLS_DIRECTORY {    uint32	data_start_address;    uint32	data_end_address;    uint32	tls_index_address;    uint32	tls_callback_address;    uint32	size_of_zero_fill;    uint32	characteristics;} PACKED;extern byte XBE_IMAGE_HEADER_struct[];extern byte XBE_CERTIFICATE_struct[];extern byte XBE_SECTION_HEADER_struct[];extern byte XBE_LIBRARY_VERSION_struct[];extern byte XBE_TLS_DIRECTORY_struct[];#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -