Genelde bellek taşması problemlerinde bazen karakter sınırlaması bazen de IDS/IPS/AV'lerin kodunuzu bloklama derdiyle uğraşmanız gerekir. Bu tür durumlar için 32-bit shellcode'larda kullanabileceğiniz aşağıdaki aracı geliştirdim. Biraz uğraşarak bunu 64-bit'e çevirmeniz veya başka asm betiklerini eklemeniz mümkün.

Required arguments:
    -a <file>            : Available chars file.
    -s <file>            : Shellcode file.
    -o <file>            : Output file for new shellcode.
Optional arguments:
    -i <instruction set> : Instruction set to use. (0=auto (default), 1=first, 2=second, etc.) (2 instruction sets available.)
    -t <offset>          : Offset from ESP.
    -v                   : Verbose/debug mode.
    -h                   : This help.

Download: encodeshellcode-0.1b.tar.gz

Eğer isterseniz bunun bir de metasploit versiyonunu yazdım ve metasploit ile birlikte gelmekte. Add/Sub encoder olarak msfencode / msfvenom paketleri içinde gözükmektedir.

Link: Metasploit Add_Sub Encoder