Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Форматы файлов и данных > PE формат. |
Автор: ТарасАтавин 15.9.2013, 13:35 |
Пытаюсь разобрать 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 заголовка, или от заголовка секции? |
Автор: ТарасАтавин 15.9.2013, 15:48 | ||||
Virtual Size? Проверьте:
Добавлено через 7 минут и 5 секунд А где её можно найти в каких либо других форматах, кроме docx? doc, html, pdf... |
Автор: bems 15.9.2013, 16:25 | ||
ну SizeOfRawData округлился в большую сторону, а VirtualSize нет, вот и больше.
попробуй вот это https://dl.dropboxusercontent.com/u/16681494/pecoff_v83.doc |
Автор: ТарасАтавин 15.9.2013, 18:43 |
А ничего, что у него свой алигн ещё в 8 раз больше? Причём, VirtualSize почему то вообще меньше своего алигна. Файловый алигн 200h, а объектный 1000h. |
Автор: ТарасАтавин 15.9.2013, 19:15 |
Спробовал на дистрибутиве Хрома. То же самое, только сами числа больше. |
Автор: bems 15.9.2013, 19:47 |
ничего, потому что VirtualSize не округляется. А то что ты называешь "свой алигн" влияет на SectionRVA, а не размер |
Автор: ТарасАтавин 15.9.2013, 19:57 |
Но по описанию именно на размер. |
Автор: bems 15.9.2013, 19:59 |
В спецификации явно сказано что поле VirtualSize хранится в файле не округленным. Я не знаю что тут еще надо доказывать Добавлено через 1 минуту и 9 секунд Кстати у тебя ошибка в оппосте Virtual Size 00 00 0c 20 на самом деле там 00000C00 |
Автор: ТарасАтавин 15.9.2013, 20:04 | ||||
Ни какой ошибки, просто использована смешанная система с основаниями 256, 16 и нижний регистра для цифр a-f. Я бу с удовольствием поменял регистр на верхний, но не знаю, каким потоковым манипулятором это можно сделать, а пробелы расставлены специально для удобства. Добавлено через 3 минуты и 10 секунд
|
Автор: bems 15.9.2013, 20:08 |
не в пробелах и регистре дело у тебя двойка, а по факту там 0 ну по крайней мере в хексе, не знаю как это в "смешанной системе" |
Автор: ТарасАтавин 15.9.2013, 20:12 |
Где ноль? Там 00 00 0c 28h по смещению 00 00 01 80h. Hex-редактор подтверждает. |
Автор: bems 15.9.2013, 20:13 | ||||
Что там еще где-то сказано это проблемы тех кто говорит Добавлено @ 20:16
|
Автор: ТарасАтавин 15.9.2013, 20:16 |
Там ещё восьмёрка. Добавлено через 2 минуты и 21 секунду Размер заголовка секции переоценен на 8 байт. |
Автор: bems 15.9.2013, 20:24 | ||
![]() |
Автор: ТарасАтавин 15.9.2013, 20:40 |
По подробней можно? |
Автор: bems 15.9.2013, 20:42 |
оу, извиняюсь virtual size действительно с28 я смотрел на raw size, там младший байт 0 Добавлено через 41 секунду не, я ж сказал что ошибся |
Автор: ТарасАтавин 15.9.2013, 20:48 |
Ваще то я про редактор, а не про ноль. |
Автор: bems 15.9.2013, 21:45 |
редактор https://dl.dropboxusercontent.com/u/16681494/PEtools.zip |
Автор: ТарасАтавин 16.9.2013, 07:02 |
А официальная страница у него есть? И статья о классе на вике? |
Автор: bems 16.9.2013, 15:56 |
там есть папка URLs, в которой кучка ссылок у нас щас все кандидаты с такой блестящей способностью к добыванию информации и обучению, или есть нормальные? |
Автор: ТарасАтавин 16.9.2013, 16:30 |
У меня антивирус даже на сам архив ругается. |
Автор: bems 16.9.2013, 16:33 |
окей, не распаковывай |
Автор: ТарасАтавин 16.9.2013, 17:48 |
Вот я потому и прошу официальный сайт. Чтоб прочитать о проге, не распаковывая данный архив. |
Автор: bems 16.9.2013, 19:30 |
http://sourceforge.net/projects/pe-tools/ |