В файле Windows pe (exe, sys, dll и т. д.) как рассчитывается размер инициализированных данных

Я бы подумал, что размер поля инициализированных данных, расположенного в необязательном заголовке файла pe, будет размером всех разделов инициализированных данных, округленных до ближайшего выравнивания файла, точно так же, как рассчитывается размер поля кода. При попытке вычислить размер инициализированных данных путем добавления разделов, помеченных как содержащие инициализированные данные, он никогда не складывается правильно. Как именно рассчитывается размер?


person user3141117    schedule 17.10.2015    source источник


Ответы (1)


После тестирования пары вещей до сих пор я видел, что это верно. Если раздел помечен как содержащий инициализированные данные, добавьте либо виртуальный размер, округленный до ближайшего кратного выравнивания файла, либо размер необработанных данных, который когда-либо будет больше, и общая сумма должна равняться сумме в разделе инициализированных данных. Подтверждено для 4 dll-файлов на данный момент

person user3141117    schedule 17.10.2015