了解精灵的咒语

时间:2012-06-24 18:12:56

标签: elf hex-editors

考虑ELF文件的以下十六进制显示。

00000000   7F 45 4C 46  01 01 01 00  00 00 00 00  .ELF........
0000000C   00 00 00 00  02 00 03 00  01 00 00 00  ............
00000018   30 83 04 08  34 00 00 00  50 14 00 00  0...4...P...
00000024   00 00 00 00  34 00 20 00  08 00 28 00  ....4. ...(.
00000030   24 00 21 00  06 00 00 00  34 00 00 00  $.!.....4...
0000003C   34 80 04 08  34 80 04 08  00 01 00 00  4...4.......
00000048   00 01 00 00  05 00 00 00  04 00 00 00  ............
  1. 它有多少个标题?
  2. 是目标文件还是可执行文件?
  3. 它有多少个程序头?
  4. 如果有任何程序标题,第一个程序标题会做什么?
  5. 如果有任何节标题,则节标题表的偏移量是什么?

1 个答案:

答案 0 :(得分:1)

  

很奇怪,这个hexdump看起来像 your homework 给我......

  1. 共有36个标题。
  2. 这是一个可执行文件。
  3. 它有8个程序标题。
  4. 正如您在第一个程序头中的第一个字(偏移量0x34:0x0006)所知,它的类型为PT_PHDR,它只是告知程序头表本身的特征。
  5. 节头表从字节5200开始(十六进制为0x1450)。
  6. 我怎么知道这些东西?通过将十六进制转储为二进制文件并使用readelf -a读取它(因为我很懒惰)。除了问题没有。 4,我必须通过阅读man 5 elf手动弄清楚。