バイナリをメモリに直接書き込むことができますが、GDB にはデフォルトでアセンブラーが組み込まれていませんが、 set *(unsigned char*)0x80FFDDEE = 0x90
のようなことはできます たとえば、そのアドレスのニーモニックを NOP に変更します。ただし、NASM を使用してシェルコードを記述し、perl または python を使用してそれをプログラムに挿入することもできます:)
この小さな .gdbinit ファイルを使用して、割り当てを簡単にデバッグすることもできます:https://gist.github.com/985474
別のアプローチをお勧めします:coreutils パッケージをダウンロードし、ls
のソース コードを変更します。 .可能であれば、ディストリビューションのソース リポジトリからパッケージを取得し、パッチを適用する必要があります。