Fixing DRL and CRL Hashes

From PS3 Developer wiki
Jump to navigation Jump to search

Introduction[edit | edit source]

  • It's a small and easy guide how to fix your DRL/CRL issues on GameOS with PS3 Linux.

Tools[edit | edit source]

  • You need my latest ps3dm tool with VTRM commands retrieve and store_with_update.

ps3vuart-tools: http://gitorious.ps3dev.net/ps3linux/ps3vuart-tools

DRL and CRL Hashes[edit | edit source]

  • DRL and CRL SHA1 hashes are stored on one of the encrypted data blocks (with 0x40 length each) inside VTRM FLASH region.
  • First 20 bytes are SHA1 hash of DRL. Then following 20 bytes SHA1 hash of CRL.
  • If you are using a FW without SS patch then use Authority ID 0x1070000039000001 as parameter to option -p.


Read current DRL and CRL SHA1 hashes from FLASH using VTRM service:

sudo ./ps3dm -l 0x0 -p 0x1070000034000001 vtrm retrieve 0 | xxd -c 16 -p
8f0652bc6162a240362f90f1b2e5405b
b82ee50296791f41f9a76f4d895dd582
0db108ec03d192500000000000000000
00000000000000000000000000000000

Write current DRL and CRL SHA1 hashes to FLASH using VTRM service:

sudo ./ps3dm -l 0x0 -p 0x1070000034000001 vtrm store_with_update \
    8f0652bc6162a240362f90f1b2e5405bb82ee50296791f41f9a76f4d895dd5820db108ec03d19250

If you write wrong hashes intentionally then you won't be able to play BD movies and you will get the following message:

Playback of BDs is prohibited on this system.
Contact technical support for assistance.

How to get correct DRL and CRL hashes:

sudo mount /dev/ps3flash /mnt

sha1sum /mnt/data-revoke/drl/DRL1
8f0652bc6162a240362f90f1b2e5405bb82ee502  /mnt/data-revoke/drl/DRL1

sha1sum /mnt/data-revoke/crl/CRL1
96791f41f9a76f4d895dd5820db108ec03d19250  /mnt/data-revoke/crl/CRL1

Test[edit | edit source]

  • I intentionally wrote wrong DRL and CRL hashes with VTRM service store_with_update.
  • After that i couldn't play my BD movies on GameOS.
  • Then i wrote correct hashes again and BD playback is working again :)