Сейчас на форуме: vsv1 (+5 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› OllyDBG, как трассировать прерывание? |
Посл.ответ | Сообщение |
|
Создано: 11 марта 2016 21:47 · Поправил: Kuzya69 · Личное сообщение · #1 Подскажите пожалуйста, как это делать правильно. В коде дохожу до команды "STI". Понятно, прерывание. Но куда дальше уйдет прога после него? По стеку выше ищем его обработчик. Ставлю на него железный бряк. Жму кнопку "Play". Я в обработчике, дохожу до его "RETN", по F7 выхожу в код длл... В принципе дохожу до ZwContinue, ну а отсюда как опять попасть в код программы. Трассировка виснет. Если во время зависа нажать паузу, то получается, что мы уже в коде программы. Как стоя на "call ZwContinue", определить в какое место программы попадет эта недокументированная фукция ? ![]() |
|
Создано: 11 марта 2016 22:09 · Личное сообщение · #2 |
|
Создано: 11 марта 2016 22:40 · Поправил: Kuzya69 · Личное сообщение · #3 И вот стою я на краю.... Code:
В стеке Code:
На какой адрес вернется ? Мне так понятней будет. ![]() |
|
Создано: 11 марта 2016 23:00 · Личное сообщение · #4 |
|
Создано: 11 марта 2016 23:07 · Личное сообщение · #5 |
|
Создано: 11 марта 2016 23:19 · Личное сообщение · #6 |
|
Создано: 11 марта 2016 23:28 · Личное сообщение · #7 |
|
Создано: 12 марта 2016 00:14 · Личное сообщение · #8 Без отправки в библиотеку отвечаю: по адресу 12FC64 лежит EIP. А откуда адрес взялся-в библиотеку. ![]() |
|
Создано: 12 марта 2016 00:36 · Личное сообщение · #9 |
|
Создано: 13 марта 2016 02:38 · Личное сообщение · #10 Kuzya69 пишет: В коде дохожу до команды "STI". Понятно, прерывание. Но куда дальше уйдет прога после него? Скорректирую только пару моментов: 1. STI - не прерывание, а привилегированная инструкция, запрещённая в юзермоде. 2. Hellspawn, с Вашего позволения, Вы не ясновидящий, хоть и оказались тогда правы. По выходу можно поймать контекст ZwContinue, но Kuzya69 не рассказал, как было обработано исключение! Русское "Авось" ![]() 3. STI Разрешает все прерывания, но для кода на не пользовательском уровня, если всё же встретилась, то либо 1) нарушены условия логики программы; 2) некоторая суть в обработчике ситуации STATUS_PRIVILEGED_INSTRUCTION Kuzya69 пишет: Разве трудно без отправки в библиотеку ответить. А что вообще за трабла с библиотеками - с кладезью знаний? Я, например, никогда не держу все знания у себя в голове, но знаю, в какой из них и на какой полке найти ответ на нужный вопрос! И почти везде и почти все библиотеки обходил... Добавлено спустя 3 минуты Kuzya69 пишет: (+0xB8). CONTEXT.Eip, а не +0xB8! ----- IZ.RU ![]() |
![]() |
eXeL@B —› Вопросы новичков —› OllyDBG, как трассировать прерывание? |