'SHN_HIPROC' : 0xff1f, 'SHN_LOOS' : 0xff20, 'SHN_HIOS' : 0xff3f, 'SHN_ABS' : 0xfff1, 'SHN_COMMON' : 0xfff2, 'SHN_XINDEX' : 0xffff, 'SHN_HIRESERVE' : 0xffff, 'SHN_MIPS_ACOMMON' : 0xff00, 'SHN_MIPS_TEXT' : 0xff01, 'SHN_MIPS_DATA' : 0xff02, 'SHN_MIPS_SCOMMON' : 0xff03, 'SHN_MIPS_SUNDEFINED' : 0xff04, 'SHN_PARISC_ANSI_COMMON' : 0xff00, 'SHN_PARISC_HUGE_COMMON' : 0xff01, } mirrorDict(shdr_index) shdr_type = { 'SHT_NULL' : 0, 'SHT_PROGBITS' : 1, 'SHT_SYMTAB' : 2, 'SHT_STRTAB' : 3, 'SHT_RELA' : 4, 'SHT_HASH' : 5, 'SHT_DYNAMIC' : 6, 'SHT_NOTE' : 7, 'SHT_NOBITS' : 8, 'SHT_REL' : 9, 'SHT_SHLIB' : 10, 'SHT_DYNSYM' : 11, 'SHT_INIT_ARRAY' : 14,
'NT_PRXREG' : 4, 'NT_TASKSTRUCT' : 4, 'NT_PLATFORM' : 5, 'NT_AUXV' : 6, 'NT_GWINDOWS' : 7, 'NT_ASRS' : 8, 'NT_PSTATUS' : 10, 'NT_PSINFO' : 13, 'NT_PRCRED' : 14, 'NT_UTSNAME' : 15, 'NT_LWPSTATUS' : 16, 'NT_LWPSINFO' : 17, 'NT_PRFPXREG' : 20, 'NT_PRXFPREG' : 0x46e62b7f, } nhdr_core_type = mirrorDict(nhdr_core_type) nhdr_type = { 'NT_VERSION' : 1, } nhdr_type = mirrorDict(nhdr_type) class NoteHeader( Header ): descriptions = [ 'n_namesz', 'n_descz', 'n_type' ] format = [ 'I', 'I', 'I' ] hr_values = { 'n_type' : [ VALUE_FIXED, nhdr_type ], }
from elf.core.property import ARCH_32, ARCH_64, VALUE_FIXED, VALUE_BITWISE from elf.core.header import Header from elf.utils import mirrorDict symtab_bind = { 'STB_LOCAL' : 0, 'STB_GLOBAL' : 1, 'STB_WEAK' : 2, 'STB_NUM' : 3, 'STB_LOOS' : 10, 'STB_HIOS' : 12, 'STB_LOPROC' : 13, 'STB_HIPROC' : 15, 'STB_MIPS_SPLIT_COMMON' : 13, } mirrorDict(symtab_bind) symtab_type = { 'STT_NOTYPE' : 0, 'STT_OBJECT' : 1, 'STT_FUNC' : 2, 'STT_SECTION' : 3, 'STT_FILE' : 4, 'STT_COMMON' : 5, 'STT_TLS' : 6, 'STT_NUM' : 7, 'STT_LOOS' : 10, 'STT_HIOS' : 12, 'STT_LOPROC' : 13, 'STT_HIPROC' : 15, 'STT_SPARC_REGISTER' : 13,
'PT_HP_CORE_MMF': (0x60000000 + 0x9), 'PT_HP_PARALLEL': (0x60000000 + 0x10), 'PT_HP_FASTBIND': (0x60000000 + 0x11), 'PT_HP_OPT_ANNOT': (0x60000000 + 0x12), 'PT_HP_HSL_ANNOT': (0x60000000 + 0x13), 'PT_HP_STACK': (0x60000000 + 0x14), 'PT_PARISC_ARCHEXT': 0x70000000, 'PT_PARISC_UNWIND': 0x70000001, 'PT_ARM_EXIDX': 0x70000001, 'PT_IA_64_ARCHEXT': (0x70000000 + 0), 'PT_IA_64_UNWIND': (0x70000000 + 1), 'PT_IA_64_HP_OPT_ANOT': (0x60000000 + 0x12), 'PT_IA_64_HP_HSL_ANOT': (0x60000000 + 0x13), 'PT_IA_64_HP_STACK': (0x60000000 + 0x14), } phdr_type = mirrorDict(phdr_type) phdr_flags = { 'PF_X': (1 << 0), 'PF_W': (1 << 1), 'PF_R': (1 << 2), 'PF_PAGEEXEC': (1 << 4), 'PF_NOPAGEEXEC': (1 << 5), 'PF_SEGMEXEC': (1 << 6), 'PF_NOSEGMEXEC': (1 << 7), 'PF_MPROTECT': (1 << 8), 'PF_NOMPROTECT': (1 << 9), 'PF_RANDEXEC': (1 << 10), 'PF_NORANDEXEC': (1 << 11), 'PF_EMUTRAMP': (1 << 12), 'PF_NOEMUTRAMP': (1 << 13),
""" Eident and ElfHeader classes """ from elf.core.property import ARCH_32, ARCH_64, LITTLE_ENDIAN, BIG_ENDIAN, \ VALUE_FIXED, VALUE_BITWISE from elf.core.header import Header from elf.utils import mirrorDict from struct import calcsize ehdr_magic = { 'ELFMAG0' : 0x7f, 'ELFMAG1' : 'E', 'ELFMAG2' : 'L', 'ELFMAG3' : 'F', } ehdr_magic = mirrorDict(ehdr_magic) ehdr_class = { 'ELFCLASSNONE' : 0, 'ELFCLASS32' : 1, 'ELFCLASS64' : 2, 'ELFCLASSNUM' : 3, } ehdr_class = mirrorDict(ehdr_class) ehdr_encoding = { 'ELFDATANONE' : 0, 'ELFDATA2LSB' : 1, 'ELFDATA2MSB' : 2, 'ELFDATANUM' : 3, }
""" """ Eident and ElfHeader classes """ from elf.core.property import ARCH_32, ARCH_64, LITTLE_ENDIAN, BIG_ENDIAN, \ VALUE_FIXED, VALUE_BITWISE from elf.core.header import Header from elf.utils import mirrorDict from struct import calcsize ehdr_magic = { 'ELFMAG0': 0x7f, 'ELFMAG1': 'E', 'ELFMAG2': 'L', 'ELFMAG3': 'F', } ehdr_magic = mirrorDict(ehdr_magic) ehdr_class = { 'ELFCLASSNONE': 0, 'ELFCLASS32': 1, 'ELFCLASS64': 2, 'ELFCLASSNUM': 3, } ehdr_class = mirrorDict(ehdr_class) ehdr_encoding = { 'ELFDATANONE': 0, 'ELFDATA2LSB': 1, 'ELFDATA2MSB': 2, 'ELFDATANUM': 3, }
from elf.core.property import ARCH_32, ARCH_64, VALUE_FIXED, VALUE_BITWISE from elf.core.header import Header from elf.utils import mirrorDict symtab_bind = { 'STB_LOCAL': 0, 'STB_GLOBAL': 1, 'STB_WEAK': 2, 'STB_NUM': 3, 'STB_LOOS': 10, 'STB_HIOS': 12, 'STB_LOPROC': 13, 'STB_HIPROC': 15, 'STB_MIPS_SPLIT_COMMON': 13, } mirrorDict(symtab_bind) symtab_type = { 'STT_NOTYPE': 0, 'STT_OBJECT': 1, 'STT_FUNC': 2, 'STT_SECTION': 3, 'STT_FILE': 4, 'STT_COMMON': 5, 'STT_TLS': 6, 'STT_NUM': 7, 'STT_LOOS': 10, 'STT_HIOS': 12, 'STT_LOPROC': 13, 'STT_HIPROC': 15, 'STT_SPARC_REGISTER': 13,
'PT_HP_CORE_MMF' : (0x60000000 + 0x9), 'PT_HP_PARALLEL' : (0x60000000 + 0x10), 'PT_HP_FASTBIND' : (0x60000000 + 0x11), 'PT_HP_OPT_ANNOT' : (0x60000000 + 0x12), 'PT_HP_HSL_ANNOT' : (0x60000000 + 0x13), 'PT_HP_STACK' : (0x60000000 + 0x14), 'PT_PARISC_ARCHEXT' : 0x70000000, 'PT_PARISC_UNWIND' : 0x70000001, 'PT_ARM_EXIDX' : 0x70000001, 'PT_IA_64_ARCHEXT' : (0x70000000 + 0), 'PT_IA_64_UNWIND' : (0x70000000 + 1), 'PT_IA_64_HP_OPT_ANOT' : (0x60000000 + 0x12), 'PT_IA_64_HP_HSL_ANOT' : (0x60000000 + 0x13), 'PT_IA_64_HP_STACK' : (0x60000000 + 0x14), } phdr_type = mirrorDict(phdr_type) phdr_flags = { 'PF_X' : (1 << 0), 'PF_W' : (1 << 1), 'PF_R' : (1 << 2), 'PF_PAGEEXEC' : (1 << 4), 'PF_NOPAGEEXEC' : (1 << 5), 'PF_SEGMEXEC' : (1 << 6), 'PF_NOSEGMEXEC' : (1 << 7), 'PF_MPROTECT' : (1 << 8), 'PF_NOMPROTECT' : (1 << 9), 'PF_RANDEXEC' : (1 << 10), 'PF_NORANDEXEC' : (1 << 11), 'PF_EMUTRAMP' : (1 << 12), 'PF_NOEMUTRAMP' : (1 << 13),
'NT_PRXREG' : 4, 'NT_TASKSTRUCT' : 4, 'NT_PLATFORM' : 5, 'NT_AUXV' : 6, 'NT_GWINDOWS' : 7, 'NT_ASRS' : 8, 'NT_PSTATUS' : 10, 'NT_PSINFO' : 13, 'NT_PRCRED' : 14, 'NT_UTSNAME' : 15, 'NT_LWPSTATUS' : 16, 'NT_LWPSINFO' : 17, 'NT_PRFPXREG' : 20, 'NT_PRXFPREG' : 0x46e62b7f, } mirrorDict(nhdr_core_type) nhdr_type = { 'NT_VERSION' : 1, } mirrorDict(nhdr_type) class NoteHeader( Header ): descriptions = [ 'n_namesz', 'n_descz', 'n_type' ] format = [ 'I', 'I', 'I' ] hr_values = { 'n_type' : [ VALUE_FIXED, nhdr_type ], }
'DT_FINI_ARRAY': 26, 'DT_INIT_ARRAYSZ': 27, 'DT_FINI_ARRAYSZ': 28, 'DT_RUNPATH': 29, 'DT_FLAGS': 30, 'DT_ENCODING': 32, 'DT_PREINIT_ARRAY': 32, 'DT_PREINIT_ARRAYSZ': 33, 'DT_NUM': 34, 'DT_LOOS': 0x6000000d, 'DT_HIOS': 0x6ffff000, 'DT_LOPROC': 0x70000000, 'DT_HIPROC': 0x7fffffff, 'DT_PROCNUM': 0x32, } dhdr_tag = mirrorDict(dhdr_tag) dhdr_mips_tag = { 'DT_MIPS_RLD_VERSION': 0x70000001, 'DT_MIPS_TIME_STAMP': 0x70000002, 'DT_MIPS_ICHECKSUM': 0x70000003, 'DT_MIPS_IVERSION': 0x70000004, 'DT_MIPS_FLAGS': 0x70000005, 'DT_MIPS_BASE_ADDRESS': 0x70000006, 'DT_MIPS_MSYM': 0x70000007, 'DT_MIPS_CONFLICT': 0x70000008, 'DT_MIPS_LIBLIST': 0x70000009, 'DT_MIPS_LOCAL_GOTNO': 0x7000000a, 'DT_MIPS_CONFLICTNO': 0x7000000b, 'DT_MIPS_LIBLISTNO': 0x70000010, 'DT_MIPS_SYMTABNO': 0x70000011,
from elf.core.property import ARCH_32, ARCH_64, VALUE_FIXED, VALUE_BITWISE from elf.core.header import Header from elf.utils import mirrorDict symtab_bind = { 'STB_LOCAL' : 0, 'STB_GLOBAL' : 1, 'STB_WEAK' : 2, 'STB_NUM' : 3, 'STB_LOOS' : 10, 'STB_HIOS' : 12, 'STB_LOPROC' : 13, 'STB_HIPROC' : 15, 'STB_MIPS_SPLIT_COMMON' : 13, } symtab_bind = mirrorDict(symtab_bind) symtab_type = { 'STT_NOTYPE' : 0, 'STT_OBJECT' : 1, 'STT_FUNC' : 2, 'STT_SECTION' : 3, 'STT_FILE' : 4, 'STT_COMMON' : 5, 'STT_TLS' : 6, 'STT_NUM' : 7, 'STT_LOOS' : 10, 'STT_HIOS' : 12, 'STT_LOPROC' : 13, 'STT_HIPROC' : 15, 'STT_SPARC_REGISTER' : 13,
"DT_FINI_ARRAY": 26, "DT_INIT_ARRAYSZ": 27, "DT_FINI_ARRAYSZ": 28, "DT_RUNPATH": 29, "DT_FLAGS": 30, "DT_ENCODING": 32, "DT_PREINIT_ARRAY": 32, "DT_PREINIT_ARRAYSZ": 33, "DT_NUM": 34, "DT_LOOS": 0x6000000D, "DT_HIOS": 0x6FFFF000, "DT_LOPROC": 0x70000000, "DT_HIPROC": 0x7FFFFFFF, "DT_PROCNUM": 0x32, } mirrorDict(dhdr_tag) dhdr_mips_tag = { "DT_MIPS_RLD_VERSION": 0x70000001, "DT_MIPS_TIME_STAMP": 0x70000002, "DT_MIPS_ICHECKSUM": 0x70000003, "DT_MIPS_IVERSION": 0x70000004, "DT_MIPS_FLAGS": 0x70000005, "DT_MIPS_BASE_ADDRESS": 0x70000006, "DT_MIPS_MSYM": 0x70000007, "DT_MIPS_CONFLICT": 0x70000008, "DT_MIPS_LIBLIST": 0x70000009, "DT_MIPS_LOCAL_GOTNO": 0x7000000A, "DT_MIPS_CONFLICTNO": 0x7000000B, "DT_MIPS_LIBLISTNO": 0x70000010, "DT_MIPS_SYMTABNO": 0x70000011,
'DT_FINI_ARRAY' : 26, 'DT_INIT_ARRAYSZ' : 27, 'DT_FINI_ARRAYSZ' : 28, 'DT_RUNPATH' : 29, 'DT_FLAGS' : 30, 'DT_ENCODING' : 32, 'DT_PREINIT_ARRAY' : 32, 'DT_PREINIT_ARRAYSZ' : 33, 'DT_NUM' : 34, 'DT_LOOS' : 0x6000000d, 'DT_HIOS' : 0x6ffff000, 'DT_LOPROC' : 0x70000000, 'DT_HIPROC' : 0x7fffffff, 'DT_PROCNUM' : 0x32, } dhdr_tag = mirrorDict(dhdr_tag) dhdr_mips_tag = { 'DT_MIPS_RLD_VERSION' : 0x70000001, 'DT_MIPS_TIME_STAMP' : 0x70000002, 'DT_MIPS_ICHECKSUM' : 0x70000003, 'DT_MIPS_IVERSION' : 0x70000004, 'DT_MIPS_FLAGS' : 0x70000005, 'DT_MIPS_BASE_ADDRESS' : 0x70000006, 'DT_MIPS_MSYM' : 0x70000007, 'DT_MIPS_CONFLICT' : 0x70000008, 'DT_MIPS_LIBLIST' : 0x70000009, 'DT_MIPS_LOCAL_GOTNO' : 0x7000000a, 'DT_MIPS_CONFLICTNO' : 0x7000000b, 'DT_MIPS_LIBLISTNO' : 0x70000010, 'DT_MIPS_SYMTABNO' : 0x70000011,
""" Eident and ElfHeader classes """ from elf.core.property import ARCH_32, ARCH_64, LITTLE_ENDIAN, BIG_ENDIAN, \ VALUE_FIXED, VALUE_BITWISE from elf.core.header import Header from elf.utils import mirrorDict from struct import calcsize ehdr_magic = { 'ELFMAG0' : 0x7f, 'ELFMAG1' : 'E', 'ELFMAG2' : 'L', 'ELFMAG3' : 'F', } mirrorDict(ehdr_magic) ehdr_class = { 'ELFCLASSNONE' : 0, 'ELFCLASS32' : 1, 'ELFCLASS64' : 2, 'ELFCLASSNUM' : 3, } mirrorDict(ehdr_class) ehdr_encoding = { 'ELFDATANONE' : 0, 'ELFDATA2LSB' : 1, 'ELFDATA2MSB' : 2, 'ELFDATANUM' : 3, }
'SHN_HIPROC' : 0xff1f, 'SHN_LOOS' : 0xff20, 'SHN_HIOS' : 0xff3f, 'SHN_ABS' : 0xfff1, 'SHN_COMMON' : 0xfff2, 'SHN_XINDEX' : 0xffff, 'SHN_HIRESERVE' : 0xffff, 'SHN_MIPS_ACOMMON' : 0xff00, 'SHN_MIPS_TEXT' : 0xff01, 'SHN_MIPS_DATA' : 0xff02, 'SHN_MIPS_SCOMMON' : 0xff03, 'SHN_MIPS_SUNDEFINED' : 0xff04, 'SHN_PARISC_ANSI_COMMON' : 0xff00, 'SHN_PARISC_HUGE_COMMON' : 0xff01, } shdr_index = mirrorDict(shdr_index) shdr_type = { 'SHT_NULL' : 0, 'SHT_PROGBITS' : 1, 'SHT_SYMTAB' : 2, 'SHT_STRTAB' : 3, 'SHT_RELA' : 4, 'SHT_HASH' : 5, 'SHT_DYNAMIC' : 6, 'SHT_NOTE' : 7, 'SHT_NOBITS' : 8, 'SHT_REL' : 9, 'SHT_SHLIB' : 10, 'SHT_DYNSYM' : 11, 'SHT_INIT_ARRAY' : 14,
'DT_FINI_ARRAY' : 26, 'DT_INIT_ARRAYSZ' : 27, 'DT_FINI_ARRAYSZ' : 28, 'DT_RUNPATH' : 29, 'DT_FLAGS' : 30, 'DT_ENCODING' : 32, 'DT_PREINIT_ARRAY' : 32, 'DT_PREINIT_ARRAYSZ' : 33, 'DT_NUM' : 34, 'DT_LOOS' : 0x6000000d, 'DT_HIOS' : 0x6ffff000, 'DT_LOPROC' : 0x70000000, 'DT_HIPROC' : 0x7fffffff, 'DT_PROCNUM' : 0x32, } mirrorDict(dhdr_tag) dhdr_mips_tag = { 'DT_MIPS_RLD_VERSION' : 0x70000001, 'DT_MIPS_TIME_STAMP' : 0x70000002, 'DT_MIPS_ICHECKSUM' : 0x70000003, 'DT_MIPS_IVERSION' : 0x70000004, 'DT_MIPS_FLAGS' : 0x70000005, 'DT_MIPS_BASE_ADDRESS' : 0x70000006, 'DT_MIPS_MSYM' : 0x70000007, 'DT_MIPS_CONFLICT' : 0x70000008, 'DT_MIPS_LIBLIST' : 0x70000009, 'DT_MIPS_LOCAL_GOTNO' : 0x7000000a, 'DT_MIPS_CONFLICTNO' : 0x7000000b, 'DT_MIPS_LIBLISTNO' : 0x70000010, 'DT_MIPS_SYMTABNO' : 0x70000011,
'PT_HP_CORE_MMF' : (0x60000000 + 0x9), 'PT_HP_PARALLEL' : (0x60000000 + 0x10), 'PT_HP_FASTBIND' : (0x60000000 + 0x11), 'PT_HP_OPT_ANNOT' : (0x60000000 + 0x12), 'PT_HP_HSL_ANNOT' : (0x60000000 + 0x13), 'PT_HP_STACK' : (0x60000000 + 0x14), 'PT_PARISC_ARCHEXT' : 0x70000000, 'PT_PARISC_UNWIND' : 0x70000001, 'PT_ARM_EXIDX' : 0x70000001, 'PT_IA_64_ARCHEXT' : (0x70000000 + 0), 'PT_IA_64_UNWIND' : (0x70000000 + 1), 'PT_IA_64_HP_OPT_ANOT' : (0x60000000 + 0x12), 'PT_IA_64_HP_HSL_ANOT' : (0x60000000 + 0x13), 'PT_IA_64_HP_STACK' : (0x60000000 + 0x14), } mirrorDict(phdr_type) phdr_flags = { 'PF_X' : (1 << 0), 'PF_W' : (1 << 1), 'PF_R' : (1 << 2), 'PF_PAGEEXEC' : (1 << 4), 'PF_NOPAGEEXEC' : (1 << 5), 'PF_SEGMEXEC' : (1 << 6), 'PF_NOSEGMEXEC' : (1 << 7), 'PF_MPROTECT' : (1 << 8), 'PF_NOMPROTECT' : (1 << 9), 'PF_RANDEXEC' : (1 << 10), 'PF_NORANDEXEC' : (1 << 11), 'PF_EMUTRAMP' : (1 << 12), 'PF_NOEMUTRAMP' : (1 << 13),
'NT_PRXREG': 4, 'NT_TASKSTRUCT': 4, 'NT_PLATFORM': 5, 'NT_AUXV': 6, 'NT_GWINDOWS': 7, 'NT_ASRS': 8, 'NT_PSTATUS': 10, 'NT_PSINFO': 13, 'NT_PRCRED': 14, 'NT_UTSNAME': 15, 'NT_LWPSTATUS': 16, 'NT_LWPSINFO': 17, 'NT_PRFPXREG': 20, 'NT_PRXFPREG': 0x46e62b7f, } nhdr_core_type = mirrorDict(nhdr_core_type) nhdr_type = { 'NT_VERSION': 1, } nhdr_type = mirrorDict(nhdr_type) class NoteHeader(Header): descriptions = ['n_namesz', 'n_descz', 'n_type'] format = ['I', 'I', 'I'] hr_values = { 'n_type': [VALUE_FIXED, nhdr_type], }
'NT_PRXREG': 4, 'NT_TASKSTRUCT': 4, 'NT_PLATFORM': 5, 'NT_AUXV': 6, 'NT_GWINDOWS': 7, 'NT_ASRS': 8, 'NT_PSTATUS': 10, 'NT_PSINFO': 13, 'NT_PRCRED': 14, 'NT_UTSNAME': 15, 'NT_LWPSTATUS': 16, 'NT_LWPSINFO': 17, 'NT_PRFPXREG': 20, 'NT_PRXFPREG': 0x46e62b7f, } mirrorDict(nhdr_core_type) nhdr_type = { 'NT_VERSION': 1, } mirrorDict(nhdr_type) class NoteHeader(Header): descriptions = ['n_namesz', 'n_descz', 'n_type'] format = ['I', 'I', 'I'] hr_values = { 'n_type': [VALUE_FIXED, nhdr_type], }
'SHN_HIPROC': 0xff1f, 'SHN_LOOS': 0xff20, 'SHN_HIOS': 0xff3f, 'SHN_ABS': 0xfff1, 'SHN_COMMON': 0xfff2, 'SHN_XINDEX': 0xffff, 'SHN_HIRESERVE': 0xffff, 'SHN_MIPS_ACOMMON': 0xff00, 'SHN_MIPS_TEXT': 0xff01, 'SHN_MIPS_DATA': 0xff02, 'SHN_MIPS_SCOMMON': 0xff03, 'SHN_MIPS_SUNDEFINED': 0xff04, 'SHN_PARISC_ANSI_COMMON': 0xff00, 'SHN_PARISC_HUGE_COMMON': 0xff01, } shdr_index = mirrorDict(shdr_index) shdr_type = { 'SHT_NULL': 0, 'SHT_PROGBITS': 1, 'SHT_SYMTAB': 2, 'SHT_STRTAB': 3, 'SHT_RELA': 4, 'SHT_HASH': 5, 'SHT_DYNAMIC': 6, 'SHT_NOTE': 7, 'SHT_NOBITS': 8, 'SHT_REL': 9, 'SHT_SHLIB': 10, 'SHT_DYNSYM': 11, 'SHT_INIT_ARRAY': 14,
'SHN_HIPROC': 0xff1f, 'SHN_LOOS': 0xff20, 'SHN_HIOS': 0xff3f, 'SHN_ABS': 0xfff1, 'SHN_COMMON': 0xfff2, 'SHN_XINDEX': 0xffff, 'SHN_HIRESERVE': 0xffff, 'SHN_MIPS_ACOMMON': 0xff00, 'SHN_MIPS_TEXT': 0xff01, 'SHN_MIPS_DATA': 0xff02, 'SHN_MIPS_SCOMMON': 0xff03, 'SHN_MIPS_SUNDEFINED': 0xff04, 'SHN_PARISC_ANSI_COMMON': 0xff00, 'SHN_PARISC_HUGE_COMMON': 0xff01, } mirrorDict(shdr_index) shdr_type = { 'SHT_NULL': 0, 'SHT_PROGBITS': 1, 'SHT_SYMTAB': 2, 'SHT_STRTAB': 3, 'SHT_RELA': 4, 'SHT_HASH': 5, 'SHT_DYNAMIC': 6, 'SHT_NOTE': 7, 'SHT_NOBITS': 8, 'SHT_REL': 9, 'SHT_SHLIB': 10, 'SHT_DYNSYM': 11, 'SHT_INIT_ARRAY': 14,
'PT_HP_CORE_MMF': (0x60000000 + 0x9), 'PT_HP_PARALLEL': (0x60000000 + 0x10), 'PT_HP_FASTBIND': (0x60000000 + 0x11), 'PT_HP_OPT_ANNOT': (0x60000000 + 0x12), 'PT_HP_HSL_ANNOT': (0x60000000 + 0x13), 'PT_HP_STACK': (0x60000000 + 0x14), 'PT_PARISC_ARCHEXT': 0x70000000, 'PT_PARISC_UNWIND': 0x70000001, 'PT_ARM_EXIDX': 0x70000001, 'PT_IA_64_ARCHEXT': (0x70000000 + 0), 'PT_IA_64_UNWIND': (0x70000000 + 1), 'PT_IA_64_HP_OPT_ANOT': (0x60000000 + 0x12), 'PT_IA_64_HP_HSL_ANOT': (0x60000000 + 0x13), 'PT_IA_64_HP_STACK': (0x60000000 + 0x14), } mirrorDict(phdr_type) phdr_flags = { 'PF_X': (1 << 0), 'PF_W': (1 << 1), 'PF_R': (1 << 2), 'PF_PAGEEXEC': (1 << 4), 'PF_NOPAGEEXEC': (1 << 5), 'PF_SEGMEXEC': (1 << 6), 'PF_NOSEGMEXEC': (1 << 7), 'PF_MPROTECT': (1 << 8), 'PF_NOMPROTECT': (1 << 9), 'PF_RANDEXEC': (1 << 10), 'PF_NORANDEXEC': (1 << 11), 'PF_EMUTRAMP': (1 << 12), 'PF_NOEMUTRAMP': (1 << 13),