Сейчас на форуме: cppasm, asfa, vsv1 (+5 невидимых)

 eXeL@B —› Вопросы новичков —› olly dbg 1.0. Предыдущая инструкция
Посл.ответ Сообщение

Ранг: 2.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 декабря 2015 13:13
· Личное сообщение · #1

Всем привет! Подскажите пожалуйста, каким образом можно найти, какая инструкция была выполнена на предыдущем шаге отладчика.



Ранг: 12.2 (новичок), 11thx
Активность: 0.020
Статус: Участник

Создано: 04 декабря 2015 13:34
· Личное сообщение · #2

В общем случае это сделать нельзя.
Но:
1. если программа выполнялась пошагово (F7/F8) или писалась трасса - есть возможность перейти на предыдущую инструкцию, у меня это кнопка "минус" (но не уверен, что это стандартный бинд)
2. если программа просто прервана в некоторый момент времени, то подойдут эвристические методы (либо мы пришли от инструкции прямо за нами, либо переместились откуда-то, если наше появление в данном месте не связано с работой системы вроде прерываний или внешнего вмешательства в контекст, то можно проанализировав стек и регистры сделать предположение какая инструкция могла нас сюда переместить - JMP CONST / CALL CONST / JMP REG и тд и в следующий раз пытаться прерываться на ней)

| Сообщение посчитали полезным: erchess

Ранг: 2.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 04 декабря 2015 14:05
· Личное сообщение · #3

srm60171 пишет:
если программа просто прервана в некоторый момент времени, то подойдут эвристические методы (либо мы пришли от инструкции прямо за нами, либо переместились откуда-то, если наше появление в данном месте не связано с работой системы вроде прерываний или внешнего вмешательства в контекст, то можно проанализировав стек и регистры сделать предположение какая инструкция могла нас сюда переместить - JMP CONST / CALL CONST / JMP REG и тд и в следующий раз пытаться прерываться на ней)

Спасибо. Это в принципе понятно. Если в подробности вдаваться, то я пытаюсь распаковать VmProtect, использую скрипт VMProtect 1.xx - 2.xx Ultra Unpacker v1.0 by LFC-AT. Найденный с помощью скрипта OEP не соответствует действительности. На форуме (tuts4you) автор предлагает найти реальный OEP, для этого нужно найти предыдущие выполняемые инструкции используя стек. Всю голову себе сломал как это сделать



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 04 декабря 2015 14:37
· Личное сообщение · #4

erchess пишет:
для этого нужно найти предыдущие выполняемые инструкции используя стек
а это не подсказка что нужно посмотреть окно стека?



Ранг: 134.1 (ветеран), 246thx
Активность: 0.220.1
Статус: Участник
realist

Создано: 04 декабря 2015 15:17
· Личное сообщение · #5

erchess пишет:
Спасибо. Это в принципе понятно. Если в подробности вдаваться, то я пытаюсь распаковать VmProtect, использую скрипт VMProtect 1.xx - 2.xx Ultra Unpacker v1.0 by LFC-AT. Найденный с помощью скрипта OEP не соответствует действительности. На форуме (tuts4you) автор предлагает найти реальный OEP, для этого нужно найти предыдущие выполняемые инструкции используя стек. Всю голову себе сломал как это сделать

Очень рано ты занялся распаковкой вмпрота, помимо поверхностного снятия там еще есть cpuid , rdtsc, crc vm и так далее. Если нужный код не под вм то лучше инлайнить, благо тутор есть расжованный.

| Сообщение посчитали полезным: erchess

Ранг: 15.7 (новичок), 12thx
Активность: 0.050.07
Статус: Участник

Создано: 04 декабря 2015 16:34
· Личное сообщение · #6

erchess пишет:
Всю голову себе сломал как это сделать

Глазками.

d508_04.12.2015_EXELAB.rU.tgz - Olly.JPG

| Сообщение посчитали полезным: erchess
 eXeL@B —› Вопросы новичков —› olly dbg 1.0. Предыдущая инструкция
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати