Неправильный формат PE после перестройки ресурсов

Тема в разделе "WASM.RESEARCH", создана пользователем Ray, 27 мар 2009.

  1. Ray

    Ray New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2008
    Сообщения:
    6
    Возникла проблема следующего плана.
    Распаковал файл. Перестроил в нем ресурсы.Восстановил импорт.
    Запускаю.Все работает. Никаких глюков не наблюдаю.
    Но! Когда загружаю его в 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
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    а ресурсы не должны идти последней секцией? или самим упхом не пробовал распаковывать?
     
  3. Ray

    Ray New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2008
    Сообщения:
    6
    Т.е. последней?
    Секцию .mackt дабавляет ImpRec.
    upx не берет.Файл был запакован каким-то древним и непонятным upx'ом.
     
  4. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Можно попробовать увеличить SizeOfCode в опциональном заголовке. BaseOfCode тоже, соответственно, нужно проверить на валидность. Olly, в отличие от лоадера, значения этих полей забирает внутрь счёта.
     
  5. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    кстати, попробуй перестроить файл LordPE - если после ребилда будет работать, тогда сравни отличия
     
  6. Ray

    Ray New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2008
    Сообщения:
    6
    Sol_Ksacap
    Попробовал увеличить SizeOfCode - не помогло.BaseOfCode - валидный.
    MSoft
    Перестроил с LordPE - та же ситуация.
    Т.е. перестроил, восстановил импорт - работает.
    Загружаю в олю - вылетает ошибка.
    Но.Размер директории ресурсов равен 0x72C.
    Если выставляю Raw Size секции ресурсов равным 0x72C файл перестает работать(виснет и грузит процессор).
    А вот в олли грузится без проблем.
     
  7. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Ray
    А какова конечная цель распаковки?
     
  8. Ray

    Ray New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2008
    Сообщения:
    6
    KeSqueer
    Конечная цель - добавить свою секцию в файл да и пропатчить надо бы )))
    Все. Нашел.
    После восстановления импорта в BaseRelocationTable 0x5D848 почемуто затисалась с размером в 20 байт...
    Сбросил в нуль - все заработало. Запускается нормально и Olly не ругается.
    Спасибо за советы )