Editing Bluray disc

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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 3: Line 3:
Generalities about disc images:
Generalities about disc images:


* disc images are made of sectors
* the disc image if made of sectors
* a sector is 2048 bytes
* a sector is 2048 bytes
* sector 0 is made of bytes 0 to 2047, etc.
* sector 0 is made of bytes 0 to 2047, etc.
Line 14: Line 14:
* Sector 0 describes which regions of the disc are encrypted (see below).
* Sector 0 describes which regions of the disc are encrypted (see below).
* Sector 1 has information about the disc.
* Sector 1 has information about the disc.
* see [[AACS]].


File system:
File system:


* [http://www.osta.org/specs/pdf/udf260.pdf UDF] filesystem (a profile of [http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-167.pdf ECMA-167])
* [http://www.osta.org/specs/pdf/udf260.pdf UDF] filesystem (a profile of [http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-167.pdf ECMA-167])
* the structure of the UDF filesystem is in plaintext
* the structure of the UDF filesystem itself is in cleartext
* some files are encrypted (their data fall in the encrypted regions of the disc)
* some files are encrypted (their data fall in the encrypted regions of the disc)
* some files are not encrypted (their data fall in the non-encrypted regions of the disc)
* some files are not encrypted (thei fata fall in the non-encrypted regions of the disc)
* as a consequence if the disc is mounted directly, the filesystem file structure is readable and some files are readable but some other files content appears as garbage.


== Disc Info ==
== Disc Info ==
Line 68: Line 66:
</pre>
</pre>


* The first 16 bytes identify a PS3 disc.
* The first 16 bytes identidy a PS3 disc.
* The next 32 bytes are the disc ID (with space padding)
* The next 32 bytes are the disc ID (with space padding)
* 0x840: ?
* 0x840: ?
Line 248: Line 246:
== IRD file ==
== IRD file ==


3k3y generates [http://jonnysp.bplaced.net/ IRD files] which contains some information about the disc. In particular, it contains "data1" which is used to derive the disc AES encryption key. It contains the PIC zone as well (which is outside of the normal area of the disc and thus not present in ISOs) but it's not clear how useful that is.
3k3y generates [http://jonnysp.bplaced.net/ IRD files] which contains some information about the disc. In particular, it contains "data1" which is used to derive the disc AES encryption key.


The file is:
The file is:
Line 268: Line 266:
!Example
!Example
!Versions
!Versions
!Notes
|-
|-
|4B
|4B
Line 274: Line 271:
|Magic string ("3IRD")
|Magic string ("3IRD")
|3IRD
|3IRD
|
|
|
|-
|-
Line 281: Line 277:
|Version
|Version
|6, 7, 8, 9
|6, 7, 8, 9
|
|
|
|-
|-
|9B
|9B
|string
|string
|Title ID
|Game ID
|BCES01584
|BCES01584
|
|
| The same value stored in [[PARAM.SFO#TITLE_ID|PARAM.SFO / TITLE_ID]]
|-
|-
|var
|var
|string
|string
|Title
|Game name
|The Last Of Us
|The Last Of Us
|
|
| The same value stored in [[PARAM.SFO#TITLE|PARAM.SFO / TITLE]]
|-
|-
|4B
|4B
|string
|string
| PS3 system version
|Update version
|4.41
|4.41
|
|
| The same value stored in [[PARAM.SFO#PS3_SYSTEM_VER|PARAM.SFO / PS3_SYSTEM_VER]]
|-
|-
|5B
|5B
|string
|string
| Version
|Game version
|4.41
|4.41
|
|
| The same value stored in [[PARAM.SFO#VERSION|PARAM.SFO / VERSION]]
|-
|-
|5B
|5B
|string
|string
| App version
|App version
|01.00
|01.00
|
|
| The same value stored in [[PARAM.SFO#APP_VER|PARAM.SFO / APP_VER]]
|-
|-
|4B
|4B
Line 324: Line 314:
|
|
|v=7
|v=7
|
|-
|-
|var
|var
|compressed
|compressed
|Header
|Header
|
|
|
|
|
Line 336: Line 324:
|compressed
|compressed
|Footer
|Footer
|
|
|
|
|
Line 343: Line 330:
|uint
|uint
|Region count
|Region count
|
|
|
|
|
Line 358: Line 344:
|…
|…
|…
|…
|
|-
|-
|4B
|4B
|uint
|uint
|File count
|File count
|
|
|
|
|
Line 372: Line 356:
|
|
|
|
| The offset/sector of the file's whose hash is shown
|-
|-
|16B
|16B
Line 385: Line 368:
|…
|…
|…
|…
|
|-
|4B
|bytes
|Padding
|(00 00 00 00)
|
|-
|-
|115B
|115B
Line 398: Line 374:
|
|
|v=9
|v=9
|
|-
|-
|16B
|16B
|bytes
|bytes
|Data 1
|Data 1
|
|
|
|
|
Line 410: Line 384:
|bytes
|bytes
|Data 2
|Data 2
|
|
|
|
|
Line 419: Line 392:
|
|
|v<9
|v<9
|
|-
|-
|4B
|2B
|uint/bytes
|uint/bytes
|UID
|UID
|
|
|-
|4B
|uint
|CRC
|
|
|
|
|
Line 436: Line 401:


Compressed data are compressed with gzip and prefixed with a length (uint32).
Compressed data are compressed with gzip and prefixed with a length (uint32).
== Dump ==
To dump a Bluray Disc using a PS3 Bluray Drive, see [http://wiki.redump.org/index.php?title=PlayStation_3_Dumping_Guide redump guide].


== References ==
== References ==
Line 445: Line 406:
* 3k3y IsoTools, this is a .NET program available in binary form. The [https://github.com/icsharpcode/ILSpy ILspy] decompiler produces a very readable output.
* 3k3y IsoTools, this is a .NET program available in binary form. The [https://github.com/icsharpcode/ILSpy ILspy] decompiler produces a very readable output.
* PS3 ISO Patcher by BlackDaemon, is a .NET program available in source code
* PS3 ISO Patcher by BlackDaemon, is a .NET program available in source code
* See also [[ODE]] page


{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>
{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)