Может ли GDB изменить ассемблерный код работающей программы?

Я хочу добавить дополнительную функциональность к /bin/ls.
Поэтому я запустил его на gdb и вначале добавил точку останова.

Теперь вопрос: как я могу изменить код работающей программы в памяти? Я вижу код сборки, но не могу его изменить. Как я могу это сделать?

В Windows я могу легко сделать это, например, с помощью olldbg. Как насчет Linux?

(Я знаю, что, сделав это, я изменю только код процесса в памяти. Тогда я могу выгрузить память в файл, а затем я сохраню свои изменения в двоичном файле) .

Спасибо.

9
задан jyz 24 June 2011 в 21:23
поделиться