Здравствуйте, vnp, Вы писали:
vnp>Здравствуйте, Аноним, Вы писали:
А>>Привет All
А>>Очень нужна помощь в разборе формата файла (библтотека) в формате ELF
А>>Если кто то этим занимался откликнитесь.
А>>А то второй день немогу совместить то что написано в документации с тем что есть в файле
vnp>А поподробнее можно?
Можно
Стоит задача разобраться с данным форматом.
Приведу кусочек файла(библиотеки) может так будет понятна проблема
вот фрагмент файла библиотеки
...........................................
0000A
0 30 34 0A 00 00 7F 45 4C 46 01 02 01 00 00 00 00
0000B0 00 00 00 00 00 00 01 00 35 00 00 00 01 00 00 00
0000C0
00 00 00 0D E
8 00 00 0A 28 00 00 00 00 00 34 00
0000D0 00 00 00 00 28 00 18 00 17 00 00 00 00 00 00 00
0000E0 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
из этого куска видим
File format: ELF/Dwarf (0000A5 начало )
Ident: ELF with 32-bit objects, MSB encoding, Version 1
Type : Relocatable file (0x1)
Version : 1
Machine : Motorola HC12 (0x35)
Entry point: 0
Elf flags : 0
ElfHSiz : 34
ProgHOff : DE8, ProgHSi: 0, ProgHNu: 0
SectHOff : A28, SectHSi: 28, SectHNu: 24, SectHSI: 23
дальше если смотреть по этому фрагменту то получается
что
PROGRAM HEADER TABLE — 0 Items и стартовый адресс где это все находится Starts at: DE8
...............................
000DE0 01
00 00 00 0C 00 00 00 04
00 00 00 0C 00 00 00
000DF0 DF 00 00 00 04 00 00 00 00 00 00 00 00 00 00 04
000E00 A4
00 00 00 0C 00 00 00 01
00 00 00 0D 00 00 00
000E10 04
00 00 00 0C 00 00 00 F4 00 00 00 04 00 00 00
......................................................
но так как Items-ов 0 то проверить нет возможности
далее
SECTION HEADER TABLE — 24 Items
Starts at: A28, Size of an entry: 28
А реально получается что начало секции находится где то 9B6 ( 2E 73 79 6D.................)
..........................................................
0009B0 47 00 00
00 00 00 2E 73 79 6D 74
61 62 00 2E 73
0009C0 74 72 74
61 62 00 2E 72 6F 64 61
74 61 00 2E 72
0009D0 6F 64 61 74
61 31 00 2E 64 61
74 61 00 2E 62 73
0009E
0 73 00 2E 74 65
78 74 00 2E 64 65
62 75 67 5F 69
0009F0 6E 66 6F 00 2E 64 65
62 75 67 5F 61 62 62 72 65
000A
00 76 00 2E 64 65
62 75 67 5F 6C 6F 63 00 2E 64 65
000A10
62 75 67 5F 6C 69 6E 65 00 2E 64 65
62 75 67 5F
000A20
66 72 61 6D 65 00 2E 64 65
62 75 67 5F 70 75 62
000A30 6E 61 6D
65 73 00 2E 64 65
62 75 67 5F 61 72 61
000A40 6E 67
65 73 00 2E 72 65 6C 61 2E 74 65 78 74 00
000A50 2E 72 65 6C 61 2E 64 65
62 75 67 5F 69 6E 66 6F
Кто поможет разобраться с этим?
Здравствуйте, Аноним, Вы писали:
А>File format: ELF/Dwarf (0000A5 начало )
А>Ident: ELF with 32-bit objects, MSB encoding, Version 1
А>Type : Relocatable file (0x1)
А>Version : 1
А>Machine : Motorola HC12 (0x35)
А>Entry point: 0
А>Elf flags : 0
А>ElfHSiz : 34
А>ProgHOff : DE8, ProgHSi: 0, ProgHNu: 0
А>SectHOff : A28, SectHSi: 28, SectHNu: 24, SectHSI: 23
описания форматов, может поможет
http://www.wotsit.org/search.asp?s=binary
А>Очень нужна помощь в разборе формата файла (библтотека) в формате ELF
Гугль рулит.
http://www.google.com/search?hl=en&q=elf+executable+format
Если же нужен рабочий код — то см. GNU binutils