trumank / uesave-rs

Rust library to read and write Unreal Engine save files
MIT License
269 stars 53 forks source link

Bodycam "Failed to fill whole buffer" error #45

Closed PineconeCipher closed 3 weeks ago

PineconeCipher commented 1 month ago

Forgive me as I am incredibly green at parsing any sort of file. So I ran this...

uesave to-json -i D:\uesave\dump\PlayerInfo.sav Found non-standard magic: [ff, fe, 47, 00] (��G ) expected: GVAS, continuing to parse... Error: at offset 3130: io error: failed to fill whole buffer

After skimming thru other issues, it seems this .sav is encrypted. Just curious is there is any shot at just getting it over to a .json. The other problem that could be an issue is, this was made by a French dev team, so they could have encoded the file in French? (OEM 683:French)?

I converted it to HEX but there's nothing that pops out to me, again, pretty green at this. I'll drop the file as there is some english near the end.

Any help much appreciated!

EDIT: Attaching another .sav that has much more data to pull from. Going to try a few things.

  1. PlayerInfo.zip

  2. PlayerSkin.zip

trumank commented 1 month ago

Both of those saves parse perfectly for me. The header in your error message is showing different bytes than the headers in the files you uploaded. Are you somehow trying to open a different file?

Hex dump of the intact header for reference:

00000000  47 56 41 53 03 00 00 00  0a 02 00 00 f1 03 00 00  |GVAS............|
00000010  05 00 02 00 01 00 40 c2  8c 01 12 00 00 00 2b 2b  |......@.......++|
00000020  55 45 35 2b 52 65 6c 65  61 73 65 2d 35 2e 32 00  |UE5+Release-5.2.|
...
PineconeCipher commented 1 month ago

huh, interesting... I could have somehow "corrupted" the data. I accidentally opened it with notepad++ (idiot me) and had autosave on. I'll launch the game so it creates a new sav file and try again.

This time not at 4am either lol.

Thanks!!