|
|
|
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Пытаюсь разобрать PE файл, в заголовке секции .text читаю:
Name .text Virtual Size 00 00 0c 20 Section RVA 00 00 10 00 Physical Size 00 00 0e 00 Physical Offset 00 00 04 00 Object Flags 60 30 00 60. Как инициализируемая часть может быть больше полного размера? Откуда смещение Physical Offset? От начала файла, от PE заголовка, или от заголовка секции? -------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
bems |
|
||||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
The file pointer to the first page of the section within the COFF file. For executable images, this must be a multiple of FileAlignment from the optional header. For object files, the value should be aligned on a 4byte boundary for best performance. When a section contains only uninitialized data, this field should be zero прочитай официальную спеку уже -------------------- Обижено школьников: 8 |
||||
|
|||||
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Размер инициализированной части секции кратен FileAlignment. Эйси. Но как он может быть больше Virtual Size? Проверьте:
Добавлено через 7 минут и 5 секунд А где её можно найти в каких либо других форматах, кроме docx? doc, html, pdf... Это сообщение отредактировал(а) ТарасАтавин - 15.9.2013, 15:53 Присоединённый файл ( Кол-во скачиваний: 1 ) Test.rar 2,96 Kb -------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
ну SizeOfRawData округлился в большую сторону, а VirtualSize нет, вот и больше.
попробуй вот это https://dl.dropboxusercontent.com/u/16681494/pecoff_v83.doc -------------------- Обижено школьников: 8 |
|||
|
||||
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
-------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Спробовал на дистрибутиве Хрома. То же самое, только сами числа больше.
-------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
ничего, потому что VirtualSize не округляется. А то что ты называешь "свой алигн" влияет на SectionRVA, а не размер
-------------------- Обижено школьников: 8 |
|||
|
||||
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Но по описанию именно на размер.
-------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
В спецификации явно сказано что поле VirtualSize хранится в файле не округленным. Я не знаю что тут еще надо доказывать
Добавлено через 1 минуту и 9 секунд Кстати у тебя ошибка в оппосте Virtual Size 00 00 0c 20 на самом деле там 00000C00 -------------------- Обижено школьников: 8 |
|||
|
||||
ТарасАтавин |
|
||||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Ни какой ошибки, просто использована смешанная система с основаниями 256, 16 и нижний регистра для цифр a-f. Я бу с удовольствием поменял регистр на верхний, но не знаю, каким потоковым манипулятором это можно сделать, а пробелы расставлены специально для удобства.
Добавлено через 3 минуты и 10 секунд
Это сообщение отредактировал(а) ТарасАтавин - 15.9.2013, 20:06 -------------------- Не так всё плохо, как оно есть на самом деле. |
||||
|
|||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
не в пробелах и регистре дело
у тебя двойка, а по факту там 0 ну по крайней мере в хексе, не знаю как это в "смешанной системе" -------------------- Обижено школьников: 8 |
|||
|
||||
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Где ноль? Там 00 00 0c 28h по смещению 00 00 01 80h. Hex-редактор подтверждает.
Это сообщение отредактировал(а) ТарасАтавин - 15.9.2013, 20:16 -------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
bems |
|
||||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
Что там еще где-то сказано это проблемы тех кто говорит Добавлено @ 20:16
Это сообщение отредактировал(а) bems - 15.9.2013, 20:16 -------------------- Обижено школьников: 8 |
||||
|
|||||
ТарасАтавин |
|
|||
Опытный Профиль Группа: Участник Сообщений: 370 Регистрация: 26.8.2013 Репутация: нет Всего: нет |
Там ещё восьмёрка.
Добавлено через 2 минуты и 21 секунду Размер заголовка секции переоценен на 8 байт. -------------------- Не так всё плохо, как оно есть на самом деле. |
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
-------------------- Обижено школьников: 8 |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Форматы файлов и данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |