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

 eXeL@B —› Вопросы новичков —› Подскажите как правильно пройти антиотладку
Посл.ответ Сообщение

Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 31 июля 2007 19:44
· Личное сообщение · #1

Есть программа,ничем не пакована, но автор применяет антиотладочные приемы.
У меня стоит оля, и один защитный плагин - фантом.
Нашел самую интересную функцию,в ней нужно разобраться.
Итак, я останавливаюсь на функции,снимаю все брекпоинты(!) и начинаю трасировать. И вот, при пошаговой трасировке(f8 в Оле),неожиданно появляется сообщение от Оли "It looks like you trying to set breakpoint on the data.If this is really the case, such breakpoint will not execute and may have disastrous influence on the debugged program.Do you really want to set breakpoint here?" При этом курсор,показывающий текущую выполняемую команду находится на описании данных(несколько db), которые Оля не может дизасемблировать. Если отвечаю "нет", програма перестает трасироваться и запускается...Если отвечаю "да" - вроде как продолжает трасироваться... Но я не знаю,меня попалила программа или нет...
Совсем недавно про такую или очень похожую ситуацию где-то на этом сайте читал,то ли в статьях,то ли на форуме, но не могу найти теперь, где именно
Если кто знает, как получается такая ситуация, и что нужно делать, или же хотя бы знает, где можно поискать информацию по поводу такой антиотладки,просьба помочь.




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 31 июля 2007 20:00
· Личное сообщение · #2

А ты знаешь о такой вещи, как подсказка анализатору? Выделяешь то, что оля не смогла дизасмить, жмешь в попап меню Analyzis -> During next analysis, treat section as -> Commands, потом жмешь Ctrl+A и радуешься. Кстати, вполне вероятно, что это даже не антиотладка
И потом, бряки всегда можно снять и если там не был какой-то CALL, то тебя не могли попалить за время выполнения одной команды

-----
Уважайте других и пишите грамотно.





Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 31 июля 2007 20:14
· Личное сообщение · #3

Executioner пишет:
то тебя не могли попалить за время выполнения одной команды

1)pushfd - палится флаг трассировки
2)Любое исключение - в параметре функции обработчика исключения будет содержаться контекст потока с тем же флагом.
3)mov eax, [a]
a:...


Executioner пишет:
жмешь в попап меню...

Даже можно проще - ctrl+a и до окончания анализа - space. Вся память станет кодом, правда результаты анализа - функции, циклы и т.д. - пропадут.



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 31 июля 2007 20:21
· Личное сообщение · #4

Сделал как Вы сказали,насчет анализа, команды теперь вижу. И вроде как Оля тоже перестала ругаться. Спасибо! Буду дальше разбираться...




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 31 июля 2007 20:22
· Личное сообщение · #5

HoBleen
Хм... Ну.... был неправ)))

-----
Уважайте других и пишите грамотно.



 eXeL@B —› Вопросы новичков —› Подскажите как правильно пройти антиотладку
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати