borderlands2 icon indicating copy to clipboard operation
borderlands2 copied to clipboard

Issue with PS3 .sav file

Open brandonb927 opened this issue 10 years ago • 2 comments

Just downloaded the python file, ran it to convert console-to-pc file, and this is the ouptut:

❯ python savefile.py -m "" --little-endian SAVE0001.SAV PC.SAV
Something went wrong, but please ensure you have the latest version from https://github.com/pclifford/borderlands2 before reporting a bug.  Information useful for a report follows:
['savefile.py', '-m', '', '--little-endian', 'SAVE0001.SAV', 'PC.SAV']
Traceback (most recent call last):
  File "savefile.py", line 1130, in <module>
    main(options, args)
  File "savefile.py", line 1101, in main
    output.write(modify_save(input.read(), changes, endian))
  File "savefile.py", line 890, in modify_save
    player = read_protobuf(unwrap_player_data(data))
  File "savefile.py", line 623, in unwrap_player_data
    raise BL2Error("Invalid save file")
__main__.BL2Error: Invalid save file

Using Python version 2.7.5.

brandonb927 avatar Aug 22 '14 23:08 brandonb927

same here. Anyone found a workaround ? When I try to "decrypt" the save with bruteforce, the script runs endlessly

RodolpheGohard avatar Jun 28 '15 04:06 RodolpheGohard

seems like the script gets stuck in an endless loop in lzo1x_decompress

^CSomething went wrong, but please ensure you have the latest version from https://github.com/pclifford/borderlands2 before reporting a bug.  Information useful for a report follows:
['savefile.py', '-m', '--little-endian', '/media/biaib/UBOOTNOO/PS3/SAVEDATA/BLES01684-SAVE-SAVE0002/SAVE0002.SAV', 'pc.sav']
Traceback (most recent call last):
  File "savefile.py", line 1134, in <module>
    main(options, args)
  File "savefile.py", line 1105, in main
    output.write(modify_save(input.read(), changes, endian))
  File "savefile.py", line 894, in modify_save
    player = read_protobuf(unwrap_player_data(data))
  File "savefile.py", line 627, in unwrap_player_data
    data = lzo1x_decompress("\xf0" + data[20: ])
  File "savefile.py", line 703, in lzo1x_decompress
    copy_earlier(dst, 1 + ((t >> 2) & 7) + (src[ip] << 3), (t >> 5) + 1); ip += 1
  File "savefile.py", line 679, in copy_earlier
    chunk = b[i: i + n]
KeyboardInterrupt

RodolpheGohard avatar Jun 28 '15 04:06 RodolpheGohard