проблема с UEP

Тема в разделе "WASM.BEGINNERS", создана пользователем scalter, 20 фев 2008.

  1. scalter

    scalter New Member

    Публикаций:
    0
    Регистрация:
    7 июн 2007
    Сообщения:
    30
    Приветы! Делаю UEP по статье Sl0n-а. Возникла проблема: при заражении РЕ, упакованного UPX-ом, иногда вылетает ошибка, мол "произошла ошибка инициализации приложения..." Ошибка в том, что я как-то криво считаю размер кодовой секции, который можно использовать для записи "пятен". Так вот, как собсно надо его считать?
     
  2. scalter

    scalter New Member

    Публикаций:
    0
    Регистрация:
    7 июн 2007
    Сообщения:
    30
    Ребят, ну что, ни у кого нет идей по этому вопросу?
     
  3. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    scalter
    Что такое UEP не знаю, статью Slon'а не читал, и вообще я - чайник..., но по первой паре строк статьи примерно могу представить, что дело совсем не в размере кодовой секции. Вы, вероятно, перезаписываете по адресу Entry Point слишком много, а там с UPX, насколько я знаю, нужно по осторожнее: там tls буквально в считанных десятках байт от EP лежать может.
     
  4. scalter

    scalter New Member

    Публикаций:
    0
    Регистрация:
    7 июн 2007
    Сообщения:
    30
    I_inc, спасибо, а есть какой-нить способ это проверять/обойти?
     
  5. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    scalter
    В смыле "как"?
    Обойти - не писать так много по Entry Point.
    Проверить - перечислить все DataDirectory на предмет расстояния от EP до них. Лучше еще и посмотреть секцию содержащую EP, проверяя, как далеко конец секции, т.к. EP может преспокойно лежать в конце секции, а также может и не принадлежать вообще никакой секции (в заголовках находиться).