请提供 llvm-readelf 在参数 --elf-output-style=json 时的输出信息
当使用 llvm-readelf 命令的 --elf-output-style=json 参数时,它会以 JSON 格式输出 ELF 文件的信息。以下是 llvm-readelf 在该参数下的输出信息的示例:
{
"FileHeader": {
"e_ident": {
"EI_MAG0": 127,
"EI_MAG1": 69,
"EI_MAG2": 76,
"EI_MAG3": 70,
"EI_CLASS": 2,
"EI_DATA": 1,
"EI_VERSION": 1,
"EI_OSABI": 0,
"EI_ABIVERSION": 0,
"EI_PAD": 0
},
"e_type": 2,
"e_machine": 62,
"e_version": 1,
"e_entry": 4194304,
"e_phoff": 64,
"e_shoff": 70752,
"e_flags": 0,
"e_ehsize": 64,
"e_phentsize": 56,
"e_phnum": 9,
"e_shentsize": 64,
"e_shnum": 29,
"e_shstrndx": 28
},
"ProgramHeaders": [
{
"p_type": 1,
"p_flags": 5,
"p_offset": 0,
"p_vaddr": 0,
"p_paddr": 0,
"p_filesz": 640,
"p_memsz": 640,
"p_align": 4
},
...
],
"SectionHeaders": [
{
"sh_name": 0,
"sh_type": 0,
"sh_flags": 0,
"sh_addr": 0,
"sh_offset": 0,
"sh_size": 0,
"sh_link": 0,
"sh_info": 0,
"sh_addralign": 0,
"sh_entsize": 0
},
...
],
"Symbols": [
{
"st_name": 0,
"st_info": 0,
"st_other": 0,
"st_shndx": 0,
"st_value": 0,
"st_size": 0
},
...
],
"DynamicSymbols": [
{
"st_name": 131,
"st_info": 17,
"st_other": 0,
"st_shndx": 8,
"st_value": 4194304,
"st_size": 8
},
...
],
"Relocations": [
{
"r_offset": 4194316,
"r_type": 1024,
"r_sym": 1,
"r_addend": 0
},
...
]
}
上述示例中的输出信息包括了 ELF 文件的文件头(FileHeader)、程序头表(ProgramHeaders)、节头表(SectionHeaders)、符号表(Symbols)、动态符号表(DynamicSymbols)以及重定位表(Relocations)。具体的输出内容会根据输入的 ELF 文件的不同而有所变化
原文地址: http://www.cveoy.top/t/topic/iY86 著作权归作者所有。请勿转载和采集!