Сейчас на форуме: zds (+6 невидимых)

 eXeL@B —› Программирование —› OllyDBG plugin
Посл.ответ Сообщение


Ранг: 192.7 (ветеран), 154thx
Активность: 0.070
Статус: Участник
The ONE

Создано: 24 сентября 2012 12:06
· Личное сообщение · #1

Пытаюсь написать свой первый plugin для OllyDBG на masm-е и застопорился на одном моменте ....
Как отследить момент остановки на мною установленном breakpoint-е? Вроде должно быть через это ...

Code:
  1. ODBG_Pluginmainloop proc C debugevent:ptr DEBUG_EVENT
  2.         ...
  3.         ...
  4.          ret
  5. ODBG_Pluginmainloop endp


а уже в нем, обрабатывать debugevent, но как это будет на masm-e ума не приложу.

-----
Сотрудник DHARMA




Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 24 сентября 2012 12:36
· Личное сообщение · #2

TrueLies пишет:
Как отследить момент остановки на мною установленном breakpoint-е?

ODBG_Pausedex

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

Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 24 сентября 2012 13:35 · Поправил: Veliant
· Личное сообщение · #3

что-то вроде
Code:
  1. cmp [debugevent.dwDebugEventCode], EXCEPTION_DEBUG_EVENT
  2. jnz .notException
  3.   mov esi, [debugevent.u]
  4.   assume esi:ptr EXCEPTION_RECORD
  5.   cmp [esi].ExceptionCode, EXCEPTION_BREAKPOINT
  6.   jnz .notException
  7.     ; тут сравнение адреса и обработка бряка
  8. assume esi:nothing
  9. .notException:


p.s. на масме не кодил так что код привел чисто из головы

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


Ранг: 192.7 (ветеран), 154thx
Активность: 0.070
Статус: Участник
The ONE

Создано: 24 сентября 2012 15:23 · Поправил: TrueLies
· Личное сообщение · #4

SReg, Veliant
Спасибо, картина прояснилась. Для моего случая прекрасно подходит ODBG_Pausedex или даже ODBG_Paused при этом ODBG_Pluginmainloop можно вообще не использовать (как и рекомендуют). Всем спасибо, закрываю.

-----
Сотрудник DHARMA



 eXeL@B —› Программирование —› OllyDBG plugin
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати