Файлы System/bin Android 12. Справочник.


  Все     Команда     Скрипт     Служба     Приложение  

readelf
Показать информацию о файлах ELF

Симлинк на: [ ToyBox ]

Тип файла: команда
  Eng  

usage: readelf
@@[-adehlnSs]


[-p SECTION]

[-x SECTION]

[file...]

Отображает информацию о файлах ELF

  • -a Эквивалентно -dhlnSs

  • -d Показать динамический раздел SECTION

  • -e Заголовки (эквивалентно -hlS)

  • -h Показать заголовок ELF

  • -l Показать заголовки программы

  • -n Показать заметки

  • -p S Дамп строк, найденных в именованном / нумерованном
    разделе SECTION

  • -S Показать заголовки разделов

  • -s Показать таблицы символов (.dynsym и .symtab)

  • -x S Шестнадцатеричный дамп именованного / нумерованного
    раздела SECTION

  • --dyn-syms Показать только таблицу символов .dynsym

    [ ToyBox ]     [ ManLinux ]

    Комментарии
    Пример:
    Это файл toybox последней версии

    console:/ # readelf -a bin/toyboxm
    ELF Header:
    Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
    Class: ELF32
    Data: 2's complement, little endian
    Version: 1 (current)
    OS/ABI: UNIX - System V
    ABI Version: 0
    Type: DYN (Shared object file)
    Machine: arm
    Version: 0x1
    Entry point address: 0x3f61
    Start of program headers: 52 (bytes into file)
    Start of section headers: 672904 (bytes into file)
    Flags: 0x5000200
    Size of this header: 52 (bytes)
    Size of program headers: 32 (bytes)
    Number of program headers: 6
    Size of section headers: 40 (bytes)
    Number of section headers: 21
    Section header string table index: 20

    Section Headers:
    [Nr] Name Type Address Off Size ES Flg Lk Inf Al
    [ 0] NULL 00000000 000000 000000 00 0 0 0
    [ 1] .hash HASH 000000f4 0000f4 000018 04 A 3 0 4
    [ 2] .gnu.hash GNU_HASH 0000010c 00010c 000018 04 A 3 0 4
    [ 3] .dynsym DYNSYM 00000124 000124 000030 10 A 4 3 4
    [ 4] .dynstr STRTAB 00000154 000154 000001 00 A 0 0 1
    [ 5] .rel.dyn REL 00000158 000158 003db8 08 A 3 0 4
    [ 6] .init PROGBITS 00003f10 003f10 000008 00 AX 0 0 2
    [ 7] .text PROGBITS 00003f18 003f18 051726 00 AX 0 0 8
    [ 8] .fini PROGBITS 0005563e 05563e 000008 00 AX 0 0 2
    [ 9] .rodata PROGBITS 00055648 055648 04a4d0 00 A 0 0 8
    [10] .ARM.exidx ARM_EXIDX 0009fb18 09fb18 000008 00 AL 7 0 4
    [11] .eh_frame PROGBITS 0009fb20 09fb20 000004 00 A 0 0 4
    [12] .init_array INIT_ARRAY 000b05d0 0a05d0 000004 04 WA 0 0 4
    [13] .fini_array FINI_ARRAY 000b05d4 0a05d4 000004 04 WA 0 0 4
    [14] .data.rel.ro PROGBITS 000b05d8 0a05d8 000964 00 WA 0 0 8
    [15] .dynamic DYNAMIC 000b0f3c 0a0f3c 0000c0 08 WA 4 0 4
    [16] .got PROGBITS 000b1000 0a1000 000118 04 WA 0 0 4
    [17] .data PROGBITS 000b1118 0a1118 003298 00 WA 0 0 8
    [18] .bss NOBITS 000b43b0 0a43b0 005090 00 WA 0 0 8
    [19] .ARM.attributes ARM_ATTRIBUTES 00000000 0a43b0 00002d 00 0 0 1
    [20] .shstrtab STRTAB 00000000 0a43dd 0000ab 00 0 0 1
    Key:
    (W)rite, (A)lloc, e(X)ecute, (M)erge, (S)trings, (I)nfo
    (L)ink order, (O)S, (G)roup, (T)LS, (C)ompressed, x=unknown

    Program Headers:
    Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
    EXIDX 0x09fb18 0x0009fb18 0x0009fb18 0x00008 0x00008 R 0x4
    LOAD 0x000000 0x00000000 0x00000000 0x9fb24 0x9fb24 R E 0x10000
    LOAD 0x0a05d0 0x000b05d0 0x000b05d0 0x03de0 0x08e70 RW 0x10000
    DYNAMIC 0x0a0f3c 0x000b0f3c 0x000b0f3c 0x000c0 0x000c0 RW 0x4
    GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x10
    GNU_RELRO 0x0a05d0 0x000b05d0 0x000b05d0 0x00a30 0x00a30 R 0x1

    Section to Segment mapping:
    Segment Sections...
    00 .ARM.exidx
    01 .hash .gnu.hash .dynsym .dynstr .rel.dyn .init .text .fini .rodata .ARM.exidx .eh_frame
    02 .init_array .fini_array .data.rel.ro .dynamic .got .data
    03 .dynamic
    04
    05 .init_array .fini_array .data.rel.ro .dynamic

    Dynamic section at offset 0xa0f3c contains 24 entries:
    Tag Type Name/Value
    0x00000010 (SYMBOLIC) 0x0
    0x0000000c (INIT) 0x3f11
    0x0000000d (FINI) 0x5563f
    0x00000019 (INIT_ARRAY) 0xb05d0
    0x0000001b (INIT_ARRAYSZ) 4 (bytes)
    0x0000001a (FINI_ARRAY) 0xb05d4
    0x0000001c (FINI_ARRAYSZ) 4 (bytes)
    0x00000004 (HASH) 0xf4
    0x6ffffef5 (GNU_HASH) 0x10c
    0x00000005 (STRTAB) 0x154
    0x00000006 (SYMTAB) 0x124
    0x0000000a (STRSZ) 1 (bytes)
    0x0000000b (SYMENT) 16 (bytes)
    0x00000015 (DEBUG) 0x0
    0x00000011 (REL) 0x158
    0x00000012 (RELSZ) 15800 (bytes)
    0x00000013 (RELENT) 8 (bytes)
    0x6ffffffb (FLAGS_1) Flags: PIE
    0x6ffffffa (RELCOUNT) 1975
    0x00000000 (NULL) 0x0
    0x00000000 (NULL) 0x0
    0x00000000 (NULL) 0x0
    0x00000000 (NULL) 0x0
    0x00000000 (NULL) 0x0

    Symbol table '.dynsym' contains 3 entries:
    Num: Value Size Type Bind Vis Ndx Name
    0: 00000000 0 NOTYPE LOCAL DEFAULT UND
    1: 00003f10 0 SECTION LOCAL DEFAULT 6
    2: 000b1118 0 SECTION LOCAL DEFAULT 17
    console:/ #