отладка в IDA

Тема в разделе "WASM.RESEARCH", создана пользователем ManWithNoName, 2 окт 2005.

  1. ManWithNoName

    ManWithNoName New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2005
    Сообщения:
    31
    Адрес:
    Москва
    Есть программа, нужно изучить, что она делает в одном своём месте. Запустил программу, приаттачился к ней из IDA, поставил там брэкпоинт, в определённый момент вылетает окошко, что произошла хардверная остановка по адресу xxxxx - и указывает адрес моей точки останова. Но потом меня выбрасывает совсем в другое место, почти в конец моего адресного пространства, так, как я понял, как раз что то связанное с отладкой. Но мне то надо посмотреть, куда я иду в своём коде, а не тут. Объясните мне, как мне добиться этого. Спасибо.



    P.S. Хотел ставить софт-айс, но с виндой какие то проблемы возникли. Да и им, честно говоря, ни разу не пользовался. Поэтому ,хотелось бы просто разобраться с IDA.
     
  2. Dr.Golova

    Dr.Golova New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2002
    Сообщения:
    348
    Иногда ИДА сглючивает и показывает адрес 0xffffffff вместо текущего. Если это именно так, то набери "g eip"
     
  3. ManWithNoName

    ManWithNoName New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2005
    Сообщения:
    31
    Адрес:
    Москва
    не, вот должен например быть адрес 0x123456 а показывается что то типа 0x75676543 - именно там устанавливается eip. И выполняется код именно там, а не там где точка останова. А ведь показывается, что именно на ней остановились. Выполняется какой то код, связанный с отладкой. Но что это за код, и как мне перейти имено к отлаживаемому коду.

    Вообще, Dr.Golova, ты когда отлаживаешь прогу таким способом (приаттачиваешься к исполняющемуся процессу) и ставишь точку останова - то где у тебя останавливается. Если именно на ней, то тогда я ничего не пойму? А если нет, то тогда прошу мне объяснить. Меня это очень мучает :)
     
  4. ManWithNoName

    ManWithNoName New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2005
    Сообщения:
    31
    Адрес:
    Москва
    Вот взял OllyDbg - тоже самое. Поставил по адресу 0x1B52346 точку останова, а меня выбросило, но немного не туда - по адресу 0x71B52386. Объясните мне, что это за код? (Это какие то служебные процедуры для отладки?) И где мой код?
     
  5. Dr.Golova

    Dr.Golova New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2002
    Сообщения:
    348
    Вероятно ты ставишь hardware бряк, притом не на исполнение, а на чтение :)
     
  6. ManWithNoName

    ManWithNoName New Member

    Публикаций:
    0
    Регистрация:
    4 сен 2005
    Сообщения:
    31
    Адрес:
    Москва
    А ты можешь посоветовать, как сделать по другому? Если не ставить галку в Hardware breakpoint, то ничего не получится. Он просто не остановится. Хотя стоит галка в Actions/Break.

    А в случае хардверной остановки, что это за код, и можно ли вернуться как то к моему коду? Помоему нет...