Hi, I see a small bug inside the SpiderPIC shellcode permutation program.
Many shellcodes rely on a trick to get a pointer to a string by using a call instruction followed by the string.
For example a shellcode that spawns a calc.exe will contain sush instructions:
call rbp
db 0x63
db 0x61
db 0x6c
db 0x63
db 0x00
and injecting trash instructions between them, or trying to substitude them will completely break the shellcode.