IDA Pro неправильно распознает метки (sp-analysis failed)

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

  1. deadly83

    deadly83 New Member

    Публикаций:
    0
    Регистрация:
    25 янв 2007
    Сообщения:
    71
    Доброго времени суток!
    Внутри процедур IDA распознает метки как начало и конец другой процедуры и получается что не может проконтролировать esp ввиду чего ставит везде сообщение sp-analysis failed
    Пример:
    .text:004012A2 ; =============== S U B R O U T I N E =======================================
    .text:004012A2
    .text:004012A2
    .text:004012A2 fz0 proc near ; CODE XREF: seek2z2+45j
    .text:004012A2 ; fz01+Ej ...
    .text:004012A2 mov al, [ebx]
    .text:004012A4 test al, al
    .text:004012A6 jz short fz1
    .text:004012A6 fz0 endp ; sp-analysis failed

    На самом деле fz0 это обычная метка внутри процедуры но никак не отдельная подпрограмма. Можно отказаться от трактовки меток нормальными именами (не включать опцию linka /debugtype:coff) но все таки хочется человеческого вида программы.
    Есть идеи как с этим бороться?
     
  2. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    deadly83
    Вручную устанавливать границы процедуры
    Edit->Functions->DeleteFunction|RemoveFunctionTale сначала
    Клавиши P - начало процедуры, E - конец - потом
     
  3. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    deadly83 В данном случае просто удалить процедуру - KeSqueer
    как раз пункт меню показал. А написал про установку - это понадобится, если IDA ошибается в обратную сторону :)