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.

 

Go Back   Doom9's Forum > General > Decrypting

Reply
 
Thread Tools Search this Thread Display Modes
Old 30th October 2022, 12:07   #121  |  Link
candela
Registered User
 
Join Date: Jun 2005
Posts: 244
Quote:
Originally Posted by demomode View Post
How do I extract BD+ tables? I tried BlurayTest&Decrypt but isn't working.
it "doesn't work" is not really useful info, what exactly doesn't work. Note that BT&D and libbdplus use different filenames for the tables. Can you post the DiscID? The table probably already exists in the archive (but the filename is the MediaKey)
candela is offline   Reply With Quote
Old 11th November 2022, 20:47   #122  |  Link
elsanto
Registered User
 
Join Date: Nov 2022
Posts: 1
First of all thank you very much to candela and all the other people on doom9 that have made possible to watch blu-rays "featuring" BD+ using free software.


Quote:
Originally Posted by BalooDP View Post
Previously there was a post in this thread with instructions on how to get BD+ disc playback working on the fly decryption on Debian based Linux distros. The post contained instructions on how to build the libbdplus library because the one in the repo wasnt sufficient. It also contained a pre built version which I used with success on my Pop OS distro for a little while, but it has stopped working. Has anyone had success in using libbdplus in the Ubuntu/Debian repos or their own build to decrypt and playback libbdplus discs on the fly again in Ubuntu 22.10 and higher distros?
I remember that post, but it is not here anymore. I red it some time ago, and followed that instructions when I was using Debian 10, some time ago.
I recently upgrade to Debian 11 (bullseye) and had to setup all this again. This is what I did. I hope it works for you:

For libaacs, I built 0.11.1 release from Debian 12 (bookworm) source repository:

As root user:
  • I added a line like "deb-src http://deb.debian.org/debian/ bookworm main" to /etc/apt/sources.list
  • I updated the package indexes: "apt update"
  • I installed some dependencies: "apt install dpkg-dev pkg-config" . pkg-config is a dependency for libbdplus.
  • I installed dependencies for building libaacs : "apt build-dep libaacs"

As an ordinary (not-privileged) user:
  • I got sources for libaacs 0.11.1 and built the deb packages: "apt source --compile libaacs"

After that I had three deb files:
  • libaacs-dev_0.11.1-1_amd64.deb
  • libaacs0_0.11.1-1_amd64.deb
  • libaacs0-dbgsym_0.11.1-1_amd64.deb

I installed the first two running as root the following commmand:
  • apt install ./libaacs-dev_0.11.1-1_amd64.deb ./libaacs0_0.11.1-1_amd64.deb

I needed to install dev package because is necessary for libbdplus building.

For libbdplus, i tried with 0.2.0 release from Debian 12 (bookworm), that according to changelog supports cached conversion tables, but it didn't worked.
The artifacts with BD+ discs are still there.

I couldn't successfully apply the patch included in 2020-07-26_libaacs_libbdplus.7z link from the first candela's post over libbdplus 0.1.2 source. I needed to download libbdplus source as it was on 2020_07_26.
You can browse the history of the code at: https://code.videolan.org/videolan/l.../commits/0.2.0
The last commit before 2020_07_26 is e98c143cbd33c3c6b0c67690dec31c7772e133d2.
You can check that code at: https://code.videolan.org/videolan/l...c31c7772e133d2
The tarball for the libbdplus at that temporal point can be downloaded from: https://code.videolan.org/videolan/l...2e133d2.tar.gz

This is what I did to get a proper working libbdplus library:

As a normal (non privileged) user:

I got the code:
I extracted the tarball:
  • tar -xvzf libbdplus-e98c143cbd33c3c6b0c67690dec31c7772e133d2.tar.gz
I changed working directory to the just created directory:
  • cd libbdplus-e98c143cbd33c3c6b0c67690dec31c7772e133d2

Tha candela patch can be applied cleanly over this tree.

I downloaded the candela 2020-07-26_libaacs_libbdplus.7z file from first post, and extracted the candela patch: libbdplus-0001-Use-cached-conversion-tables.patch

I applied the patch. In this example the patch was in my $HOME directory (~):
  • patch -p1 -i ~/libbdplus-0001-Use-cached-conversion-tables.patch

The patch applied successfully.

Then I compiled the patched libbdplus library:
  • ./bootstrap
  • ./configure
  • make
And then, as root, I installed libbdplus library:
  • make install

This setup works for me. I hope it can be helpful to others.

Of course, I needed to put a proper KEYDB.cfg file in ~/.config/aacs and convtab files in ~/.cache/libbdplus/convtab. This is well explained over the thread.
elsanto is offline   Reply With Quote
Old 3rd December 2022, 01:39   #123  |  Link
demomode
Registered User
 
Join Date: Apr 2020
Posts: 10
Quote:
Originally Posted by candela View Post
it "doesn't work" is not really useful info, what exactly doesn't work. Note that BT&D and libbdplus use different filenames for the tables. Can you post the DiscID? The table probably already exists in the archive (but the filename is the MediaKey)
[E:][0FC3A2AC76379365A762F7A5295D058C97A85AD9]
volumeid: 2697E90766193BCACA36831360D9AEB9

It's the Fight Club movie. I can watch via Leawo Player, but not with VLC.



----edit----

Okay, here's what I did. I'm using RevealX to decrypt the disc and watch, but for Fight Club it was accusing there was no Fixup Table.
So in the BlurayTestAndDecrypt was explaining how to get this BD+ table, it said I had to use Pavtube BdMagic, open the disc and get it. I did it and went back to TestAndDecrypt, it got the bd+ table, I placed into convtab but RevealX still didn't recognize it, saying it couldn't find "158CB5A4357391E6E272687AE77E3AA82E899B42.fut", so I doubled the .bin and renamed it to the fut file Reveal was pointing, and bam. Worked.




Last edited by demomode; 3rd December 2022 at 02:07. Reason: got it working
demomode is offline   Reply With Quote
Old 3rd December 2022, 19:12   #124  |  Link
candela
Registered User
 
Join Date: Jun 2005
Posts: 244
Quote:
Originally Posted by demomode View Post
[E:][0FC3A2AC76379365A762F7A5295D058C97A85AD9]
volumeid: 2697E90766193BCACA36831360D9AEB9

It's the Fight Club movie. I can watch via Leawo Player, but not with VLC.
Seems you were trying to play the movie in VLC using menus even though it is stated that cached BD+ tables are not compatible with menus. That's why you get this "Update Player" error


Quote:
Originally Posted by demomode View Post


Okay, here's what I did. I'm using RevealX to decrypt the disc and watch, but for Fight Club it was accusing there was no Fixup Table.
So in the BlurayTestAndDecrypt was explaining how to get this BD+ table, it said I had to use Pavtube BdMagic, open the disc and get it. I did it and went back to TestAndDecrypt, it got the bd+ table, I placed into convtab but RevealX still didn't recognize it, saying it couldn't find "158CB5A4357391E6E272687AE77E3AA82E899B42.fut", so I doubled the .bin and renamed it to the fut file Reveal was pointing, and bam. Worked.



I have no idea what kind of ID "158CB5A4357391E6E272687AE77E3AA82E899B42" Xreveal is looking for

The table for your disc (DiscID=0FC3A2AC76379365A762F7A5295D058C97A85AD9 and MK=A150638CC12168AE418E42623A800BB9) has been available since the first archive of BD+ tables, i.e. A150638CC12168AE418E42623A800BB9_FIGHT_CLUB.bin

So there was no need for you to use Pavtube
candela is offline   Reply With Quote
Old 3rd December 2022, 21:24   #125  |  Link
demomode
Registered User
 
Join Date: Apr 2020
Posts: 10
Quote:
Originally Posted by candela View Post
Seems you were trying to play the movie in VLC using menus even though it is stated that cached BD+ tables are not compatible with menus. That's why you get this "Update Player" error

I have no idea what kind of ID "158CB5A4357391E6E272687AE77E3AA82E899B42" Xreveal is looking for

The table for your disc (DiscID=0FC3A2AC76379365A762F7A5295D058C97A85AD9 and MK=A150638CC12168AE418E42623A800BB9) has been available since the first archive of BD+ tables, i.e. A150638CC12168AE418E42623A800BB9_FIGHT_CLUB.bin

So there was no need for you to use Pavtube
I didn't know it was available. Well, Xreveal was asking for BD+ Fixup Tables, I just tried to rename the .bin to the one the software was looking for. It worked, playing with menus. I also don't know what ID this is.
demomode is offline   Reply With Quote
Old 3rd December 2022, 23:16   #126  |  Link
candela
Registered User
 
Join Date: Jun 2005
Posts: 244
Quote:
Originally Posted by demomode View Post
I didn't know it was available. Well, Xreveal was asking for BD+ Fixup Tables, I just tried to rename the .bin to the one the software was looking for. It worked, playing with menus. I also don't know what ID this is.
Hmm. Are you saying that when you play the disc with menus in VLC and supplying the BD+ table:
* it works when using Xreveal
* it goes to player update screen with Libaacs/Libdplus

That shouldn't be possible unless this Xreveal is patching the menus somehow.

I notice on this Xreveal site it displays a bunch of disc related IDs under "Status". Can you post them for fight club?
candela is offline   Reply With Quote
Old 5th December 2022, 14:07   #127  |  Link
demomode
Registered User
 
Join Date: Apr 2020
Posts: 10
Quote:
Originally Posted by candela View Post
Hmm. Are you saying that when you play the disc with menus in VLC and supplying the BD+ table:
* it works when using Xreveal
* it goes to player update screen with Libaacs/Libdplus

That shouldn't be possible unless this Xreveal is patching the menus somehow.
All my blu-rays plays with menu in VLC. I just don't know which of them asks for BD+ table (Now I know about Fight Club). Sometimes I use DVDFab Passkey, but since it's paid and some new blu-rays doesn't decrypt, I use Xreveal.

If Xreveal can't find the FUT, it goes to the update screen. If it finds it (or doesn't need it), the disc plays normally with menus.

You should try Xreveal and update the post


Quote:
Originally Posted by candela View Post
I notice on this Xreveal site it displays a bunch of disc related IDs under "Status". Can you post them for fight club?
Where can I post it?

Last edited by demomode; 5th December 2022 at 14:16.
demomode is offline   Reply With Quote
Old 5th December 2022, 15:49   #128  |  Link
candela
Registered User
 
Join Date: Jun 2005
Posts: 244
Quote:
Originally Posted by demomode View Post
All my blu-rays plays with menu in VLC. I just don't know which of them asks for BD+ table (Now I know about Fight Club). Sometimes I use DVDFab Passkey, but since it's paid and some new blu-rays doesn't decrypt, I use Xreveal.

If Xreveal can't find the FUT, it goes to the update screen. If it finds it (or doesn't need it), the disc plays normally with menus.

You should try Xreveal and update the post
The point of this thread is to play blurays using VLC. If you need to use Xreveal you can just as well use makemkv or dvdfab.

The thing is having the FUT table doesn't prevent the disc showing the "player update" screen in VLC. libbdplus currently isn't emulating the BD+ virtual machine properly so the menus on the disc detect this and show the "player update" screen. If this is not happening with Xreveal it must be patching the menus to circumvent this detection

So ideally we figure out what exactly it's doing so it can be implemented in libbdplus

Is that xreveal fut id "158CB5A4357391E6E272687AE77E3AA82E899B42" for your disc listed in the Status screen? What is the name of this id there
candela is offline   Reply With Quote
Old 8th December 2022, 13:14   #129  |  Link
demomode
Registered User
 
Join Date: Apr 2020
Posts: 10
Quote:
Originally Posted by candela View Post
The point of this thread is to play blurays using VLC. If you need to use Xreveal you can just as well use makemkv or dvdfab.
Ohhhh, now I see.

Quote:
Originally Posted by candela View Post
Is that xreveal fut id "158CB5A4357391E6E272687AE77E3AA82E899B42" for your disc listed in the Status screen? What is the name of this id there
It's SHA

demomode is offline   Reply With Quote
Old 8th December 2022, 23:11   #130  |  Link
candela
Registered User
 
Join Date: Jun 2005
Posts: 244
Thanks, still have no idea what DHA and SHA ids are supposed to be. But I decided to install this myself and tried it with the BD+ movie Rio and indeed, it fixed the menus...

I disabled all Blu-Ray settings in XReveal except "Remove BD+ protection" and checked what it was doing. It changed only 2 bytes in 1 file BDMV\BDJO\65535.bdjo. I converted this file to JSON using BDTools to make it readable

It seems to switch the value of "application_control_code" for 2 entries in "ApplicationManagementTable". Since one of them is labeled "initial_class_name": "com.macrovision.bdplus.Handshake" I'm assuming it's doing some kind of redirection, pointing a bad handshake from the BD+ VM in libbdplus to the correct menu screen (and vice versa). But I have no idea how all the java stuff works unfortunately.

It's probably not possible to implement something like this in libbdplus, since those BDJO menu files are going to be handled in libbluray

Update: after looking at bdjo_dump.c in libbluray source, Xreveal seems to be changing the control_code for the BD+ handshake from "autostart" to "present". And "present" to "autostart" for the other application. Not sure exactly what this means and how it knows what to change. Maybe it's just based on those class_names in the First Playback title (=65535.bdjo)

You can also look at these BDJO files using BDEdit

Last edited by candela; 9th December 2022 at 00:23.
candela is offline   Reply With Quote
Old 11th December 2022, 12:54   #131  |  Link
richy
Registered User
 
Join Date: Jun 2003
Posts: 19
I made a load of notes about BD+ and Xreveal a while back when I was still able to use Laewo BD Player and/or BDMagic in combination with BlurayTestAndDecrypt to produce my own BD+ tables (for comparison with the "official" ones) but I can't find where they are currently.

The one thing I do remember, and I don't know if it's of any relevance, was that having "Disable BD-Live" selected in XReveal fixed the "You need to update your player" red screen message that I'd been getting with Fox titles.

I also had a load of problems with all things Java-related in VLC for a short while until I rolled back my Java install to an earlier version... but I can't find any of the notes I'd made about that either! I can't remember if the two issues were related but I think I came to the conclusion that it was something to do with libaacs and/or libbdplus being quite out of date and not compatible with more recent versions of Java. I did nab the versions that Roof Tile compiled (earlier in this thread) but don't think I've tried them yet.

Sorry if none of this is of any help whatsoever - I've been *VERY* out of the loop due to "real life" stuff recently - but it's just that I spent quite a bit of time trying to get those Fox titles working and was pleased when I did so.... it's just a pity I'm so bad at keeping track of everything on my PC! :P
richy is offline   Reply With Quote
Old 15th December 2022, 04:35   #132  |  Link
BalooDP
Registered User
 
Join Date: Sep 2022
Posts: 2
Quote:
Originally Posted by elsanto View Post
First of all thank you very much to candela and all the other people on doom9 that have made possible to watch blu-rays "featuring" BD+ using free software.




I remember that post, but it is not here anymore. I red it some time ago, and followed that instructions when I was using Debian 10, some time ago.
I recently upgrade to Debian 11 (bullseye) and had to setup all this again. This is what I did. I hope it works for you:

For libaacs, I built 0.11.1 release from Debian 12 (bookworm) source repository:

As root user:
  • I added a line like "deb-src http://deb.debian.org/debian/ bookworm main" to /etc/apt/sources.list
  • I updated the package indexes: "apt update"
  • I installed some dependencies: "apt install dpkg-dev pkg-config" . pkg-config is a dependency for libbdplus.
  • I installed dependencies for building libaacs : "apt build-dep libaacs"

As an ordinary (not-privileged) user:
  • I got sources for libaacs 0.11.1 and built the deb packages: "apt source --compile libaacs"

After that I had three deb files:
  • libaacs-dev_0.11.1-1_amd64.deb
  • libaacs0_0.11.1-1_amd64.deb
  • libaacs0-dbgsym_0.11.1-1_amd64.deb

I installed the first two running as root the following commmand:
  • apt install ./libaacs-dev_0.11.1-1_amd64.deb ./libaacs0_0.11.1-1_amd64.deb

I needed to install dev package because is necessary for libbdplus building.

For libbdplus, i tried with 0.2.0 release from Debian 12 (bookworm), that according to changelog supports cached conversion tables, but it didn't worked.
The artifacts with BD+ discs are still there.

I couldn't successfully apply the patch included in 2020-07-26_libaacs_libbdplus.7z link from the first candela's post over libbdplus 0.1.2 source. I needed to download libbdplus source as it was on 2020_07_26.
You can browse the history of the code at: https://code.videolan.org/videolan/l.../commits/0.2.0
The last commit before 2020_07_26 is e98c143cbd33c3c6b0c67690dec31c7772e133d2.
You can check that code at: https://code.videolan.org/videolan/l...c31c7772e133d2
The tarball for the libbdplus at that temporal point can be downloaded from: https://code.videolan.org/videolan/l...2e133d2.tar.gz

This is what I did to get a proper working libbdplus library:

As a normal (non privileged) user:

I got the code:
I extracted the tarball:
  • tar -xvzf libbdplus-e98c143cbd33c3c6b0c67690dec31c7772e133d2.tar.gz
I changed working directory to the just created directory:
  • cd libbdplus-e98c143cbd33c3c6b0c67690dec31c7772e133d2

Tha candela patch can be applied cleanly over this tree.

I downloaded the candela 2020-07-26_libaacs_libbdplus.7z file from first post, and extracted the candela patch: libbdplus-0001-Use-cached-conversion-tables.patch

I applied the patch. In this example the patch was in my $HOME directory (~):
  • patch -p1 -i ~/libbdplus-0001-Use-cached-conversion-tables.patch

The patch applied successfully.

Then I compiled the patched libbdplus library:
  • ./bootstrap
  • ./configure
  • make
And then, as root, I installed libbdplus library:
  • make install

This setup works for me. I hope it can be helpful to others.

Of course, I needed to put a proper KEYDB.cfg file in ~/.config/aacs and convtab files in ~/.cache/libbdplus/convtab. This is well explained over the thread.
Thanks for this write-up. What is the reason for why the libbdplus library in Ubuntu distros doesn't work? Is there a flaw? Has the Candela patch not been applied? I am very curious now. Will have to get around to trying to build my own library to install over the old one. Thanks again for the instructions.
BalooDP is offline   Reply With Quote
Old 30th December 2022, 02:22   #133  |  Link
Grimsdyke
Registered User
 
Join Date: Nov 2013
Location: Hannover, Germany
Posts: 237
While trying to find out why a certain disc is causing some issues I stumbled upon something and I would like to ask if it is (maybe) only my setup somehow.
Could you guys please check that if LAV SPLITTER is used that the 4 libaacs ddls are not necessary any longer for directshow-players ??
__________________
MPC-BE feature wishlist: 1) DiscID
2) Two independent volume control sliders in the UI when using dual-audio-out.
Grimsdyke is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 08:33.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.