Сейчас на форуме: tyns777, cppasm, dutyfree (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Что делать если SizeOfRawData секции = 0?
Посл.ответ Сообщение

Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 28 июля 2017 22:17 · Поправил: zombi-vadim
· Личное сообщение · #1

Ребята всем привет! Столкнулся с такой проблемой, что некоторые секции в файле имеют SizeOfRawData ==0, почему так или зачем, или где мне взять в итоге SizeOfRawData?




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 28 июля 2017 22:21 · Поправил: plutos
· Личное сообщение · #2

According to the Microsoft PE and COFF Specification SizeOfRawData is zero when:
When a section contains only uninitialized data, this field (SizeOfRawData) should be zero.
(This is also true if the section only contains initialized data which is initialized to 0.)

If you have a section with SizeOfRawData = 0, you should:
•Take the VirtualSize field of this section
•Allocate the resulting size with VirtualAlloc()

You don't have to round up the VirtualSize because VirtualAlloc() will take care of allocating to the next multiple of the page size granularity (as given by GetSystemInfo and the SYSTEM_INFO.dwPageSize field).

-----
Give me a HANDLE and I will move the Earth.


| Сообщение посчитали полезным: Gideon Vi, mak

Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 28 июля 2017 22:54
· Личное сообщение · #3

plutosЕсли секция содержит только неинициализированные данные, то (SizeOfRawData) должна быть равна нулю. Ну а как мне получить размер этой секции??



Ранг: 58.3 (постоянный), 50thx
Активность: 0.040.08
Статус: Участник

Создано: 28 июля 2017 23:52 · Поправил: DrVB_5_6
· Личное сообщение · #4

а VirtualSize ? нет?

это длина секции после загрузки!!! подсказка для особо одарённых.

Формат PE открыт, всё уже тысячу раз расписано, ссылок на информацию даже на этом форуме тьма тьмущая!
Если уж ковыряешься в таких вещах, так хоть азы-то почитай.



Ранг: 16.3 (новичок), 2thx
Активность: 0.150.22
Статус: Участник

Создано: 29 июля 2017 21:35 · Поправил: zombi-vadim
· Личное сообщение · #5

DrVB_5_6 да я как то пропустил к сожалению данный факт, uninitialized data не имеет физического значения в файле, а используется только в памяти..


 eXeL@B —› Вопросы новичков —› Что делать если SizeOfRawData секции = 0?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати