Size: a a a

2019 December 03

IM

Ilia Mishelle in r0 Crew (KZ)
?
источник

T

Thatskriptkid in r0 Crew (KZ)
Если бы ты написал
b *0x0000000000401135 if $eax=0


То у тебя бы отработал брейкпоинт на инструкции
*0x0000000000401135
источник

T

Thatskriptkid in r0 Crew (KZ)
Ilia Mishelle
А можно сделать так, что когда в eax будет 0, остановись
Где остановись?
источник

IM

Ilia Mishelle in r0 Crew (KZ)
На той инструкции где в eax положили 0
источник

T

Thatskriptkid in r0 Crew (KZ)
Насколько я знаю, так сделать нельзя
источник

T

Thatskriptkid in r0 Crew (KZ)
Можно устанавливать условия только существующим брейпоинтам
источник

T

Thatskriptkid in r0 Crew (KZ)
Можно еще устанавливать hardware брейкпоинты на чтение или запись в память
источник

T

Thatskriptkid in r0 Crew (KZ)
Но устанавливать брейкпоинт, по условию нельзя
источник

n

novitoll in r0 Crew (KZ)
Ilia Mishelle
А можно сделать так, что когда в eax будет 0, остановись
а если написать функцию?

define fn
> set $foo = $eax
> watch *(unsigned int *) $foo
> end

и поставить брэйкпоинт где-то в конце программы типа pop rbp
источник

T

Thatskriptkid in r0 Crew (KZ)
@simba_9
как вариант, ты можешь записать трейс програмы, с сохранением значения регистра eax, и после посмотреть на каких инструкциях он был равен 0, потом запустить заново и поставить туда брейки
источник

OY

Oleg Yu in r0 Crew (KZ)
@simba_9 возможно, watch $eax == 0 тебе поможет
источник

IM

Ilia Mishelle in r0 Crew (KZ)
Работает
источник

IM

Ilia Mishelle in r0 Crew (KZ)
Спасибо
источник

OY

Oleg Yu in r0 Crew (KZ)
👍
источник

IM

Ilia Mishelle in r0 Crew (KZ)
А не подскажешь, а если я хочу чтобы брякнул когда eax и ebx равны 0, как это реализовать
источник

IM

Ilia Mishelle in r0 Crew (KZ)
??
источник

n

novitoll in r0 Crew (KZ)
multiconditional breakpoint?
watch (($eax == 0) && ($ebx == 0))
источник

5

5∆17Ø in r0 Crew (KZ)
дратути
источник

T

Thatskriptkid in r0 Crew (KZ)
5∆17Ø
дратути
Привет!)
источник

T

Thatskriptkid in r0 Crew (KZ)
welcome)
источник