📄 elf32.h
字号:
/* * File header */struct Elf32_Header { unsigned char e_ident[16]; uint16_t e_type; /* Relocatable=1, Executable=2 (+ some * more ..) */ uint16_t e_machine; /* Target architecture: MIPS=8 */ uint32_t e_version; /* Elf version (should be 1) */ uint32_t e_entry; /* Code entry point */ uint32_t e_phoff; /* Program header table */ uint32_t e_shoff; /* Section header table */ uint32_t e_flags; /* Flags */ uint16_t e_ehsize; /* ELF header size */ uint16_t e_phentsize; /* Size of one program segment * header */ uint16_t e_phnum; /* Number of program segment * headers */ uint16_t e_shentsize; /* Size of one section header */ uint16_t e_shnum; /* Number of section headers */ uint16_t e_shstrndx; /* Section header index of the * string table for section header * * names */};/* * Section header */struct Elf32_Shdr { uint32_t sh_name; uint32_t sh_type; uint32_t sh_flags; uint32_t sh_addr; uint32_t sh_offset; uint32_t sh_size; uint32_t sh_link; uint32_t sh_info; uint32_t sh_addralign; uint32_t sh_entsize;};/* * Program header */struct Elf32_Phdr { uint32_t p_type; /* Segment type: Loadable segment = 1 */ uint32_t p_offset; /* Offset of segment in file */ uint32_t p_vaddr; /* Reqd virtual address of segment * when loading */ uint32_t p_paddr; /* Reqd physical address of * segment (ignore) */ uint32_t p_filesz; /* How many bytes this segment * occupies in file */ uint32_t p_memsz; /* How many bytes this segment * should occupy in * memory (when * * loading, expand the segment * by * concatenating enough zero * bytes to it) */ uint32_t p_flags; /* Flags: logical "or" of PF_ * constants below */ uint32_t p_align; /* Reqd alignment of segment in * memory */};/* * constants for Elf32_Phdr.p_flags */#define PF_X 1 /* readable segment */#define PF_W 2 /* writeable segment */#define PF_R 4 /* executable segment *//* * constants for indexing into Elf64_Header_t.e_ident */#define EI_MAG0 0#define EI_MAG1 1#define EI_MAG2 2#define EI_MAG3 3#define EI_CLASS 4#define EI_DATA 5#define EI_VERSION 6#define ELFMAG0 '\177'#define ELFMAG1 'E'#define ELFMAG2 'L'#define ELFMAG3 'F'#define ELFCLASS32 1#define ELFCLASS64 2#define PT_NULL 0#define PT_LOAD 1#define PT_DYNAMIC 2#define PT_INTERP 3#define PT_NOTE 4#define ELFDATA2LSB 1#define ELFDATA2MSB 2#define EM_ARM 40
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -