Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
8th September 2019, 02:07 | #1 | Link |
Registered User
Join Date: Apr 2018
Posts: 21
|
Blu-ray disc region protection removal
I've been playing around with region code removal on Blu-ray discs. Unlike for DVD, the protection is handled at the player level rather than at the disc/drive level.
There are essentially two types of protection: using instructions in the MovieObjects.bdmv file, and doing a check in the Java code. Both methods are described in Annex M of the Blu-ray spec, and involve checking the PSR20 player register to determine the player region. Removing the region checks from the MovieObjects.bdmv has already been discussed in this forum by dmz01 during a discussion of the BDedit tool. I have been able to successfully implement removal of this type of protection. For the second type where the check is in Java, the only free tool I am aware of that handles the removal is "Blu-ray Region Code Remover 2.5" by SuperGoof. Unfortunately, SuperGoof never released the source code for his tool and never described his algorithm in any detail. SuperGoof also stopped posting around 10 years ago. Does anyone have the source code for "Blu-ray Region Code Remover 2.5"? Alternatively, does anyone know what steps are necessary to patch the Blu-ray Java code to remove the region protection? |
24th September 2019, 06:22 | #2 | Link |
Registered User
Join Date: Apr 2018
Posts: 21
|
From what I can tell, the process that AnyDVD uses is something like this:
1. Unzip the file /BDMV/JAR/00000.jar (and others if present) 2. Locate each of the resulting Java bytecode files 00000/*.class 3. Within each Java bytecode file, search for the string: "org/bluray/system/RegisterAccess" 4. Replace each instance of this string with: "com/z/v" 5. Write out modified Java bytecode file(s) 6. Zip up new file /BDMV/JAR/00000.jar 7. Create an RSA key for code signing 8. Sign the /BDMV/JAR/00000.jar using the private key 9. Put the public key into an X509 Version 3 certificate 10. Store the public key certificate as /CERTIFICATE/app.discroot.crt Probably the certificate and keys from "Blu-ray Region Code Remover 2.5" would still work. Basically, the idea is to block any calls to the system function org.bluray.system.RegisterAccess.getPSR(). I'm not sure why a changing this to com.z.v.getPSR() doesn't crash the Java applet. |
Tags |
blu-ray, java blu ray authoring, region code, region-free |
Thread Tools | Search this Thread |
Display Modes | |
|
|