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

📄 elfstruc.h

📁 功能较全面的反汇编器:反汇编器ht-2.0.15.tar.gz
💻 H
📖 第 1 页 / 共 2 页
字号:
};struct ELF_HEADER32 {	elf32_half e_type;	elf32_half e_machine;	elf32_word e_version;	elf32_addr e_entry;	elf32_off e_phoff;	elf32_off e_shoff;	elf32_word e_flags;	elf32_half e_ehsize;	elf32_half e_phentsize;	elf32_half e_phnum;	elf32_half e_shentsize;	elf32_half e_shnum;	elf32_half e_shstrndx;};struct ELF_HEADER64 {	elf64_quarter e_type;	elf64_quarter e_machine;	elf64_half e_version;	elf64_addr e_entry;	elf64_off e_phoff;	elf64_off e_shoff;	elf64_half e_flags;	elf64_quarter e_ehsize;	elf64_quarter e_phentsize;	elf64_quarter e_phnum;	elf64_quarter e_shentsize;	elf64_quarter e_shnum;	elf64_quarter e_shstrndx;};/* *	ELF section header *//* indices */#define ELF_SHN_UNDEF		0#define ELF_SHN_ABS		0xfff1#define ELF_SHN_COMMON		0xfff2/* sh_type */#define ELF_SHT_NULL		0#define ELF_SHT_PROGBITS	1#define ELF_SHT_SYMTAB		2#define ELF_SHT_STRTAB		3#define ELF_SHT_RELA		4#define ELF_SHT_HASH		5#define ELF_SHT_DYNAMIC		6#define ELF_SHT_NOTE		7#define ELF_SHT_NOBITS		8#define ELF_SHT_REL		9#define ELF_SHT_SHLIB		10#define ELF_SHT_DYNSYM		11#define ELF_SHT_INIT_ARRAY	14#define ELF_SHT_FINI_ARRAY	15#define ELF_SHT_PREINIT_ARRAY	16/* sh_flags */#define ELF_SHF_WRITE			(1<<0)#define ELF_SHF_ALLOC			(1<<1)#define ELF_SHF_EXECINSTR		(1<<2)// 1<<3 missing#define ELF_SHF_MERGE			(1<<4)#define ELF_SHF_STRINGS			(1<<5)#define ELF_SHF_INFO_LINK		(1<<6)#define ELF_SHF_LINK_ORDER		(1<<7)#define ELF_SHF_OS_NONCONFORMING	(1<<8)struct ELF_SECTION_HEADER32 {	elf32_word sh_name;	elf32_word sh_type;	elf32_word sh_flags;	elf32_addr sh_addr;     	elf32_off sh_offset;	elf32_word sh_size;	elf32_word sh_link;	elf32_word sh_info;	elf32_word sh_addralign;	elf32_word sh_entsize;};struct ELF_SECTION_HEADER64 {	elf64_half sh_name;	elf64_half sh_type;	elf64_word sh_flags;	elf64_addr sh_addr;	elf64_off sh_offset;	elf64_word sh_size;	elf64_half sh_link;	elf64_half sh_info;	elf64_word sh_addralign;	elf64_word sh_entsize;};/* *	ELF program header */#define ELF_PT_NULL		0#define ELF_PT_LOAD		1#define ELF_PT_DYNAMIC		2#define ELF_PT_INTERP		3#define ELF_PT_NOTE		4#define ELF_PT_SHLIB		5#define ELF_PT_PHDR		6#define ELF_PT_TLS		7          /* Thread-local storage segment  */#define ELF_PT_NUM		8          /* Number of defined types       */#define ELF_PT_GNU_EH_FRAME	0x6474e550 /* GCC .eh_frame_hdr segment     */#define ELF_PT_GNU_STACK	0x6474e551 /* Indicates stack executability */#define ELF_PT_GNU_RELRO	0x6474e552 /* Read-only after relocation    */ #define ELF_PT_PAX_FLAGS	0x65041580 /* Indicates PaX flag markings */struct ELF_PROGRAM_HEADER32 {	elf32_word p_type;	elf32_off p_offset;	elf32_addr p_vaddr;	elf32_addr p_paddr;	elf32_word p_filesz;	elf32_word p_memsz;	elf32_word p_flags;	elf32_word p_align;} PACKED;struct ELF_PROGRAM_HEADER64 {	elf64_half p_type;	elf64_half p_flags;	elf64_off p_offset;	elf64_addr p_vaddr;	elf64_addr p_paddr;	elf64_word p_filesz;	elf64_word p_memsz;	elf64_word p_align;};struct ELF_NHEADER32 {	elf32_word n_descsz;	elf32_word n_namesz;	elf32_word n_type;} PACKED;/* *	ELF symbol */#define ELF_STB_LOCAL		0#define ELF_STB_GLOBAL		1#define ELF_STB_WEAK		2#define ELF_STT_NOTYPE		0#define ELF_STT_OBJECT		1#define ELF_STT_FUNC		2#define ELF_STT_SECTION		3#define ELF_STT_FILE		4#define ELF_STT_COMMON		5#define ELF32_ST_BIND(i)		((i)>>4)#define ELF32_ST_TYPE(i)		((i)&0xf)#define ELF32_ST_INFO(b,t)	(((b)>>4)|((t)&0xf))#define ELF64_ST_BIND(i)		((i)>>4)#define ELF64_ST_TYPE(i)		((i)&0xf)#define ELF64_ST_INFO(b,t)	(((b)>>4)|((t)&0xf))struct ELF_SYMBOL32 {	elf32_word st_name;	elf32_addr st_value;	elf32_word st_size;	elf_unsigned_char st_info;	elf_unsigned_char st_other;	elf32_half st_shndx;} PACKED;struct ELF_SYMBOL64 {	elf64_half st_name;	elf_unsigned_char st_info;	elf_unsigned_char st_other;	elf64_quarter st_shndx;	elf64_word st_value;	elf64_word st_size;} PACKED;/* *	ELF relocation */#define ELF32_R_SYM(i)		((i)>>8)#define ELF32_R_TYPE(i)		((unsigned char)(i))#define ELF32_R_INFO(s,t)	(((s)<<8)+(unsigned char)(t))#define ELF_R_386_NONE			0#define ELF_R_386_32			1#define ELF_R_386_PC32			2#define ELF_R_386_GOT32			3#define ELF_R_386_PLT32			4#define ELF_R_386_COPY			5#define ELF_R_386_GLOB_DAT		6#define ELF_R_386_JMP_SLOT		7#define ELF_R_386_RELATIVE		8#define ELF_R_386_GOTOFF		9#define ELF_R_386_GOTPC			10struct ELF_REL32 {	elf32_addr	r_offset;	elf32_word	r_info;} PACKED;struct ELF_REL64 {	elf64_addr	r_offset;	elf64_word	r_info;} PACKED;struct ELF_RELA32 {	elf32_addr	r_offset;	elf32_word	r_info;	elf32_sword	r_addend;} PACKED;struct ELF_RELA64 {	elf64_addr	r_offset;	elf64_word	r_info;	elf64_sword	r_addend;} PACKED;extern byte ELF_HEADER_struct[];extern byte ELF_HEADER32_struct[];extern byte ELF_SECTION_HEADER32_struct[];extern byte ELF_PROGRAM_HEADER32_struct[];extern byte ELF_SYMBOL32_struct[];extern byte ELF_REL32_struct[];extern byte ELF_RELA32_struct[];extern byte ELF_HEADER64_struct[];extern byte ELF_SECTION_HEADER64_struct[];extern byte ELF_PROGRAM_HEADER64_struct[];extern byte ELF_SYMBOL64_struct[];extern byte ELF_REL64_struct[];extern byte ELF_RELA64_struct[];struct ELFAddress {	union {		uint32 a32;		uint64 a64;	};};#endif /* __ELFSTRUC_H__ */

⌨️ 快捷键说明

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