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.
|