Друзья! Некотрое время назад написал программу, добавляющую секцию к PE-файлу, но видать тестировал не особенно тщательно, щас спохватился, а она секции размером больше 0X2000 байт не добавляет Ну то есть интерфес такой: есть бинаный файл, который суть секция и он просто добавляется последней секцией в PE-файл. В программе всё переписывается чё надо, добавляется элемент к таблице секций и прочая. Но чё-то неправильно добавляется. Если файл-секция больше 2000, то при тыкании на результирующий файл rez.exe пишется, что он не является приложением win32 (А если меньше либо равно 2000, то всё работает нормально). Писал давно, щас проверять программу (которая добавляет секцию) на правильность будет сложно. Вот хотелось бы знать, что конкретно не нравится загрузчику? Может какие-нибдь специальные проги есть, эмулирущие работу загрузчика и выводящие ошибки? Спасибо, кто откликнется.
Дай два ехе, чтоб сравнить оригинал и твой вариант. Вообще пересмотри поля SectionAligment,SizeOfImage,VirtualSize,SizeOfRawData,PointerRawData,VirtualAddress... ?
Ага, пересмотрел. Оказывается, не так страшен чёрт, как его малюют. Чё-то где-то наисправлял и всё заработало. Узнал для себя что, оказывается, образ SizeOfImage не обазятельно кратен секционному выравниванию!