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.


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

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

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

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 :)