Advertisement
Guest User

extract.py

a guest
Jul 10th, 2013
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.61 KB | None | 0 0
  1. f = open('feria.lsr', 'rb')
  2. x = f.read()
  3. f.close()
  4.  
  5. # Position of the strings data segment
  6. pos = x[0x2c] | x[0x2d]<<8 | x[0x2e]<<16 | x[0x2f]<<24
  7. # Length of this segment (excluding next 32 bits)
  8. l = x[pos] | x[pos+1]<<8 | x[pos+2]<<16 | x[pos+3]<<24
  9. # Number of 0-separated strings that follow this number
  10. num = x[pos+4] | x[pos+5]<<8 | x[pos+6]<<16 | x[pos+7]<<24
  11.  
  12. s = x[pos+8:pos+8+l].split(b'\0')[:-1]
  13. if len(s) != num:
  14.   print("Warning: expected %d strings, got %d!" % (num, len(s)))
  15.  
  16. f = open('feria.txt', 'wb')
  17. f.write('\r\n|\r\n'.join([i.decode('shift-jis') for i in s]).encode('utf-8'))
  18. f.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement