LIC.DAT: Difference between revisions
Jump to navigation
Jump to search
m (→header) |
mNo edit summary |
||
Line 22: | Line 22: | ||
{|class="wikitable" | {|class="wikitable" | ||
|- | |- | ||
! Offset !! Length !! | ! Offset !! Length !! Example !! Name !! Description | ||
|- | |- | ||
| 0x0 || 0x8 || 'PS3LICDA' || Magic | | 0x0 || 0x8 || 'PS3LICDA' || Magic || | ||
|- | |- | ||
| 0x8 || 0x4 || 0x1 || Version | | 0x8 || 0x4 || 0x1 || Version || DAT version or license version ? | ||
|- | |- | ||
| 0xC || 0x4 || 0x80000000 || 0x00000000 = debug<br>0x80000000 = retail | | 0xC || 0x4 || 0x80000000 || License type ? || 0x00000000 = debug<br>0x80000000 = retail | ||
|- | |- | ||
| 0x10 || 0x4 || 0x00000900 || chunks end (can be calculated with the formula: ''chunks start + chunk amounts * chunk size'') | | 0x10 || 0x4 || 0x00000900 || License table, absolute end offset || chunks end (can be calculated with the formula: ''chunks start + chunk amounts * chunk size'') | ||
|- | |- | ||
| 0x14 || 0x4 || 0x00000800 || chunks start (static) | | 0x14 || 0x4 || 0x00000800 || License table, absolute start offset || chunks start (static) | ||
|- | |- | ||
| 0x18 || 0x4 || 0x00000100 || chunk size (static) | | 0x18 || 0x4 || 0x00000100 || License size || chunk size (static) | ||
|- | |- | ||
| 0x1C || 0x4 || 0x00000001 || chunk amounts | | 0x1C || 0x4 || 0x00000001 || License amount || chunk amounts | ||
|- | |- | ||
| 0x20 || 0x4 || 0xD8A9D38C|| CRC32 from the first byte till the end of last chunk (without CRC32 value) | | 0x20 || 0x4 || 0xD8A9D38C|| crc32 || CRC32 from the first byte till the end of last chunk (without CRC32 value) | ||
|} | |} | ||
Line 45: | Line 45: | ||
{|class="wikitable" | {|class="wikitable" | ||
|- | |- | ||
! | ! Offset !! Length !! Value !! Description | ||
|- | |- | ||
| 0x800+i*0x100 || 0x1 || 0x1 || kind of ID | | 0x800+i*0x100 || 0x1 || 0x1 || kind of ID |
Revision as of 16:59, 28 August 2015
See also Discussion page
- Location: /dev_bdvd/PS3_GAME/LICDIR/LIC.DAT (soon LIC.EDAT)
- Checked within Level 2 Kernel and possible via lv2syscall476
- Final File size is: 0x10000 Bytes
example
00000000 50 53 33 4C 49 43 44 41 00 00 00 01 80 00 00 00 PS3LICDA........ 00000010 00 00 09 00 00 00 08 00 00 00 01 00 00 00 00 01 ................ 00000020 8C D3 A9 D8 00 00 00 00 00 00 00 00 00 00 00 00 ................ ... 00000800 01 42 4C 45 53 30 31 36 32 33 00 00 00 00 00 00 .BLES01623...... ...
structure
header
Offset | Length | Example | Name | Description |
---|---|---|---|---|
0x0 | 0x8 | 'PS3LICDA' | Magic | |
0x8 | 0x4 | 0x1 | Version | DAT version or license version ? |
0xC | 0x4 | 0x80000000 | License type ? | 0x00000000 = debug 0x80000000 = retail |
0x10 | 0x4 | 0x00000900 | License table, absolute end offset | chunks end (can be calculated with the formula: chunks start + chunk amounts * chunk size) |
0x14 | 0x4 | 0x00000800 | License table, absolute start offset | chunks start (static) |
0x18 | 0x4 | 0x00000100 | License size | chunk size (static) |
0x1C | 0x4 | 0x00000001 | License amount | chunk amounts |
0x20 | 0x4 | 0xD8A9D38C | crc32 | CRC32 from the first byte till the end of last chunk (without CRC32 value) |
chunk
Offset | Length | Value | Description |
---|---|---|---|
0x800+i*0x100 | 0x1 | 0x1 | kind of ID |
0x801+i*0x100 | ID depending | 'BLES01623' | Title ID / Contend ID |
The first byte indicates type and size of following text:
- 0x01 means 0xA bytes, a regular TitleID (ex. BLES01623) with \0 terminating
- 0x02 means 0x2A bytes, a regular SKU ID (ex. UP0002-BLES01623_00-0000111122223333-E001) with \0 terminating
- 0x03 means 0x25 bytes, a regular npdrm ContentID (ex. UP0002-BLES01623_00-0000111122223333) with \0 terminating
|