【发布时间】:2012-06-02 11:13:48
【问题描述】:
我们收到了一个家庭作业,我们需要在其中获取一个 ELF 文件并打印其部分的名称。
我们应该只使用直接从 ELF 标头接收的数据来完成所有这些工作, 这意味着我们不能使用任何“高级”程序——我们需要直接访问我们需要的数据。
所以,我试图打印第一部分的名称。我知道名称应该在字符串表中。这是我目前所拥有的:
我正在使用 mmap... 开始 ELF 文件
elfhead =(Elf32_Ehdr *) mmap...
我正在使用 ELF 标头中的成员获取节偏移量
sectionoffset = elfhead->e_shoff
然后
section = (Elf32_Shdr*)(elfhead + sectionoffset)
nameoffset = section->sh_name
stringoffset = elfhead->e_shstrndx;
说清楚 -
- 在
elfhead我有精灵头 - 在部分我有部分标题
- 在
stringoffset我有节表内的索引 字符串表应该是 - 在
nameoffset我有索引 第一个部分名称所在的字符串表。
根据上面的代码,我如何找到名字并打印出来?
【问题讨论】: