Advertisement
Guest User

EPL Extractor 3.8 python build

a guest
May 23rd, 2020
459
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.55 KB | None | 0 0
  1. import struct, binascii , codecs
  2. findRMD = codecs.decode("F000F0F002".encode(), "hex_codec")
  3. tmx_number = 0
  4. rmdStart = 0
  5. rmd_number = 0
  6. firstLocation = 0
  7. epl_data = open(input("What EPL do you want to extract from? "), "rb").read()
  8. epl_entries = int(codecs.encode(epl_data[128:129], "hex_codec"))
  9. tmx_count = epl_data.count(b"TMX0")
  10. rmd_count = epl_data.count(findRMD)
  11.  
  12. if tmx_count > 0:
  13.     while tmx_count > tmx_number:
  14.         tmx_number = tmx_number + 1
  15.         firstLocation = epl_data.find("TMX0", firstLocation + 1)
  16.         read_size = firstLocation - 4
  17.         read_size = epl_data[read_size : read_size + 4].encode("hex")
  18.         read_size = int(read_size, 16)
  19.         read_size = int(struct.pack('<I', read_size).encode("hex"), 16)
  20.         tmx_data = firstLocation - 8
  21.         tmx_data = epl_data[tmx_data:tmx_data + read_size]
  22.         tmxWriter = open(str(tmx_number) + ".tmx", "wb")
  23.         tmxWriter.write(tmx_data)
  24.         tmxWriter.close()
  25.  
  26. if rmd_count > 0:
  27.     while rmd_count > rmd_number:
  28.         rmd_number = rmd_number + 1
  29.         rmdStart = epl_data.find(findRMD, rmdStart + 1)
  30.         rmdSize = rmdStart - 172
  31.         rmdSize = codecs.encode(epl_data[rmdSize : rmdSize + 4], "hex_codec")
  32.         rmdSize = int(rmdSize, 16)
  33.         rmdSize = int(codecs.encode(struct.pack('<I', rmdSize), "hex_codec"), 16)
  34.         rmdWriter = open(str(rmd_number) + ".RMD", "wb")
  35.         rmdWriter.write(epl_data[rmdStart:rmdStart+rmdSize])
  36.         rmdWriter.close()
  37.        
  38. input("Done extracting, press enter to close. ")
  39. exit(0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement