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

📄 machostruc.h

📁 功能较全面的反汇编器:反汇编器ht-2.0.15.tar.gz
💻 H
📖 第 1 页 / 共 2 页
字号:
	uint32 ctr;	uint32 mq;	uint32 vrsave;} PACKED;struct MACHO_PPC_64_THREAD_STATE {	uint64 srr[2];} PACKED;#define FLAVOR_PPC_THREAD_STATE		1#define FLAVOR_PPC_FLOAT_STATE		2#define FLAVOR_PPC_EXCEPTION_STATE	3#define FLAVOR_PPC_VECTOR_STATE		4#define FLAVOR_THREAD_STATE_NONE	7#define FLAVOR_PPC_64_THREAD_STATE	5struct MACHO_ARM_THREAD_STATE {	uint32 unknown[15];	uint32 pc;	uint32 unknown2;} PACKED;#define FLAVOR_ARM_THREAD_STATE		1struct MACHO_I386_THREAD_STATE {	uint32	eax;        uint32	ebx;	uint32	ecx;        uint32	edx;	uint32	edi;	uint32	esi;        uint32	ebp;	uint32	esp;        uint32	ss;	uint32	eflags;        uint32	eip;	uint32	cs;        uint32	ds;	uint32	es;        uint32	fs;	uint32	gs;} PACKED;#define i386_NEW_THREAD_STATE	1	/* used to be i386_THREAD_STATE */#define i386_FLOAT_STATE	2#define i386_ISA_PORT_MAP_STATE	3#define i386_V86_ASSIST_STATE	4#define i386_REGS_SEGS_STATE	5#define THREAD_SYSCALL_STATE	6#define THREAD_STATE_NONE	7#define i386_SAVED_STATE	8struct MACHO_X86_64_THREAD_STATE {	uint64	rax;        uint64	rbx;	uint64	rcx;        uint64	rdx;	uint64	rdi;	uint64	rsi;        uint64	rbp;	uint64	rsp;	uint64	r[8];	uint64	rip;	uint64	unknown[4];} PACKED;#define FLAVOR_X86_64_THREAD_STATE	4union MACHO_THREAD_STATE {	MACHO_ARM_THREAD_STATE state_arm;	MACHO_PPC_THREAD_STATE state_ppc;	MACHO_I386_THREAD_STATE state_i386;	MACHO_X86_64_THREAD_STATE state_x86_64;	MACHO_PPC_64_THREAD_STATE state_ppc64;};struct MACHO_THREAD_COMMAND {	uint32	cmd;		/* LC_THREAD or  LC_UNIXTHREAD */	uint32	cmdsize;	/* total size of this command */	uint32	flavor;		/* flavor of thread state */	uint32	count;		/* count of longs in thread state */	MACHO_THREAD_STATE state;} PACKED;union MACHO_COMMAND_U {	MACHO_COMMAND cmd;	MACHO_SEGMENT_COMMAND segment;	MACHO_SEGMENT_64_COMMAND segment_64;	MACHO_THREAD_COMMAND thread;};struct MACHO_SYMTAB_COMMAND {	uint32	cmd;		/* LC_SYMTAB */	uint32	cmdsize;	/* sizeof(struct symtab_command) */	uint32	symoff;		/* symbol table offset */	uint32	nsyms;		/* number of symbol table entries */	uint32	stroff;		/* string table offset */	uint32	strsize;	/* string table size in bytes */} PACKED;struct MACHO_SYMTAB_NLIST {	uint32	strx;	uint8	type;	uint8	sect;	uint16	desc;	uint32	value;} PACKED;struct MACHO_SYMTAB_NLIST_64 {	uint32	strx;	uint8	type;	uint8	sect;	uint16	desc;	uint64	value;} PACKED;// masks for type#define MACHO_SYMBOL_N_STAB	0xe0#define MACHO_SYMBOL_N_PEXT	0x10#define MACHO_SYMBOL_N_TYPE	0x0e#define MACHO_SYMBOL_N_EXT	0x01#define MACHO_SYMBOL_TYPE_N_UNDF	0x00#define MACHO_SYMBOL_TYPE_N_ABS		0x02#define MACHO_SYMBOL_TYPE_N_INDR	0x0a#define MACHO_SYMBOL_TYPE_N_PBUD	0x0c#define MACHO_SYMBOL_TYPE_N_SECT	0x0e/* *	Machine types known by all. */ #define MACHO_CPU_TYPE_ANY		-1#define MACHO_CPU_TYPE_VAX		1#define	MACHO_CPU_TYPE_MC680x0		6#define MACHO_CPU_TYPE_I386		7#define MACHO_CPU_TYPE_MIPS		8#define MACHO_CPU_TYPE_MC98000		10#define MACHO_CPU_TYPE_HPPA		11#define MACHO_CPU_TYPE_ARM		12#define MACHO_CPU_TYPE_MC88000		13#define MACHO_CPU_TYPE_SPARC		14#define MACHO_CPU_TYPE_I860		15#define	MACHO_CPU_TYPE_ALPHA		16#define MACHO_CPU_TYPE_POWERPC		18#define MACHO_CPU_TYPE_X86_64		0x01000007#define MACHO_CPU_TYPE_POWERPC64	0x01000012/* *	Machine subtypes (these are defined here, instead of in a machine *	dependent directory, so that any program can get all definitions *	regardless of where is it compiled. *//* *	Object files that are hand-crafted to run on any *	implementation of an architecture are tagged with *	MACHO_CPU_SUBTYPE_MULTIPLE.  This functions essentially the same as *	the "ALL" subtype of an architecture except that it allows us *	to easily find object files that may need to be modified *	whenever a new implementation of an architecture comes out. * *	It is the responsibility of the implementor to make sure the *	software handles unsupported implementations elegantly. */#define	MACHO_CPU_SUBTYPE_MULTIPLE		-1#define MACHO_CPU_SUBTYPE_LITTLE_ENDIAN		0#define MACHO_CPU_SUBTYPE_BIG_ENDIAN		1/* *	VAX subtypes (these do *not* necessary conform to the actual cpu *	ID assigned by DEC available via the SID register. */#define	MACHO_CPU_SUBTYPE_VAX_ALL	0 #define MACHO_CPU_SUBTYPE_VAX780	1#define MACHO_CPU_SUBTYPE_VAX785	2#define MACHO_CPU_SUBTYPE_VAX750	3#define MACHO_CPU_SUBTYPE_VAX730	4#define MACHO_CPU_SUBTYPE_UVAXI		5#define MACHO_CPU_SUBTYPE_UVAXII	6#define MACHO_CPU_SUBTYPE_VAX8200	7#define MACHO_CPU_SUBTYPE_VAX8500	8#define MACHO_CPU_SUBTYPE_VAX8600	9#define MACHO_CPU_SUBTYPE_VAX8650	10#define MACHO_CPU_SUBTYPE_VAX8800	11#define MACHO_CPU_SUBTYPE_UVAXIII	12/* * 	680x0 subtypes * * The subtype definitions here are unusual for historical reasons. * NeXT used to consider 68030 code as generic 68000 code.  For * backwards compatability: *  *	MACHO_CPU_SUBTYPE_MC68030 symbol has been preserved for source code *	compatability. * *	MACHO_CPU_SUBTYPE_MC680x0_ALL has been defined to be the same *	subtype as MACHO_CPU_SUBTYPE_MC68030 for binary comatability. * *	MACHO_CPU_SUBTYPE_MC68030_ONLY has been added to allow new object *	files to be tagged as containing 68030-specific instructions. */#define	MACHO_CPU_SUBTYPE_MC680x0_ALL		1#define MACHO_CPU_SUBTYPE_MC68030		1 /* compat */#define MACHO_CPU_SUBTYPE_MC68040		2 #define	MACHO_CPU_SUBTYPE_MC68030_ONLY		3/* *	I386 subtypes. */#define	MACHO_CPU_SUBTYPE_I386_ALL	3#define MACHO_CPU_SUBTYPE_386		3#define MACHO_CPU_SUBTYPE_486		4#define MACHO_CPU_SUBTYPE_486SX		4 + 128#define MACHO_CPU_SUBTYPE_586		5#define MACHO_CPU_SUBTYPE_INTEL(f, m)	(f + ((m) << 4)#define MACHO_CPU_SUBTYPE_PENT		MACHO_CPU_SUBTYPE_INTEL(5, 0)#define MACHO_CPU_SUBTYPE_PENTPRO	MACHO_CPU_SUBTYPE_INTEL(6, 1)#define MACHO_CPU_SUBTYPE_PENTII_M3	MACHO_CPU_SUBTYPE_INTEL(6, 3)#define MACHO_CPU_SUBTYPE_PENTII_M5	MACHO_CPU_SUBTYPE_INTEL(6, 5)#define MACHO_CPU_SUBTYPE_INTEL_FAMILY(x)	((x) & 15)#define MACHO_CPU_SUBTYPE_INTEL_FAMILY_MAX	15#define MACHO_CPU_SUBTYPE_INTEL_MODEL(x)	((x) >> 4)#define MACHO_CPU_SUBTYPE_INTEL_MODEL_ALL	0/* *	Mips subtypes. */#define	MACHO_CPU_SUBTYPE_MIPS_ALL		0#define MACHO_CPU_SUBTYPE_MIPS_R2300		1#define MACHO_CPU_SUBTYPE_MIPS_R2600		2#define MACHO_CPU_SUBTYPE_MIPS_R2800		3#define MACHO_CPU_SUBTYPE_MIPS_R2000a		4	/* pmax */#define MACHO_CPU_SUBTYPE_MIPS_R2000		5#define MACHO_CPU_SUBTYPE_MIPS_R3000a		6	/* 3max */#define MACHO_CPU_SUBTYPE_MIPS_R3000		7/* *	MC98000 (PowerPC subtypes */#define	MACHO_CPU_SUBTYPE_MC98000_ALL		0#define MACHO_CPU_SUBTYPE_MC98601		1/* *	HPPA subtypes for Hewlett-Packard HP-PA family of *	risc processors. Port by NeXT to 700 series.  */#define	MACHO_CPU_SUBTYPE_HPPA_ALL		0#define MACHO_CPU_SUBTYPE_HPPA_7100		0 /* compat */#define MACHO_CPU_SUBTYPE_HPPA_7100LC		1/* *	MC88000 subtypes. */#define	MACHO_CPU_SUBTYPE_MC88000_ALL		0#define MACHO_CPU_SUBTYPE_MC88100		1#define MACHO_CPU_SUBTYPE_MC88110		2/* *	SPARC subtypes */#define	MACHO_CPU_SUBTYPE_SPARC_ALL		0/* *	I860 subtypes */#define MACHO_CPU_SUBTYPE_I860_ALL		0#define MACHO_CPU_SUBTYPE_I860_860		1/* *	PowerPC subtypes */#define MACHO_CPU_SUBTYPE_POWERPC_ALL		0#define MACHO_CPU_SUBTYPE_POWERPC_601		1#define MACHO_CPU_SUBTYPE_POWERPC_602		2#define MACHO_CPU_SUBTYPE_POWERPC_603		3#define MACHO_CPU_SUBTYPE_POWERPC_603e		4#define MACHO_CPU_SUBTYPE_POWERPC_603ev		5#define MACHO_CPU_SUBTYPE_POWERPC_604		6#define MACHO_CPU_SUBTYPE_POWERPC_604e		7#define MACHO_CPU_SUBTYPE_POWERPC_620		8#define MACHO_CPU_SUBTYPE_POWERPC_750		9#define MACHO_CPU_SUBTYPE_POWERPC_7400		10#define MACHO_CPU_SUBTYPE_POWERPC_7450		11extern byte MACHO_HEADER_struct[];extern byte MACHO_HEADER_64_struct[];extern byte MACHO_COMMAND_struct[];extern byte MACHO_SEGMENT_COMMAND_struct[];extern byte MACHO_SEGMENT_64_COMMAND_struct[];extern byte MACHO_SECTION_struct[];extern byte MACHO_SECTION_64_struct[];extern byte MACHO_THREAD_COMMAND_struct[];	// .state not included !extern byte MACHO_PPC_THREAD_STATE_struct[];extern byte MACHO_PPC_64_THREAD_STATE_struct[];extern byte MACHO_ARM_THREAD_STATE_struct[];extern byte MACHO_I386_THREAD_STATE_struct[];extern byte MACHO_X86_64_THREAD_STATE_struct[];extern byte MACHO_SYMTAB_COMMAND_struct[];extern byte MACHO_SYMTAB_NLIST_struct[];extern byte MACHO_SYMTAB_NLIST_64_struct[];#endif /* __MACHOSTRUC_H__ */

⌨️ 快捷键说明

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