Дописать на диск в конец файла что-нибудь по размеру равное NewSizeOfRawDat - OldSizeOfRawDat. Если при этом ещё увеличиваешь VirtualSize, то надо поправить поле SizeOfImage
..читая доки не совсем понял. было так: VirtualSize = 867d SizeOfRawData = 1024d SizeOfImage = 8192d раздвигаю на размер 1024d. VirtualSize = 2048d SizeOfRawData = 2048d SizeOfImage = какое тут надо значение?
maestro-ant Что такое SizeOfImage? Это размер заголовков плюс сумма виртуальных размеров всех секций: SizeOfImage = SizeOfHeaders + VirtualSizeOfSections; Если мы увеличиваем размер какой-либо секции (а значит и VirtualSizeOfSections), то и SizeOfImage увеличится на такую же величину.
rmn Вроде как стандартный maestro-ant Ещё надо учесть, что если VirtualSize последней секции = 0, то ImageBase=VirtualAddress+RawSize А вот на сумму VirtualSize секций полагаться совсем нельзя - они не обязанны быть выровненными, или вообще в 0 могут быть.
Почему не знаю, но вот файлик. Если считать через VA, то 12000h. Если через RawSize 12200h. В заголовке 12200 - всё работает. Ставим 12000 - не работает, ставим 12200 -работает. Есть ещё 1 такой же.