Sie können Binärdateien direkt in den Speicher schreiben, aber GDB hat standardmäßig keinen eingebauten Assembler, Sie können jedoch etwas wie set *(unsigned char*)0x80FFDDEE = 0x90
tun B. um die Mnemonik an dieser Adresse in ein NOP zu ändern. Sie könnten jedoch NASM verwenden, um einen Shellcode zu schreiben, und Perl oder Python verwenden, um ihn in das Programm einzufügen :)
Vielleicht gefällt Ihnen auch diese kleine .gdbinit-Datei, um die Fehlersuche zu vereinfachen:https://gist.github.com/985474
Ich würde einen anderen Ansatz empfehlen:Laden Sie das Coreutils-Paket herunter und ändern Sie den Quellcode für ls
. Wenn möglich, sollten Sie das Paket aus den Quellrepositorys Ihrer Distribution beziehen und alle Patches anwenden.