Editing LIC.DAT
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
== Description == | == Description == | ||
*Checked within Level 2 Kernel and possible via lv2syscall476 | *Checked within Level 2 Kernel and possible via lv2syscall476<br>. | ||
*File size is always 0x10000 Bytes. | *File size is always 0x10000 Bytes. | ||
*Paths | *Paths | ||
Line 54: | Line 54: | ||
| 0x8 || 0x4 || 0x00000001 || '''version''' || DAT structure version | | 0x8 || 0x4 || 0x00000001 || '''version''' || DAT structure version | ||
|- | |- | ||
| 0xC || 0x4 || 0x80000000 || '''flag''' || 0x80000000 = | | 0xC || 0x4 || 0x80000000 || '''flag''' <!--type of what, master/retail disc?... or type of the EBOOT.BIN asociated with the first license in the table?--> || 0x80000000 = retail (used in LIC.DAT under directory PS3_GAME)<br>0x00000000 = debug (used in LIC.DAT under directory PS3_GM01, PS3_GM02, etc...) | ||
|- | |- | ||
| 0x10 || 0x4 || 0x00000900 || '''lic_table_end''' || License table absolute end offset. Calculated by: '' | | 0x10 || 0x4 || 0x00000900 || '''lic_table_end''' || License table, absolute end offset. Calculated by: ''license table start + (license amounts * license size)'' | ||
|- | |- | ||
| 0x14 || 0x4 || 0x00000800 || '''lic_table_start''' || License table absolute start offset. Always found 0x800 (static) | | 0x14 || 0x4 || 0x00000800 || '''lic_table_start''' || License table, absolute start offset. Always found 0x800 (static) | ||
|- | |- | ||
| 0x18 || 0x4 || 0x00000100 || '''lic_size''' || | | 0x18 || 0x4 || 0x00000100 || '''lic_size''' || License size. Always found 0x100 (static) | ||
|- | |- | ||
| 0x1C || 0x4 || 0x00000001 || '''lic_num''' || | | 0x1C || 0x4 || 0x00000001 || '''lic_num''' || License amount. Values found: 0x1 (single boot discs), 0x2 (dual boot discs), 0x3 (triple boot discs) | ||
|- | |- | ||
| 0x20 || 0x4 || 0x8CD3A9D8 || '''crc32''' || CRC32 of | | 0x20 || 0x4 || 0x8CD3A9D8 || '''crc32''' || CRC32 from the first byte of LIC.DAT till the end of license table (includes the CRC32 placeholder filled with zeroes) | ||
|- | |- | ||
| 0x24 || ? || 0x0000... || '''padding''' || | | 0x24 || ? || 0x0000... || '''padding''' || is unknown where the header ends, probablly aligned to 0x200 but there are much more zeroes after it | ||
|} | |} | ||
Line 81: | Line 81: | ||
| 0x1 || 0x0A (if '''id_type''' = 0x01)<br>0x2A (if '''id_type''' = 0x02)<br>0x25 (if '''id_type''' = 0x03) || 'BLES01623' || '''id''' || Bootable content identifyer (EBOOT.BIN related) | | 0x1 || 0x0A (if '''id_type''' = 0x01)<br>0x2A (if '''id_type''' = 0x02)<br>0x25 (if '''id_type''' = 0x03) || 'BLES01623' || '''id''' || Bootable content identifyer (EBOOT.BIN related) | ||
|- | |- | ||
| 0x0B (if '''id_type''' = 0x01)<br>0x2B (if '''id_type''' = 0x02)<br>0x26 (if '''id_type''' = 0x03) || up to | | 0x0B (if '''id_type''' = 0x01)<br>0x2B (if '''id_type''' = 0x02)<br>0x26 (if '''id_type''' = 0x03) || up to '''lic_size''' || 0x0000.... || '''padding''' || padding to fill the entry with zeroes up to the "license size" specifyed in the header | ||
|} | |} | ||
Line 96: | Line 96: | ||
== Multiboot PS3 Game Discs == | == Multiboot PS3 Game Discs == | ||
There is a special type of PS3 game disc that contains several EBOOT.BIN with several LIC.DAT files. These LIC.DAT files are a bit special because contains the TITLE_ID of all the EBOOT.BIN files of the disc. Some examples of games using this multiboot disc structure are: | There is a special type of PS3 game disc that contains several EBOOT.BIN with several LIC.DAT files. These LIC.DAT files are a bit special because contains the TITLE_ID of all the EBOOT.BIN files of the disc. Some examples of games using this multiboot disc structure are: ''Metal Gear Solid The Legacy Collection'' (BLJM-91001 on PS3_DISC.SFB), and ''Fighting edition'' (BLES-02129 on PS3_DISC.SFB). | ||
The path names (PS3_GM01, PS3_GM02, etc...) only allows for 2 digits in decimal format... so up to PS3_GM99 + main bootable content in PS3_GAME makes a total of 100. | The path names (PS3_GM01, PS3_GM02, etc...) only allows for 2 digits in decimal format... so up to PS3_GM99 + main bootable content in PS3_GAME makes a total of 100. | ||
Line 106: | Line 106: | ||
*dev_bdvd/PS3_GAME/LICDIR/LIC.DAT | *dev_bdvd/PS3_GAME/LICDIR/LIC.DAT | ||
**Header | **Header | ||
*** | ***<span style="background:#aCa9a3;">magic</span> "PS3LICDA" | ||
*** | ***<span style="background:#968592;">version</span> 1 | ||
*** | ***<span style="background:#66ff66;">flag</span> 0x80000000 (retail) | ||
*** | ***<span style="background:#ff66ff;">lic_table_end</span> 0x0A00 | ||
*** | ***<span style="background:#f6ff6f;">lic_table_start</span> 0x0800 | ||
*** | ***<span style="background:#6f66f6;">lic_size</span> 0x0100 | ||
*** | ***<span style="background:#6ffff6;">lic_num</span> 2 | ||
*** | ***<span style="background:#C1C132;">crc32</span> 01 0F 95 0E | ||
**First | **Licenses | ||
*** | ***First license, type 0x01 = BLJM61001 @ offset 0x800 (for EBOOT.BIN under directory PS3_GAME) | ||
***Second license, type 0x01 = BLJM60351 @ offset 0x900 (for EBOOT.BIN under directory PS3_GM01) | |||
| | ||
00000000 <span style="background:#aCa9a3;">50 53 33 4C 49 43 44 41</span> <span style="background:#968592;">00 00 00 01</span> <span style="background:#66ff66;">80 00 00 00</span> PS3LICDA....€... | 00000000 <span style="background:#aCa9a3;">50 53 33 4C 49 43 44 41</span> <span style="background:#968592;">00 00 00 01</span> <span style="background:#66ff66;">80 00 00 00</span> PS3LICDA....€... | ||
00000010 <span style="background:#ff66ff;">00 00 0A 00</span> <span style="background:#f6ff6f;">00 00 08 00</span> <span style="background:# | 00000010 <span style="background:#ff66ff;">00 00 0A 00</span> <span style="background:#f6ff6f;">00 00 08 00</span> <span style="background:#6f66f6;">00 00 01 00</span> <span style="background:#6ffff6;">00 00 00 02</span> ................ | ||
00000020 <span style="background:#C1C132;">01 0F 95 0E</span> 00 00 00 00 00 00 00 00 00 00 00 00 ..•............. | 00000020 <span style="background:#C1C132;">01 0F 95 0E</span> 00 00 00 00 00 00 00 00 00 00 00 00 ..•............. | ||
... | ... |