Puoi scrivere binari direttamente in memoria ma GDB non ha un assembler integrato per impostazione predefinita, puoi comunque fare qualcosa come set *(unsigned char*)0x80FFDDEE = 0x90
per cambiare il mnemonico a quell'indirizzo in un NOP per esempio. Potresti comunque usare NASM per scrivere uno shellcode e usare perl o python per inserirlo nel programma :)
Potrebbe piacerti anche questo piccolo file .gdbinit per semplificare il debug:https://gist.github.com/985474
Consiglierei un approccio diverso:scarica il pacchetto coreutils e modifica il codice sorgente per ls
. Se possibile, dovresti ottenere il pacchetto dai repository dei sorgenti della tua distribuzione e applicare eventuali patch.