Погружение в технику и философию gdb

       

объявление пользовательской переменной dd, записывающей байт по указанному адресу


Обратите внимание, как gdb изменил тип приглашения (">
"), когда началось определение команды! Закончив писать, мы говорим "end" и новая команда добавляется в память gdb наряду со всеми остальными. Она принимает два аргумента $arg0 – адрес по которому писать и $arg1 – записываемый байт.

Теперь для восстановления байт в точке входа, достаточно дать следующую последовательность команд (внимание! если написать "dd $pc++ 0xB3", то после выполнения команды регистр $pc увеличится на единицу, что никак не входит в наши планы!):

(gdb)set $i = $pc

(gdb)dd $i++ 0xB3

(gdb)dd $i++ 0x2A



Содержание раздела