Skip to content

Instantly share code, notes, and snippets.

@apple1417
Created August 15, 2021 11:38
Show Gist options
  • Save apple1417/1c589dc46e330300918ed04a1b8d83fa to your computer and use it in GitHub Desktop.
Save apple1417/1c589dc46e330300918ed04a1b8d83fa to your computer and use it in GitHub Desktop.
Kaitai Struct format for BL2/TPS Profile files
meta:
id: decompressed
title: BL2/TPS Decompressed Profile Data
endian: be
seq:
- id: setting_count
type: u4
- id: all_settings
type: online_profile_setting
repeat: expr
repeat-expr: setting_count
types:
online_profile_setting:
seq:
- id: owner
type: u1
enum: online_profile_property_owner
- id: id
type: u4
- id: type
type: u1
enum: settings_data_type
- id: data
type:
switch-on: type
cases:
settings_data_type::int32: u4
settings_data_type::string: data_string
settings_data_type::blob: data_blob
settings_data_type::byte: u1
_: unknown
- id: advertisement
type: u1
enum: online_data_advertisement_type
data_string:
seq:
- id: len
type: u4
- id: val
type: str
size: len
encoding: ascii
data_blob:
seq:
- id: len
type: u4
- id: val
size: len
unknown:
seq:
- size: 0
enums:
online_profile_property_owner:
0: none
1: online_service
2: game
settings_data_type:
0: empty
1: int32
2: int64
3: double
4: string
5: float
6: blob
7: datetime
8: byte
online_data_advertisement_type:
0: dont_advertise
1: online_service
2: qos
3: online_service_and_qos
meta:
id: profile
title: BL2/TPS Profile file
endian: be
seq:
- id: sha1
size: 20
- id: decompressed_size
type: u4
- id: lzo_compressed_data
size-eos: true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment