Battlefield 3: PROF_SAVE_body and PROF_SAVE_header

Want to beat the game a cheater? Figure out Savegame file formats here.
Post Reply
Hyperz
ultra-n00b
Posts: 3
Joined: Fri Aug 13, 2010 5:45 pm
Has thanked: 1 time

Battlefield 3: PROF_SAVE_body and PROF_SAVE_header

Post by Hyperz » Tue Oct 04, 2011 2:42 pm

Hi :)

I was wondering if anyone has looked into the BF3 PROF_SAVE_body/PROF_SAVE_header files yet (located in the folder C:\Users\<username>\Documents\Battlefield 3 Open Beta\settings\)? I've been trying to parse PROF_SAVE_body but I'm having a bit of difficulty understanding what the meaning of certain bytes are :[ . Here's what I understand about the files format so far:

PROF_SAVE_header (8 bytes):

Code: Select all

uint8 header[8]; // no idea what these are for
PROF_SAVE_body (1024000 bytes):

Code: Select all

uint8 header[8]; // no idea what these are for
struct name_value_pair[?] // array of what seems to be key-value pairs
{
    // sometimes there are 1 or more uint32 values that come before value_type
    // no idea what they are for or how to predict them during parsing
    uint32 value_type; // not 100% sure, seems to indicate the data type of the value in value_str
    uint32 name_length;
    char name_str[name_length];
    uint32 value_length;
    char value_str[value_length];
};
uint8 unknown[?]; // lots of null bytes, not sure if they are there just to fill 1024000 bytes
The biggest problem for me so far is figuring out why sometimes the name_value_pair struct has additional data coming before the value_type field. Does anyone have more information on this file type and/or how to read/write it? I have attached a copy of these 2 files. Thanks in advance :).
You do not have the required permissions to view the files attached to this post.

User avatar
Chipicao
ultra-veteran
ultra-veteran
Posts: 476
Joined: Thu Feb 03, 2011 11:18 am
Has thanked: 42 times
Been thanked: 300 times
Contact:

Re: Battlefield 3: PROF_SAVE_body and PROF_SAVE_header

Post by Chipicao » Sat Nov 19, 2011 3:27 pm

The contents of this post was deleted because of possible forum rules violation.
Please post any requests or issues with my tools in the appropriate topics.
I'm sorry if I don't reply or if I ignore PMs. My time is very limited.

godzcheater
ultra-n00b
Posts: 8
Joined: Fri Feb 03, 2012 8:37 pm
Has thanked: 1 time
Been thanked: 2 times

Re: Battlefield 3: PROF_SAVE_body and PROF_SAVE_header

Post by godzcheater » Sat Oct 13, 2012 10:52 pm

Well the first 4 bytes of each if an MC02 hash, I think. Its that on xbox(well in an MC02 package) but never seen on PC before.
In fairly sure the int in header is the could of property collections, not 100% tho.

body
4 byte hash
for(System.Int32 i =0;i<headerint;i++)
{
int32 property count
for < property count
{
int32 type
int32 namelength
string[length] name//null terminated aswell
int32 value length
value//usually string then casted to type, except binary, thats just byte[]
}
}
null padded

type
1 float(string)
2 byte(string)
3 ...
4 bool(string(int))
5 binary

P@S@f
ultra-n00b
Posts: 5
Joined: Wed Feb 23, 2011 12:33 pm
Has thanked: 2 times

Re: Battlefield 3: PROF_SAVE_body and PROF_SAVE_header

Post by P@S@f » Sat Aug 05, 2017 1:26 am

I'm sorry for asking in such old thread, but I'm interested in format of this file as well.
Anyone know how to calculate this hash value for PROF_SAVE_body?
If I change something and keep old hash - game reset all progress to default.

Post Reply