Profile/Burnout Revenge: Difference between revisions
Content added Content deleted
mNo edit summary |
(Updated with Xbox info.) |
||
Line 7: | Line 7: | ||
All profiles use EA's proprietary MC02 header to protect the data. Following any edits, the profile must be rehashed using a program such as [https://www.thetechgame.com/Downloads/id=175971/mc02-package-tool.html MC02 Package Tool]. |
All profiles use EA's proprietary MC02 header to protect the data. Following any edits, the profile must be rehashed using a program such as [https://www.thetechgame.com/Downloads/id=175971/mc02-package-tool.html MC02 Package Tool]. |
||
The following information is from symbols in [[Burnout Revenge (Alpha 7 build)]] |
The following information is from symbols in [[Burnout Revenge (Alpha 7 build)]], Dead Space 2 (2010-11-19 build), and The Godfather (2006-04-10 build). |
||
⚫ | |||
⚫ | |||
{| class="wikitable" |
{| class="wikitable" |
||
Line 22: | Line 25: | ||
| 0xC || 0x4 || uint32_t || mUserBodySize || Save data length in bytes || |
| 0xC || 0x4 || uint32_t || mUserBodySize || Save data length in bytes || |
||
|- |
|- |
||
| 0x10 || 0x4 || Signature_t || mUserHeaderSignature || Save header |
| 0x10 || 0x4 || Signature_t || mUserHeaderSignature || Save header signature || |
||
|- |
|- |
||
| 0x14 || 0x4 || Signature_t || mUserBodySignature || Save data |
| 0x14 || 0x4 || Signature_t || mUserBodySignature || Save data signature || |
||
|- |
|- |
||
| 0x18 || 0x4 || Signature_t || mFileHeaderSignature || MC02 header |
| 0x18 || 0x4 || Signature_t || mFileHeaderSignature || MC02 header signature || Hashes everything prior to this field |
||
|} |
|} |
||
⚫ | |||
⚫ | |||
Identical to normal MC02 but with HMAC-SHA1 signatures (denoted by the XCALC_SIGNATURE type) instead of CRC32. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
=== Data === |
|||
⚫ | |||
⚫ | |||
{| class="wikitable" |
{| class="wikitable" |
||
|+ RealmcCore::FileHeader |
|||
⚫ | |||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x4 || uint32_t || mFileHeaderVersion || Magic || Must be 'MC02'<br />MC = Memory Card<br />02 = version 2 |
|||
| 0x0 || 0xC0 || GtUTF8[3][64] || maaSaveNames || Save names || |
|||
|- |
|- |
||
| 0x4 || 0x4 || uint32_t || mFileSize || Length of the save in bytes || Includes the MC02 header |
|||
| 0xC0 || 0x4FE0 || [[#CB4SaveGameData|CB4SaveGameData]][3] || maSaveGameData || Saves || |
|||
|} |
|||
⚫ | |||
{| class="wikitable" |
|||
! Offset !! Length !! Type !! Name !! Description !! Comments |
|||
|- |
|- |
||
| |
| 0x8 || 0x4 || uint32_t || mUserHeaderSize || Save header length in bytes || |
||
|- |
|- |
||
| |
| 0xC || 0x4 || uint32_t || mUserBodySize || Save data length in bytes || |
||
|- |
|- |
||
| 0x10 || 0x14 || XCALC_SIGNATURE || mUserHeaderSignature || Save header signature || |
|||
| 0xF0 || 0x5010 || [[#CB4SaveGameData|CB4SaveGameData]][3] || maSaveGameData || Saves || |
|||
⚫ | |||
| 0x24 || 0x14 || XCALC_SIGNATURE || mUserBodySignature || Save data signature || |
|||
|- |
|||
| 0x38 || 0x14 || XCALC_SIGNATURE || mFileHeaderSignature || MC02 header signature || Hashes everything prior to this field |
|||
|} |
|} |
||
=== Checksum === |
|||
⚫ | |||
Xbox has an additional checksum after the aforementioned checksum. It uses the same algorithm as the MC02 signatures. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
Line 64: | Line 69: | ||
| 0x0 || 0xC0 || GtUTF8[3][64] || maaSaveNames || Save names || |
| 0x0 || 0xC0 || GtUTF8[3][64] || maaSaveNames || Save names || |
||
|- |
|- |
||
| 0xC0 || |
| 0xC0 || Platform dependent || [[#CB4SaveGameData|CB4SaveGameData]][3] || maSaveGameData || Saves || |
||
|} |
|} |
||
Line 95: | Line 100: | ||
| 0x1A98 || 0x4 || RwUInt32 || munCheckSum || || |
| 0x1A98 || 0x4 || RwUInt32 || munCheckSum || || |
||
|- |
|- |
||
| 0x1A9C || |
| 0x1A9C || 0x14 || ? || ? || HMAC-SHA1 checksum || |
||
⚫ | |||
| 0x1AA0 || 0x10 || ? || ? || 128-bit key? || Multiplayer-related? |
|||
|} |
|} |
||