Dork's port

ELF 구조를 보는 명령어 본문

Linux

ELF 구조를 보는 명령어

Dork94 2018. 3. 27. 07:37



.dtors를 보기위해서 ELF의 구조 및 주소를 얻을 필요가 있었습니다.


이때 사용하는 명령어를 공유합니다!




$ readelf -S <실행파일>





결과 : 

There are 34 section headers, starting at offset 0x1dcc:


Section Headers:

  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al

  [ 0]                   NULL            00000000 000000 000000 00      0   0  0

  [ 1] .interp           PROGBITS        080480f4 0000f4 000013 00   A  0   0  1

  [ 2] .note.ABI-tag     NOTE            08048108 000108 000020 00   A  0   0  4

  [ 3] .hash             HASH            08048128 000128 000034 04   A  4   0  4

  [ 4] .dynsym           DYNSYM          0804815c 00015c 000080 10   A  5   1  4

  [ 5] .dynstr           STRTAB          080481dc 0001dc 000061 00   A  0   0  1

  [ 6] .gnu.version      VERSYM          0804823e 00023e 000010 02   A  4   0  2

  [ 7] .gnu.version_r    VERNEED         08048250 000250 000020 00   A  5   1  4

  [ 8] .rel.dyn          REL             08048270 000270 000010 08   A  4   0  4

  [ 9] .rel.plt          REL             08048280 000280 000020 08   A  4   b  4

  [10] .init             PROGBITS        080482a0 0002a0 000017 00  AX  0   0  4

  [11] .plt              PROGBITS        080482b8 0002b8 000050 04  AX  0   0  4

  [12] .text             PROGBITS        08048308 000308 000188 00  AX  0   0  4

  [13] .fini             PROGBITS        08048490 000490 00001b 00  AX  0   0  4

  [14] .rodata           PROGBITS        080484ac 0004ac 000008 00   A  0   0  4

  [15] .eh_frame         PROGBITS        080484b4 0004b4 000004 00   A  0   0  4

  [16] .data             PROGBITS        080494b8 0004b8 00000c 00  WA  0   0  4

  [17] .dynamic          DYNAMIC         080494c4 0004c4 0000c8 08  WA  5   0  4

  [18] .ctors            PROGBITS        0804958c 00058c 000008 00  WA  0   0  4

  [19] .dtors            PROGBITS        08049594 000594 000008 00  WA  0   0  4

  [20] .jcr              PROGBITS        0804959c 00059c 000004 00  WA  0   0  4

  [21] .got              PROGBITS        080495a0 0005a0 000020 04  WA  0   0  4

  [22] .bss              NOBITS          080495c0 0005c0 000008 00  WA  0   0  4

  [23] .comment          PROGBITS        00000000 0005c0 000132 00      0   0  1

  [24] .debug_aranges    PROGBITS        00000000 0006f8 000078 00      0   0  8

  [25] .debug_pubnames   PROGBITS        00000000 000770 000025 00      0   0  1

  [26] .debug_info       PROGBITS        00000000 000795 000a84 00      0   0  1

  [27] .debug_abbrev     PROGBITS        00000000 001219 000138 00      0   0  1

  [28] .debug_line       PROGBITS        00000000 001351 00027c 00      0   0  1

  [29] .debug_frame      PROGBITS        00000000 0015d0 000014 00      0   0  4

  [30] .debug_str        PROGBITS        00000000 0015e4 0006ba 01  MS  0   0  1

  [31] .shstrtab         STRTAB          00000000 001c9e 00012b 00      0   0  1

  [32] .symtab           SYMTAB          00000000 00231c 0006f0 10     33  54  4

  [33] .strtab           STRTAB          00000000 002a0c 00042b 00      0   0  1

Key to Flags:

  W (write), A (alloc), X (execute), M (merge), S (strings)

  I (info), L (link order), G (group), x (unknown)

  O (extra OS processing required) o (OS specific), p (processor specific


Comments