blob: d5773e3ac36019419963cb2481931aa214ae4294 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import struct
up = struct.Struct('>II').unpack
u32 = struct.Struct('>I').unpack
data = open('NewerASM/pal_dlrelocs.bin', 'rb').read()
addr_offset = struct.unpack('>xxxxxxxxI', data[0:0xC])[0] - 0xC
data = data[0xC:]
reloc_count = addr_offset / 8
for i in xrange(reloc_count):
entry = up(data[i*8:i*8+8])
reltype = entry[0] >> 24
addr_id = entry[0] & 0xFFFFFF
offset = entry[1]
offs = addr_offset+(addr_id*4)
print "%2d: %08x => %08x" % (reltype, offset, u32(data[offs:offs+4])[0])
|