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

 eXeL@B —› Вопросы новичков —› Где взять справку по Conditional breakpoint'am OllyDebugger'a?
Посл.ответ Сообщение

Ранг: 33.6 (посетитель)
Активность: 0.040
Статус: Участник

Создано: 19 августа 2006 18:18
· Личное сообщение · #1

Как ставить простой condition типа eax==xx разобрался. Интересует как ставить более сложные, в зависимости от содержания дампа памяти по такому-то адресу, в зависимости от содержания стека, FPU регистров, и в зависимоcти от нескольких параметров одновременно.
Где бы про это почитать?



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

Создано: 20 августа 2006 09:03
· Личное сообщение · #2

sliderZ пишет:
Где бы про это почитать?

На английском - в хелпе по breakpoint синеньким выделено слово expression
Если вкратце, то обычные логические связки && - И || - ИЛИ и куча возможностей.
Был вроде и русский перевод. Недавно спрашивали.



Ранг: 33.6 (посетитель)
Активность: 0.040
Статус: Участник

Создано: 20 августа 2006 10:35
· Личное сообщение · #3

Я этот help читал, там много но примеров конкретных нет. К примеру
byte [013c8ac8]==12 у меня работает а word [013c8ac8]==1234 не работает,
byte [013c8ac8]==12 && al==01 тоже не работает.
С FPU регистрами тоже не поймешь, там числа такие интересные типа 1.0000000000000000000 как их в условие записывать не знаю.

Еще интересует вопрос можно ли поставить общий conditional bp (не на конкретное место а вобще), чтобы прога остановилась как только это условие сработает где угодно.



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

Создано: 21 августа 2006 10:20 · Поправил: tundra37
· Личное сообщение · #4

sliderZ
По поводу word - в памяти порядок байт обратный. По поводу второго - должно работать.
Целые десятичные задаются с точкой в конце. Т.е. 10. - целое десять, а 10.0 - плавающее.
Т.к. плавающие имеют целых три точности, то лучше сравнивать с точностью до эпсилон.
abs( ST(0) - 10.0) < 0.0001
========================
Общий condition можно ставить в режиме трассировки Ctrl+T. Там же можно урезать диапазон адресов для которых трассировка делается и многое другое задать.


 eXeL@B —› Вопросы новичков —› Где взять справку по Conditional breakpoint'am OllyDebugger'a?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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