Выравнивание является округленным значением. Размер данных раздела округляется для большей эффективности, поскольку операционная система все равно перемещает данные по частям.
Выравнивание файлов обычно составляет 512 байт, что соответствует размеру блоков большинства файловых систем.
Выравнивание раздела обычно составляет 4096 байт, что соответствует размеру страницы памяти.
Таким образом, если у вас есть PE-файл с разделом (например, ".text
"), который содержит 513 байтов данных:
- Раздел
.text
будет округлен до 1024 байт в файле.
- Раздел
.text
будет округлен до 4096 байт в памяти.
Обратите внимание, сколько свободного места возможно как в файле, так и в памяти.
Я не уверен, почему вы хотите "конвертировать из одного выравнивания в другое". Рецепт, который вы получили, оставляет загадку цели упражнения. Если ваша цель - манипулировать PE-файлами, то все, что вам нужно учитывать, - это выравнивание файлов. Загрузчик Windows будет обрабатывать данные выравнивания разделов, когда выбрасывает их в память, поэтому обычно вам вообще не нужно об этом думать.
Подробнее о PE вы можете прочитать здесь .