Padding and Patching
Ragg2, a tool in the radare2 suite, offers various options for padding and patching the generated bufferoutput. These options allow users to modify or extend the generated code in specific ways.
-
Appending Data:
- Append hex bytes (-B)
- Append file contents (-C)
- Append 32-bit or 64-bit numbers (-n, -N)
- Append strings (-S)
-
Patching Existing Data:
- Patch dword or qword at a given offset (-d, -D)
- Patch hex pairs at a given offset (-w)
-
Adding Padding:
- Add padding after compilation (-p)
- Options include NOP, trap instructions, or specific byte sequences
From ragg2 -h
:
-B [hexpairs] append some hexpair bytes
-C [file] append contents of file
-d [off:dword] patch dword (4 bytes) at given offset
-D [off:qword] patch qword (8 bytes) at given offset
-n [dword] append 32bit number (4 bytes)
-N [dword] append 64bit number (8 bytes)
-p [padding] add padding after compilation (padding=n10s32)
ntas : begin nop, trap, 'a', sequence
NTAS : same as above, but at the end
-S [string] append a string
-w [off:hex] patch hexpairs at given offset