Puede escribir binario en la memoria directamente, pero GDB no tiene un ensamblador integrado de forma predeterminada; sin embargo, puede hacer algo como set *(unsigned char*)0x80FFDDEE = 0x90
para cambiar el mnemotécnico en esa dirección a NOP, por ejemplo. Sin embargo, podría usar NASM para escribir un shellcode y usar perl o python para inyectarlo en el programa :)
También te puede gustar este pequeño archivo .gdbinit para facilitar la depuración:https://gist.github.com/985474
Recomendaría un enfoque diferente:descargue el paquete coreutils y modifique el código fuente para ls
. Si es posible, debe obtener el paquete de los repositorios de origen de su distribución y aplicar los parches.