Log in

View Full Version : Help decrypting AACS of Blu-ray on Linux


bmnot
18th February 2008, 20:10
Hello.

I have two Blu-ray discs, 300 and Ratatouille. My OS is Ubuntu 7.10. I managed to get the UDF 2.5 filesystem patch installed and now can successfully mount Blu-ray discs for the first time.

When I go into the folders, I don't see an .EVO file. Is that only an HD-DVD thing? The AACS decryption tutorials/docs I found need that.

Under the BDMV folder, there's a subfolder called STREAM that I think has all the movie files (44.9GB) but they're all *.m2ts files.

Did I do something wrong? I tried dumpHD but it said the keys were not found in database and I'm not sure how to add it manually.

I also tried the app from decrypthd.org, but it requires the .EVO file too so I can stream it to mplayer.

What am I doing wrong? Any advice? (Other than buying an HD-DVD drive:))

Zotty
18th February 2008, 21:34
Do you know what MKB version is on the disk? If the disk is too new (MKV v4), there are no known keys.

bmnot
18th February 2008, 21:42
Hi Zotty,

No I don't know what MKB is. How do I check that?

I bought 300 back in October 2007, so I don't know if it's too new. The Ratatouille blu-ray is a very recent purchase though.

I hope I don't get trashed for saying this, but there are pirated copies of both the blu-ray discs floating around on the internet which gives me hope that playing my own discs on Linux will be possible with a bit of effort. If I can play it directly off the disc, that would ofcourse be AWESOME!

Shinigami-Sama
18th February 2008, 22:11
Hi Zotty,

No I don't know what MKB is. How do I check that?

I bought 300 back in October 2007, so I don't know if it's too new. The Ratatouille blu-ray is a very recent purchase though.

I hope I don't get trashed for saying this, but there are pirated copies of both the blu-ray discs floating around on the internet which gives me hope that playing my own discs on Linux will be possible with a bit of effort. If I can play it directly off the disc, that would ofcourse be AWESOME!

10:1 those scene releases are from hd-dvds released in europe

and evo is an extended VOB container, and m2ts is the container of choice on blu-ray

bmnot
18th February 2008, 22:25
Actually they say it was ripped from Blu-ray. but I guess there's no way to verify that claim.:(

When I had windows, Slysoft AnyDVD HD was able to decrypt them both, so maybe there's a way in Linux too.

Zotty
18th February 2008, 22:37
Hi Zotty,

No I don't know what MKB is. How do I check that?
The quickest way would be to open the MKB_RO.inf file in a hexeditor (gehexedit or khexedit). Look at the first line of numbers:


0000:0000 10 00 00 0c 00 04 10 03 00 00 00 03 xx xx xx xx


The last number (before the x's) is the version. The above example is a version 3 disc. If it says 04, it's a version 4 discs and you're out of luck.

The long way is that I've made a dedictated tool for it, but you have to compile it from source. If you're into that, click the link in my signature and get the source from SVN.

bmnot
18th February 2008, 22:58
Okay, I used mkbviewer.

Movie 300 = Type 4, Version 3 (Any hope with this one?)
Movie Ratatouille = Type 4, Version 4

Here's the full results:
Ratatouille = http://paste.ubuntu-nl.org/56556/plain/
300 = http://paste.ubuntu-nl.org/56555/plain/

Zotty
18th February 2008, 23:44
Since you mentioned dumphd in you startpost; I'm no expert on dumphd, but doesn't dumphd automatically calculate the key (the volume key or VUK) when it's not in it's database? Check out this thread: http://forum.doom9.org/showthread.php?p=966851#post966851 . In any case for problems with dumpHD you should ask the authors in that topic for advise. You might be able to manually specify a volume ID (also see below), but I've never done this with dumpHD. Think you'll need windows to get at it...

As for libaacs/hddvdfs things you're out of luck. Things get more complex since you have v3 and v4 discs. I'll try to explain the situation.
Version 3 (and 1) discs can be decrypted, but only using drive authentication. Drive authentication is a process in which the player (dumpHD or libaacs in our case) communicates with the drive to establish a 'secret' connection to see if you're using official hardware/software. If this succeeds you'll end up with a volume ID. This ID is needed to decrypt the keys which you need to watch the movie.
One of the things that gets checked during drive authentication is a certificate. The linux tools used PowerDVD's certificate, but that certifcate has been revoked with the v4 MKB. And once the drive detects a newer MKB it will update itself to this new version, including the revoked PowerDVD certificate. This can not be undone at this time.
So the problem is that your drive has the certificate revoked, and thus cannot pass the authentication procedure. In turn it will not give the volume ID, so you can't decrypt the keys and watch no movie.

As far as I know there is no known hack for blu-ray drives at this point.

Hope this all made sense... LOL. In any case it's a pretty fucked up situation.

bmnot
19th February 2008, 00:09
Thanks for the explanation.

It's really sad that the companies use these silly encryption techniques to make it difficult for consumers to watch their legit movies. What happens in the end? Smart people will find a way around it, and people turn to downloading pirated versions instead. It looks like they're only hurting their legit customers.

I guess I'll buy an older release just so I can try decrypthd. It sounds really awesome and I think the work you did is great (Even though I couldn't get it to work for me), and that's exactly what I want in Linux, i.e., not having to copy it to my hard drive.

It's only because of Blu-ray why I have windows installed and it sucks to reboot, even though I'm buying a movie only once every three months or so.

So I'll try furthur with DumpHD. Seems all this effort to get my movies to play on Linux is futile, but I'm not giving up yet:). I'll probably buy an HD-DVD drive on my next system.

Zotty
19th February 2008, 00:19
The irony is that the music industry is already abandoning DRM (finally!), but the movie industry just stepped it up a notch on these new formats. Which probably means we'll be stuck with it for the coming years.

Shinigami-Sama
19th February 2008, 01:36
exactly
the wrapper uses the windows program

bmnot
19th February 2008, 02:22
I couldn't get the keys from the disc (I did something wrong obviously), but I found a key from the forum, so that's good enough for me, and I'm currently decrypting the disc. So is it possible to use decrypthd to stream it to mplayer using known keys?

Also, I tried playing it using mplayer 00026.m2ts but theres only audio, no video.

KenD00
20th February 2008, 21:05
So is it possible to use decrypthd to stream it to mplayer using known keys?


AFAIK decrypthd does not do BluRays atm. However, DumpHD has also streaming output ;). This feature is currently rather simple, you can either stream a single file or a complete disc, in the latter case it outputs all m2ts files in alphabetical order. To use that feature, you have to start DumpHD from a shell and specify only a source, no destination, and pipe the program output into mplayer and make it reading from stdin by using - as input file.

:rolleyes:

bmnot
21st February 2008, 07:12
Awesome! Hey can you show an example command? Say it's the file /media/Blu-ray/BDMV/STREAM/00026.m2ts that I want to crack with DumpHD and stream into mplayer, what would the command look like?

KenD00
22nd February 2008, 05:01
Assuming you execute this from the directory that contains DumpHD (i think you have to execute it from that directory or the script won't find the JAR archive and java wouldn't find the aacskeys library, i can't verify this because i still don't have a running linux right now) and that the file contains a VC-1 videostream (i've never seen a BluRay, if its old its perhaps MPEG2, if its newer maybe AVC) and that mplayer detects the audiostream by itself the cmdline should look like this:

./dumphd.sh /media/Blu-ray/BDMV/STREAM/00026.m2ts | mplayer -vc ffvc1 -

You most probably have to adjust the mplayer part to your needs, and i think you have to set the executable flag on the file dumphd.sh.

I'm quite interested how well the file plays, i remember i had performance issues on my old X2 4800+, maybe it was because of the buggy eac3 decoder that time or because DumpHD uses both cores for decrypting, i never investigated further or tried to optimize that feature.

:rolleyes:

skygod
3rd March 2008, 13:12
If you can't bear to boot windows, you can always use vmconverter and then vmplayer (both free) to make a VMmachine from your Windows box.

I have run AnyDVD this way ( on my HTPC minimac ). It works and is stable but runs very slow ( 1Mb/Sec ).