在 ELF 核心文件中,哪个部分存储有关调用的命令的信息?
Posted
技术标签:
【中文标题】在 ELF 核心文件中,哪个部分存储有关调用的命令的信息?【英文标题】:In ELF core file which section stores information on command invoked? 【发布时间】:2018-02-13 05:50:02 【问题描述】:$ hexdump -C <corefile>
000005a0 00 00 00 00 00 00 00 00 2e 2f 74 65 73 74 20 48 |........./test H|
000005b0 65 6c 6c 6f 20 57 6f 72 6c 64 20 00 00 00 00 00 |ello World .....|
hexdump 显示类似“./test Hello World”的字符串
如何从 ELF 核心文件中读取命令调用字符串?
【问题讨论】:
【参考方案1】:核心文件的注释部分具有“prpsinfo”,其中包含可执行名称和参数信息。
readelf --notes /b/syrajendra/core.test.25963.1518497907
Notes at offset 0x000003f8 with length 0x00000614:
Owner Data size Description
CORE 0x00000150 NT_PRSTATUS (prstatus structure)
CORE 0x00000088 NT_PRPSINFO (prpsinfo structure)
CORE 0x00000080 Unknown note type: (0x53494749)
CORE 0x00000130 NT_AUXV (auxiliary vector)
“prpsinfo”结构定义在“/usr/include/linux/elfcore.h”文件中。
【讨论】:
注意sizeof(elf_prpsinfo.pr_psargs) == ELF_PRARGSZ == 80
,所以只保存命令行的前80个字符。以上是关于在 ELF 核心文件中,哪个部分存储有关调用的命令的信息?的主要内容,如果未能解决你的问题,请参考以下文章