Сейчас на форуме: ==DJ==[ZLO], Magister Yoda, Rio, Dart Raiden, Alf (+5 невидимых)

 eXeL@B —› Основной форум —› Debug API
Посл.ответ Сообщение

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

Создано: 01 ноября 2004 08:34 · Поправил: Kot
· Личное сообщение · #1

Кто нибудь работал вот с этой прогрммой _http://xtin.km.ru/view.shtml?id=7 Примитивный трейсер?
У меня она не находи OEP. Я смотрел cont.Eip всегда указывает на адреса выше 00700000.
Также для меня загадка _http://www.wasm.ru/article.php?article=1001030 Это 3-й урок тов. Iczelionа. Ведет подсщет инструкций в отлаживаемом процессе. У меня. Он показывает около 50000 инструкицй. А программу я отлаживал из 4 х. И посмотрел я, а там context.RegEip также указывает на адреса выше 00600000. И их там поболее будет..И ниразу не прошел адрес моей отлаживаемой проги 00401000 по 00401050. В чем может быть проблема?



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

Создано: 01 ноября 2004 09:40
· Личное сообщение · #2

Ассемблерный листинг в аттаче.

969571191__debag_kolichestvo.rar



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

Создано: 01 ноября 2004 09:43
· Личное сообщение · #3

Это Дельфийский исходник. Тестировалось в системе Win2kSp3 Delphi 7. Отлаживаемая программа запускалась, но никогда Reg.Eip неуказывал на адресное пространаство запаскаемой проги.

541952517__Unit1.rar



Ранг: 3.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 01 ноября 2004 13:02 · Поправил: Gloomy
· Личное сообщение · #4

Косяк тут:

context CONTEXT <> ; неправильно!
;==========================
align DWORD
context CONTEXT <> ; правильно!

Я на те же грабли наступил и долго не мог понять почему ничего не работает.



Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 01 ноября 2004 13:36
· Личное сообщение · #5

Нужно внимательно статьи читать, дядька Iczelion предупреждал что структура CONTEXT должна быть обязательно выровнена, как минимум на DWORD.



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

Создано: 01 ноября 2004 14:36
· Личное сообщение · #6

Точно. Ведь этоже написано даже во втором тутаре. www.wasm.ru/print.php?article=1001029.
Но меня не беспокоило, что этого нет. Условие то не выполняется
.if context.regEip<00700000h
изменяем знак .if context.regEip>00700000h
и программа начинает успешно показывать этот самый Eip с адресов 77f99216,77f99219 77f9921b...... Помоему это адреса загрузки ntdll.dll, kernel32.dll, user32.dll.
в 3-й части тутара www.wasm.ru/print.php?article=1001030 нет align DWORD. Но если посмотреть на ссылку, которая дана вначале этой статьи www.wasm.ru/pub/1/files/tut30.zip. то мы увидим там в примере что align DWORD там есть. Но опять же этот пример не дает нам четкой работы по подсчету инструкции. Он сщитает все что относится к загрузчику, всяким Dll. Как это обойтй? А то получается по 50000 инструкций.....и более



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

Создано: 01 ноября 2004 14:48
· Личное сообщение · #7

Читал я читал, встречал я эту строку. Учитывал. Даже компилировал я её в другом примере, и вот сейчас опять сделал тоже самое. 75535 инструкций в примере, там где реально 4 инструкции...
Также меняю DBG_EXCEPTION_NOT_HANDLED на DBG_CONTINUE, результат тот же. А вообще у кого нить получился хотя-бы пример xtin.km.ru/view.shtml?id=7 Примитивный трейсер. Находка OEP ?


 eXeL@B —› Основной форум —› Debug API
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати