Advertisement
Guest User

wows.pkg

a guest
Aug 14th, 2015
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.37 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. # © Monstrofil, 2015
  3. import os
  4. if not os.path.exists('files/'):
  5.     os.makedirs('files/')
  6.  
  7. class File():
  8.     def __init__(self, name, offset, length, pack):
  9.         self.name = name + '.xz'
  10.         self.offset = offset
  11.         self.length = length - 16
  12.         self.pack = pack
  13.  
  14.     def save(self):
  15.         f = open(self.pack, 'rb')
  16.         f.seek(self.offset)
  17.         data = f.read(self.length)
  18.         f.close()
  19.  
  20.         f = open('files/' + self.name, 'wb')
  21.         f.write(data)
  22.         f.close()
  23.  
  24.    
  25.  
  26. import struct
  27. f = open('index', 'rb')
  28. pl = 10
  29. while(True):
  30.     data = [ord(ch) for ch in f.read(pl)]
  31.     len = data[-2] + data[-1]
  32.     filename = f.read(len)
  33.  
  34.     postfix = f.read(1)
  35.     if ord(postfix) == 114:
  36.         pl = 13
  37.     else:
  38.         pl = 10
  39.     print filename, postfix
  40.  
  41.    
  42.     if postfix != 's':
  43.         data = [ord(ch) for ch in f.read(9)]
  44.         off = chr(data[0]) + chr(data[1]) + chr(data[2]) + chr(data[3])
  45.         print 'offset:', struct.unpack("<L", off)[0]
  46.  
  47.        
  48.         size = chr(data[4]) + chr(data[5]) + chr(data[6]) + chr(data[7])
  49.         print 'size:', struct.unpack("<L", size)[0]
  50.  
  51.         if 'swf' in filename: ##save only .swf files
  52.             t = File(filename, struct.unpack("<L", off)[0], struct.unpack("<L", size)[0], "../pack_000%s.pkg"%data[8])
  53.             t.save()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement