Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import struct
- def createDict(data):
- A1 = struct.unpack('<b', data[:1])[0]
- A2addr = struct.unpack('<I', data[1:5])[0] - 4
- A3 = struct.unpack('<B', data[5:6])[0]
- A4 = struct.unpack('<b', data[6:7])[0]
- A5 = struct.unpack('<q', data[7:15])[0]
- A6 = struct.unpack('<q', data[15:23])[0]
- B1 = struct.unpack('<H', data[A2addr:A2addr + 2])[0]
- B2size = struct.unpack('<I', data[A2addr + 2:A2addr + 6])[0]
- B2addr = struct.unpack('<H', data[A2addr + 6:A2addr + 8])[0] - 4
- B3 = struct.unpack('<b', data[A2addr + 8:A2addr + 9])[0]
- B4 = struct.unpack('<d', data[A2addr + 9:A2addr + 17])[0]
- B5 = [i[0] for i in struct.iter_unpack('<h', data[A2addr + 17:A2addr + 33])]
- B6 = struct.unpack('<f', data[A2addr + 33:A2addr + 37])[0]
- B7 = struct.unpack('<I', data[A2addr + 37:A2addr + 41])[0]
- B8size = struct.unpack('<I', data[A2addr + 41:A2addr + 45])[0]
- B8addr = struct.unpack('<I', data[A2addr + 45:A2addr + 49])[0] - 4
- B8 = [i[0] for i in struct.iter_unpack('<f', data[B8addr:B8addr + 4 * B8size])]
- B2 = []
- Clen = struct.calcsize('<IIHHfH')
- for i in range(B2size):
- C1size = struct.unpack('<I', data[B2addr + i * Clen:B2addr + i * Clen + 4])[0]
- C1addr = struct.unpack('<I', data[B2addr + i * Clen + 4:B2addr + i * Clen + 8])[0] - 4
- C2 = struct.unpack('<H', data[B2addr + i * Clen + 8:B2addr + i * Clen + 10])[0]
- C3addr = struct.unpack('<H', data[B2addr + i * Clen + 10:B2addr + i * Clen + 12])[0] - 4
- C4 = struct.unpack('<f', data[B2addr + i * Clen + 12:B2addr + i * Clen + 16])[0]
- C5 = struct.unpack('<H', data[B2addr + i * Clen + 16:B2addr + i * Clen + 18])[0]
- C1 = [i[0] for i in struct.iter_unpack('<H', data[C1addr:C1addr + 2 * C1size])]
- D1 = struct.unpack('<h', data[C3addr:C3addr + 2])[0]
- D2 = struct.unpack('<Q', data[C3addr + 2:C3addr + 10])[0]
- C3 = {'D1': D1, 'D2': D2}
- C = {
- 'C1': C1,
- 'C2': C2,
- 'C3': C3,
- 'C4': C4,
- 'C5': C5
- }
- B2.append(C)
- A2 = {
- 'B1': B1,
- 'B2': B2,
- 'B3': B3,
- 'B4': B4,
- 'B5': B5,
- 'B6': B6,
- 'B7': B7,
- 'B8': B8
- }
- return {
- 'A1': A1,
- 'A2': A2,
- 'A3': A3,
- 'A4': A4,
- 'A5': A5,
- 'A6': A6,
- }
- def main(data):
- data = data[4:]
- return createDict(data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement