/YASE-Encoder

Yet Another Sub Encoder (YASE)

Primary LanguagePython

YASE Encoder

This is a tiny python script I created during my OSCE preparation to master sub encoding technique.

The cool thing with Brutforcing possible combination is that output encoded shellcode will always look different.

Optimization N°1

EAX register will be set to zero only at the beginning (using the two and operations)

and operation to initialize a register is very costy (10 bytes)

After the first initializaion, EAX value is saved to EBX. During next sub decoding operations EAX is restored from EBX thus saving a huge amount of space (2 bytes instead of 10).

Optimization N°2 - TODO

  • Optimize sub encoding. (Minimize sub operations when possible)

Support Multiple Output Formats

  • Commented Python Variable
  • Python Variable
  • C Variable
  • Hex Formated String
  • Hex String
  • Raw