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

 eXeL@B —› Вопросы новичков —› можно ли? (Олли)
Посл.ответ Сообщение

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

Создано: 18 февраля 2008 19:05
· Личное сообщение · #1

можно ли в Олли поставить бряки на стаК...а именно когда в верхней ячеике будет определённое значение...(мне 12С нужно...тоесть 2С010000)

если не в ОллиДэбюгере ...то в какои проге можно ето сделать?

очень нужнО...спасибо




Ранг: 155.4 (ветеран)
Активность: 0.140
Статус: Участник
Робо-Алкаш

Создано: 18 февраля 2008 19:16
· Личное сообщение · #2

Conditional Break point

-----
Researcher




Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 18 февраля 2008 19:17
· Личное сообщение · #3

заюзай олискрипт если уж так прижало
тип в общем, т.к. не помню комманды

1 )ставишь хардвар бряк на ячейку куда тебе надо
@metka1:
2) run
3) проверяешь какое в ней число если не то, тогда jmp @metka1
4) снимаешь бряк




Ранг: 88.4 (постоянный)
Активность: 0.080
Статус: Участник

Создано: 18 февраля 2008 19:31 · Поправил: VaZeR
· Личное сообщение · #4

shuher
Можно сделать как сказал overwriter, а можно и как RSI
Вот такой должен быть к примеру скрипт:

var addr
mov addr, твой адрес стека
bphws addr, "w"
@metka:
esto
cmp [addr], 12C
je END
jmp @metka

END:
bphwc addr
ret




Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 19 февраля 2008 07:03
· Личное сообщение · #5

shuher
К сожалению, в Олли непосредственно поставить бряк на ячейку в стеке нельзя...
Но можно поставить так называемый условный брекпойнт, то есть брекпойнт, выполняющийся при соблюдении определенных условий. Как с ними работать подробно рассказывается в отличных туторах от Ricardo Narvaja.
Вариант с написанием своего скрипта наверное не очень подходящий в этом случае ИМХО. Хоть скрипт и элементарный, но предполагает знание скриптового языка Олли + наличие скриптового редактора + умение работать с ним.
Можно сделать и вручную, без написания скрипта. Для этого переходим в дампе на нужную ячейку памяти, устанавливаем харадварный брекпойнт на запись (чтение) и отпускаем прогу. Если прога не очень активно работает с этой ячейкой памяти, то найти можно довольно быстро...

-----
Программист SkyNet




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

Создано: 05 марта 2008 18:01
· Личное сообщение · #6

shuher пишет:
можно ли в Олли поставить бряки на стаК...а именно когда в верхней ячеике будет определённое значение...(

Проще сформулировать свою задачу с самого начала и спросить помощи, чем
из середины начинать... Тогда глядишь и проще все будет.
Если задачка поймать, где подпрограмма пихает ответ в стек, то действительно conditinal break


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


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