BioShock Infinite

BLJS10207.savepatch

1. Decompress PAYLOAD (Required)

Target File: PAYLOAD

import uzlib
zip_offset = uzlib.offzip(savedata, 15)
unzip_data = uzlib.decompress(savedata[zip_offset[0][0]:], 15)
print("Zip offset: 0x{:08X}".format(zip_offset[0][0]))
print("Compressed size:", zip_offset[0][1])
print("Decompressed size:", zip_offset[0][2])

2. Money $9999

Target File: PAYLOAD

import apollo
sw_code = """
80010004 C12581B2
28000004 0000270F
"""
apollo.apply_savewizard(unzip_data, sw_code)

3. Lockpicks 30

Target File: PAYLOAD

import apollo
sw_code = """
80010004 C12581B2
18000022 0000001E
"""
apollo.apply_savewizard(unzip_data, sw_code)

4. CHEATS BELOW MAY STOP STORY TROPHIES

5. Money 90000

Target File: PAYLOAD

import apollo
sw_code = """
80010004 C12581B2
28000004 00015F90
"""
apollo.apply_savewizard(unzip_data, sw_code)

6. Lockpicks 900

Target File: PAYLOAD

import apollo
sw_code = """
80010004 C12581B2
18000022 00000384
"""
apollo.apply_savewizard(unzip_data, sw_code)

7. Silver Eagle 99999

Target File: PAYLOAD

import apollo
sw_code = """
80010004 C12581B2
28000004 0001869F
"""
apollo.apply_savewizard(unzip_data, sw_code)

8. Lockpick 999

Target File: PAYLOAD

import apollo
sw_code = """
80010004 C12581B2
28000034 000003E7
"""
apollo.apply_savewizard(unzip_data, sw_code)

9. Infinity Health (Normal Mode)

Target File: PAYLOAD

import apollo
sw_code = """
80010004 C12581B2
A8000097 00000008
7FFFFFFF 7FFFFFFF
"""
apollo.apply_savewizard(unzip_data, sw_code)

10. Compress PAYLOAD (Required)

Target File: PAYLOAD

import uzlib
import ustruct as struct
print("Compressing bytes:", len(unzip_data))
print("Compress offset: 0x{:08X}".format(zip_offset[0][0]))
print("Old compressed size:", zip_offset[0][1])
savedata[:] = uzlib.packzip(savedata, zip_offset[0], unzip_data)
print("New compressed size:", zip_offset[0][1])
struct.pack_into(">I", savedata, zip_offset[0][0] - 0x08, zip_offset[0][1])
struct.pack_into(">I", savedata, zip_offset[0][0] - 0x10, zip_offset[0][1])