I am learning the basics of shell coding so that I can learn to exploit buffer overflows. The problem is, the example byte code that I wrote contains null bytes. Here is the example:
xor %edi,%edi > 31 ff
mov $0x3c,%eax > b8 3c 00 00 00
syscall > 0f 05
Bytecode : "\x31\xff\xb8\x3c\x00\x00\x00\x0f\x05"
What are some common techniques used to eliminate null bytes? I heard that people use encoders for this sort of thing but I cannot find any great resources on this.