![]() |
eXeL@B —› Вопросы новичков —› Как в IDA сделать такое? |
Посл.ответ | Сообщение |
|
Создано: 06 февраля 2011 21:18 · Личное сообщение · #1 IDA тем хороша что это интерактивный диз ассемблер и если он обнаруживает что ошибся предлагает передизассемблировать это место. Теперь задача. Надо найти все такие места... Можно держать F7 до опупения или даже вставить зубочистку в кнопку, но это ИМХО не верно. Из инструментария IDA предлагает IDC. Чего Я хочу? - Хочу что бы ида фигачила выполнения кода пока она ИЛИ не встретит брекпоинт ИЛИ не наткнётся на ситуацию когда код был дизассемблирован неверно. И вот Я пишу скрипт: auto ev; while(1) { StepInto(); ev = GetDebuggerEvent( WFNE_ANY, -1 ); if( BREAKPOINT == ev || DBG_ERROR == ev ) break; } Запускаю и всё виснет... Что Я делаю не так? ![]() |
|
Создано: 06 февраля 2011 21:46 · Личное сообщение · #2 Что Я делаю не так? Все не так. Первое есть отдельный топик для ИДЫ ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше ![]() |
|
Создано: 06 февраля 2011 21:53 · Личное сообщение · #3 |
|
Создано: 06 февраля 2011 22:09 · Личное сообщение · #4 можно ли сделать что Я хочу или нет? Нет, нельзя, Вам нужно понять принципы работы с ИДА, ее огромные возможности держатся на большом количестве ручной работы, и пока Вы не освоите все это, лучше использовать Олли, а в ИДА восстанавливать запутанные алгоритмы. А у Вас получается как у барона Мюнхаузена - ИДА сама должна найти свои ошибки и исправить. ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше ![]() |
|
Создано: 06 февраля 2011 22:14 · Личное сообщение · #5 |
|
Создано: 06 февраля 2011 22:36 · Поправил: nen777w · Личное сообщение · #6 Ладно.. может меня не правильно поняли.... Ещё раз объясню. Можно нажимать F7 до опупения, можно вставить зубочистку.... но когда то приходит момент когда ида натыкатеся на код который до этого считала данными. Это ведь событие о котором движок IDA наверняка знает?! Он ведь сообщает об этом! Можно заскриптовать нажатие F7 до того момента пока такое событие не возникнет? Или другая интерпретация: Можно ли заскриптовать нажатие F7 пока IDA не наткнется на брекпоинт? ![]() |
|
Создано: 07 февраля 2011 00:48 · Личное сообщение · #7 По Ф7, прийдется не один день ходить пока программа доберется хотя бы до вывода окна, но это не так страшно поскольку потом программа попадает в цикл обработки сообщений из которого оладчик ИДЫ уже не выйдет, поскольку его возможности крайне ограничены, и он падает от малейшего "чиха". Поэтому отладчик ИДА лучше вообще не использовать. ида натыкатеся на код который до этого считала данными Таое бывает редко, при анализе не это проблема. Отладчику без разници что в данный момент в EIP - код или данные, все будет выполнятся. Отладчик и дизассемблер ИДЫ это разные вещи и одному глубоко все равно что думает другой. Методы какието странные получаются. ----- Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Как в IDA сделать такое? |