-4

我需要在不使用 objdump 或 readelf 的情况下查找 ELF 可执行文件(a.out)的程序头数。我认为可以通过 hexdump 来完成。但我对此一无所知。请告诉我如何计算它。

谢谢

4

1 回答 1

1

我需要在不使用 objdump 或 readelf 的情况下查找 ELF 可执行文件(a.out)的程序头数。

这是一件微不足道的事情。

查找/usr/include/elf.hElf32_Ehdr或 Elf64_Ehdr,如果在 64 位机器上)定义。将您在此处看到的内容与readelf -h a.out. 那,每个ELF二进制文件开头的事实Elf{32,64}_Ehdr就是所需要的。

你的程序将是:

  • 打开a.out文件
  • 从头开始读Elf32_Ehdr(或)Elf64_Ehdr
  • 打印.e_phnum
  • 出口
于 2013-03-02T16:37:59.850 回答