Возникла проблема следующего плана. Распаковал файл. Перестроил в нем ресурсы.Восстановил импорт. Запускаю.Все работает. Никаких глюков не наблюдаю. Но! Когда загружаю его в Olly, то olly выдает следующее: Bad or unknown format of 32-bit exutable file. Говорю Ок. Файл дальше нормально загружается, но сохранить какие-либо изменения в нем нельзя. Если выставляю небольшое значение Raw Size - в олю грузится нормально, но уже не работает. Т.е. после запуска виснет и капитально грузит процессор. Может кто-нибудь посказать, где я накосячил? P.S. Sections: VSize VOffset RSize ROffset Characteristics UPX0 0x4D000 0x1000 0x4D000 0x1000 E0000080 UPX1 0xF000 0x4E000 0xF000 0x4E000 E0000040 .rsrc 0x4E000 0x5D000 0x4E000 0x5D000 40000040 .mackt 0x1000 0xAB000 0x1000 0xAA000 E00000E0
Т.е. последней? Секцию .mackt дабавляет ImpRec. upx не берет.Файл был запакован каким-то древним и непонятным upx'ом.
Можно попробовать увеличить SizeOfCode в опциональном заголовке. BaseOfCode тоже, соответственно, нужно проверить на валидность. Olly, в отличие от лоадера, значения этих полей забирает внутрь счёта.
Sol_Ksacap Попробовал увеличить SizeOfCode - не помогло.BaseOfCode - валидный. MSoft Перестроил с LordPE - та же ситуация. Т.е. перестроил, восстановил импорт - работает. Загружаю в олю - вылетает ошибка. Но.Размер директории ресурсов равен 0x72C. Если выставляю Raw Size секции ресурсов равным 0x72C файл перестает работать(виснет и грузит процессор). А вот в олли грузится без проблем.
KeSqueer Конечная цель - добавить свою секцию в файл да и пропатчить надо бы ))) Все. Нашел. После восстановления импорта в BaseRelocationTable 0x5D848 почемуто затисалась с размером в 20 байт... Сбросил в нуль - все заработало. Запускается нормально и Olly не ругается. Спасибо за советы )