Log in

View Full Version : DumpHD - a HD-DVD / Blu-Ray Decrypter


Pages : [1] 2 3 4 5 6 7 8 9

KenD00
7th March 2007, 08:56
I was quite happy that i finally could watch my HD-DVDs on my 30" Dual-Link Display with the help of BackupHDDVD. After looking into the code i was quite unhappy that it can not decrypt everything correctly and i didn't like to see it corrupting NAV_PCKs. I checked the MODs that appeared and again was not satisfied that they don't address these things. In my eyes they looked like cosmetics for the proof-of-concept code.

So i started developing my own program, hopefully beeing more use-of-concept. It uses the same approach as BackupHDDVD and uses the same key database format. My goal is to backup a HD-DVD without any traces of AACS. Because i don't have the HD-DVD spec it will take some time to reach it, there are still some things i have to figure out.


Key features so far:

- Dual-Core supported decryption of EVO / M2TS files (for harddisk to harddisk speed records ;o))
- Support for every pack type of an EVO (including in-place decryption of ADV_PCKs, excluding Sequence Key Sections)
- Decryption of every ARF protection type
- Multiple files (currently CLI only) or complete disc mode
- Usage of a key database to get the decryption keys or direct retrieval of the keys off the source disc
- Supports HD-DVDs for Standard / Advanced Content (but not both on the same disc), Blu-Ray ROM BDMV
- Experimental Blu-Ray Recordable support (with multiple CPS Units, BDMV, BDAV with Aux Directories and Thumbnails)
- Automatic BD+ removal using the BDVM Debugger or manually by supplying a correct Conversion Table (currently CLI only)
- Streaming output of EVO / M2TS files to stdout
- Very much console output for free ;o)
- GUI


Since version 0.4 DumpHD can retrieve the required keys off the disc itself by using the aacskeys library.
Since version 0.6 DumpHD can remove BD+ automatically by using BDVM Debugger.


A tutorial on how to use DumpHD if automatic key retrieval does not work can be found here (http://forum.doom9.org/showthread.php?p=1215619#post1215619) and here (http://forum.doom9.org/showthread.php?p=1215632#post1215632), for manual BD+ removal here (http://forum.doom9.org/showthread.php?p=1218522#post1218522).


I will keep updating this post to point the download links to the current version. The tar.gz and the zip have the same content.


Current version: 0.61
Release date: 2009-06-03

Download links:
DumpHD 0.61 (zip) (http://rapidshare.com/files/240557540/dumphd-0.61.zip)
DumpHD 0.61 (tar.gz) (http://rapidshare.com/files/240557737/dumphd-0.61.tar.gz)


Support utilities
---------------
aacskeys 0.4.0c (2009-08-30) (Homepage (http://forum.doom9.org/showthread.php?t=123311)):
aacskeys 0.4.0c (zip) (http://rapidshare.com/files/273471735/aacskeys-0.4.0c.zip)
aacskeys 0.4.0c (tar.gz) (http://rapidshare.com/files/273476005/aacskeys-0.4.0c.tar.gz)

BDVM Debugger 0.1.5 (2008-12-15) (Homepage) (http://forum.doom9.org/showthread.php?t=140571)
BDVM Debugger 0.1.5 (http://uploaded.to/?id=xcco6l)

DumpVID 0.4a (2009-07-15):
DumpVID 0.4a (http://rapidshare.com/files/255996641/dumpvid-0.4a.zip)

DumpBN 0.31 (from BackupBDAV 0.50):
DumpBN 0.31 (RapidShare) (http://rapidshare.com/files/147507385/dumpbn-0.31.zip.html)
DumpBN 0.31 (SendSpace) (http://www.sendspace.com/file/9kznpr)

ConvTableView 0.3 (2009-01-13):
ConvTableView 0.3 (zip) (http://rapidshare.com/files/182957057/convtableview-0.3.zip)
ConvTableView 0.3 (tar.gz) (http://rapidshare.com/files/182957484/convtableview-0.3.tar.gz)

:rolleyes:

jokin
7th March 2007, 09:08
Because i don't have the HD-DVD spec it will take some time to reach it, there are still some things i have to figure out.

Specs (http://www.aacsla.com/specifications/)

KenD00
7th March 2007, 09:22
These are the AACS-Specs, not the HD-DVD-Specs. You have to buy the HD specs from the dvdforum for big $$$.

:rolleyes:

xyz987
7th March 2007, 13:59
It would be a great thing you release the source code.

Anyway

:thanks:

Henkske
7th March 2007, 16:48
Thanxx man

sidekick2
8th March 2007, 17:11
KenD00, you suggest:

"This programm is written entirely in Java and requires the JRE 1.5 or later. It should run on every platform that
supports Java. It is HIGHLY recommended to use the Server VM, the Client VM suffers a SEVERE performance drop, almost by
factor 1.8."

I need a little hand holding here. Where / how do you use the Server VM? I don't see any different downloads at java.com??? I just have the standard jre1.5 installed. Same thing?

Thanks!

KenD00
8th March 2007, 18:14
The Server VM should be part of the JRE. Just start one of the cmd files, if they don't run, then you don't have it and should install the JDK. However, at least in the JDK 1.5.0_07 there seems to be a bug in the installer. It installs 2 JREs, one in the JDK directory and one under C:\Program Files\Java (or however it is called in your language). By default the JRE from the second location is used, and there the Server VM is missing. You need to copy the directory <jdk-directory>\jre\bin\server to it. If you then type java -server -version in the console, it should say something like Java HotSpot(TM) Server VM.

:rolleyes:

noclip
8th March 2007, 19:34
Thank you, great job. Just a suggestion, if you released the source code someone could make a C/C++ port so that we wouldn't need Java.

Bhima
8th March 2007, 20:15
OK When I use that bit about Java server version in my terminal I get this:
Welcome to Darwin!
Bhima-Pandavas-power-mac-g5:~ Bhima$ java -server -version
java version "1.5.0_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-164)
Java HotSpot(TM) Client VM (build 1.5.0_07-87, mixed mode)
Bhima-Pandavas-power-mac-g5:~ Bhima$

It doesn't say a word about the server VM version.

HyperHacker
9th March 2007, 06:18
Will we see source code or Blu-ray support? I'd like to comment on how well it works (or doesn't), but I don't have an HD-DVD drive. :(

PM me though if you need a host for anti-DRM tools like this. :)

awhitehead
9th March 2007, 06:36
OK When I use that bit about Java server version in my terminal I get this:

Java HotSpot(TM) Client VM (build 1.5.0_07-87, mixed mode)
Bhima-Pandavas-power-mac-g5:~ Bhima$

It doesn't say a word about the server VM version.

You have client VM, not server VM.
I am not certain if Apple offers a server vm in the client version of Mac OS X.

I notice that you are running Mac OS, so I am very curious:

What version of Mac OS X are you running? 10.4 can't access UDF 2.5 formatted disks, so are you running a beta of Leopard, or are you accessing the drive on a Windows machine over the network?

Is there Mac OS X playback software that can handle HD-DVDs or at least .EVO files? Or are you recompiling ffmpeg to demux EVOs and decode vc-1 streams?

awhitehead
9th March 2007, 06:54
KenD00, could you release the source code?
You currently have something akin to

out.print("Identifying disc... ");
File discIdFile = new File(aacsDir, "VTKF000.AACS");
if(!discIdFile.isFile())
break

in dumphd/aacs/AACSDecrypter.java

There are now disks that use standard content authoring and instead have VTKF.AACS (as opposed to advanced content authoring that indeed uses VTKF000.AACS). I'd be interested in getting DumpHD to work with these disks.

woah!
9th March 2007, 08:39
gave it a run and it got an error :

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 64
at dumphd.aacs.AACSDecrypter.decryptEvob(AACSDecrypter.java:545)
at dumphd.core.DumpHD.dump(DumpHD.java:271)
at dumphd.core.DumpHD.main(DumpHD.java:439)

it was working ok upto this point...

greath
9th March 2007, 10:26
PM me though if you need a host for anti-DRM tools like this. :)

Maybe anti-DRM should be changed to pro-choice.....:) Anyway, I don't think that it does break DRM so long as no keys are included with the package.

foxcz
9th March 2007, 14:22
If anyone want source codes, try this:
1) unpack dumphd_0.2.zip
2) copy(or rename) file DumpHD.jar into DumpHD.zip
3) unpack DumpHD.zip - you will get some directories with bunch of *.class files
4) get sources(*.java) with some java decompiler(ie. jad)

regards foxcz

Bhima
9th March 2007, 14:55
I notice that you are running Mac OS, so I am very curious:

What version of Mac OS X are you running? 10.4 can't access UDF 2.5 formatted disks, so are you running a beta of Leopard, or are you accessing the drive on a Windows machine over the network?

Is there Mac OS X playback software that can handle HD-DVDs or at least .EVO files? Or are you recompiling ffmpeg to demux EVOs and decode vc-1 streams?
Well I posted this just minutes after my Xbox360 HD-DVD player had arrived (and a full 24 hours before my first HD-DVD had) and I had misunderstood the earlier post stating that the *next* version of Mac OS X would handle the UDF file system. This is unfortunate as my windows box is quite old and is the only box without GigE.

So we now know you are not nearly as curious as I am as to how all of this will be working out!

KenD00
9th March 2007, 15:54
@Bhima
Then you are not using the Server VM. Interesting that Java didn't throw an error like the VM is not present. So it may be, like awhitehead suggests, that the MAC Java version does not have the Server VM or your installation is just screwed, maybe reinstallation of java will help. But you can also use the Client VM, it's fast enough to dump directly from the HD-DVD, you will see the performance boost only when decrypting from harddisk to harddisk.

@HyperHacker
After reading the news on this site last night i thought damn, we are really lacking BluRay support. So finally i flew over the BluRay AACS-Spec and thought, is it really so easy? Effort for decrypting BluRay seems to be quite lower than for HD-DVD. But there are still two problems:
1.) I don't know MPEG2 Transport Streams and i don't have the spec. I don't want copy blindly the BackupBluRay code, i think its a better approach to understand whats done there

2.) I don't have a BluRay drive and therefor no testing material...

@awhitehead
The complete disc and recognition and Title Key File processing needs to be overworked, especially to support discs which contain both content types. I hacked in recognition for Standard Content, should work, try the new version.

@woah!
Fixed that (i hope *g*), try the new version

@everyone requesting source code
I won't release the source now because of one reason. I saw what happened to BackupHDDVD, quickly various MODs emerged, some providing functions that others don't, if you want something specific you have to use this version, if you want something else you have to use that version. BackupHDDVD was a proof of concept, it showed that it is possible to decrypt, it was good that the source was there so others could learn, but the author let the program die. I am still developing my program, i want to ensure that there is ONE version to use. If you have questions, i will share my knowledge, but not the source. When some day i decide the program is finished, or i'm not in the mood to push it any further, then i think i will release the source.

And for those who haven't got it, there is a new version out ;).

:rolleyes:

natronicus
9th March 2007, 17:45
I won't release the source now because of one reason. I saw what happened to BackupHDDVD, quickly various MODs emerged, some providing functions that others don't, if you want something specific you have to use this version, if you want something else you have to use that version.

Could this not be fixed with some sort of version control program? CVS, SVN, etc?

I know sourceforge is out, but anyone with web space can throw up an SVN or CVS repository. Come to think of it, I'm surprised doom9 hasn't done this yet, considering how much software they already serve and how much development occurs in this forum.

I agree with your sentiments though, it needs to become much more structured. One way to do that is to keep the code to yourself and maintain individual control. The open source way would be to release your code into some sort of structured dev environment. If set up right, you could retain the ability to accept/reject code changes that others checked in.

HyperHacker
10th March 2007, 05:57
Maybe anti-DRM should be changed to pro-choice.....:) Anyway, I don't think that it does break DRM so long as no keys are included with the package.
It's simply a tool; a hammer doesn't do much if no nails are included either. Also, I'd like to avoid people thinking it has to do with abortion. ;)

woah!
11th March 2007, 02:28
working great now THX :)

unixfs
11th March 2007, 10:47
@everyone requesting source code
I won't release the source now because of one reason. I saw what happened to BackupHDDVD, quickly various MODs emerged, some providing functions that others don't, if you want something specific you have to use this version, if you want something else you have to use that version. BackupHDDVD was a proof of concept, it showed that it is possible to decrypt, it was good that the source was there so others could learn, but the author let the program die. I am still developing my program, i want to ensure that there is ONE version to use. If you have questions, i will share my knowledge, but not the source. When some day i decide the program is finished, or i'm not in the mood to push it any further, then i think i will release the source.

And for those who haven't got it, there is a new version out ;).

:rolleyes:

why is it so important if people release MODs?
Why does a name really matter so much to you?
If you are so worried about MODs add a clause to your license file stating that they can't call their mods with the official name of the software.

KoD
11th March 2007, 11:14
I don't understand... what is the problem with you people if the writer of the software will not release its source code ? Don't you have anything else better to do than complain ?

If you have time to complain and bitch about it, then read the specs, write your own application and publish its source code. End of story.

unixfs
11th March 2007, 11:38
releasing source code gives both to the user and to the author the chance to improves the quality of software.
And yes, I have better things to do than replying to posts like yours: actually coding software that I always release as GPL exactly because I often receive improvements by other developers.

blutach
11th March 2007, 13:26
Any hope of stopping the petty bickering and getting back on topic please?

What KenD00 does with his software is his business. As far as the source code, it has been asked and answered. End of story. Stop whinging please.

Bickerers, read this (http://forum.doom9.org/showthread.php?t=121780) carefully.

End of off-topic malarky.

Regards

spotter
11th March 2007, 15:26
@Bhima
@everyone requesting source code
I won't release the source now because of one reason. I saw what happened to BackupHDDVD, quickly various MODs emerged, some providing functions that others don't, if you want something specific you have to use this version, if you want something else you have to use that version. BackupHDDVD was a proof of concept, it showed that it is possible to decrypt, it was good that the source was there so others could learn, but the author let the program die. I am still developing my program, i want to ensure that there is ONE version to use. If you have questions, i will share my knowledge, but not the source. When some day i decide the program is finished, or i'm not in the mood to push it any further, then i think i will release the source.

I preface this by saying "It's your code, you can do with it what you want, what I write is just some food for thought."

The one note I'd make about putting out source code is not so much that it gives users freedom, but if something happens to you and there is no source code, the program essentially dies. See DVDDecrypter, it's not a dead program, but people have to jump through hoops to use it in some situations. If the author had originally released the source code, even with him taken out of the picture, people would still be able to update it.

Doom9
11th March 2007, 18:14
@spotter: didn't blutach just ask everybody to let it be? Which part of the message didn't you get?. I'm all for making source code available and I have been around for long enough to see many examples where a program died, but it doesn't change the fact that it's up to the author and no means no. And just to make sure you get the message this time: the next one to try and reopen the topic will be striked - no exceptions.

daveidmx
11th March 2007, 18:26
Hey KenD00,

Just wanted to put it out there: I gave your program a shot and I think it may have solved one of the problems I'd been having. Will post more info after I've had the chance to play, but just wanted to say thanks!

D

Ishan
11th March 2007, 20:30
I just ripped V For Vendetta with this and it works like a chram. I had to get rid of the -server option thow, it seems I don't have it.

Ishan
19th March 2007, 19:54
Any news from this?

awhitehead
19th March 2007, 21:59
If you have a proper entry in keydb.cfg, it just works, both with standard and advanced content authoring authored HD-DVDs. What news are you looking for?

blutach
20th March 2007, 00:45
Ishan,

Please do not bump your posts.

Regards

Ishan
20th March 2007, 09:11
I was just asking for news, if that's considered a bump I'm sorry but moderation here seems a bit over the top. I guess I'll use private massages now...

Doom9
20th March 2007, 09:48
just think if all of the more than 100'000 users would be doing the same thing.. the forum would become useless. This isn't over the top, it's stopping a problem before it brings the forum to a standstill. If you prefer an anything goes forum I'm sure there are plenty out there but I rather have this one - it has proven to work time and again and part of the reason is that the we're being very strict about keeping the signal to noise ratio high so that knowledgeable people who don't have time to waste still keep coming back.

Pelican9
20th March 2007, 14:14
OFF:
Why don't you simple delete the unwanted posts?
The conversation about these posts is not neccessary here too.
And my post too. :-)

vudoodoodoo
24th March 2007, 23:02
Hmm.. it doesn't seem to work for me. It finished movie skips like every second. I tried it w/ Babel and Fastest India. :(

bourke
25th March 2007, 01:28
Is your PC fast enough? Check your CPU usage; if it rises above 90% then your PC is too slow. 3Ghz with 1Gb RAM is about the absolute minimum requirements.

vudoodoodoo
25th March 2007, 05:38
I have a E6600 running at 2.8ghz and 2GB of DDR800.
Both cores were only running around 10% while ripping. I think I have enough juice. ;)

HyperHacker
26th March 2007, 00:19
Hey, you should call it HDump! :p

KenD00
26th March 2007, 14:43
You may be affected by the Nav-Chain bug, are you using PowerDVD 6.5? There was also a report that PowerDVD Ultra 7.3 has this bug in File Mode.

:rolleyes:

vudoodoodoo
27th March 2007, 00:23
I see...

KenD00
1st April 2007, 18:24
After a long time of hard work here it is, a new version of DumpHD.

I have rewritten the complete disc detection and AACS processing routines, hopefully i haven't introduced too many bugs ;). Despite that, i have integrated two new features, a GUI and BluRay support. Because i don't own a BD drive i couldn't test the BD part so feedback about that would be appreciated.

For the BluRay part, there are three important changes from BackupBluRay:


The keys for the BluRay movies are stored in the same file as for the HD-DVD movies, KEYDB.cfg
The key entry format has slightly changed, it is now consistent with the HD-DVD key format. There is now a key type field and the CPS Unit Keys are numbered like the Title Keys. All up today released CPS Unit Keys have the number 1.
The SHA-1 hash of a different file is used as Disc Identifier
This is the most important change, the new Disc Identifier is the SHA-1 hash of the file AACS\Unit_Key_RO.inf. This change was necessary because the Disc Identifier chosen by BackupBluRay is not unique per disc, there were already duplicate IDs for different discs.


Therefor it is required to convert the released CPS Unit Key entrys to the new format to use them with DumpHD.

Example
--------
Old entry:
1234567890123456789012345678901234567890=This is my movie |00/00/00|09876543210987654321098765432109

must be converted to

New entry:
<SHA-1 hash of AACS\Unit_Key_RO.inf>=This is my movie |U|00/00/00|1-09876543210987654321098765432109

For a complete description of the Key Entry syntax read the included KEYDB.cfg file.

DumpHD also supports Volume Unique Keys for BluRay discs but currently not multiple CPS Unit Keys per disc. To further improve BluRay support, because i don't own a BD drive, i do need some "supplies". Anyone with a BD drive and a BD movie (and its VUK) who wants to help out, feel free to PM me.

:rolleyes:

dirio49
1st April 2007, 18:27
Thanks for the New version :):thanks: :thanks: :thanks:

mrazzido
1st April 2007, 18:29
woww very good for bluray support tommororw new disc arrive i test it immediately

arnezami
1st April 2007, 18:37
This looks really good. Great work! :)

Eeknay
4th April 2007, 02:43
Just tried Pearl Harbour, and it doesn't actually decrypt the files. BackupBluRay works fine though with the same CPS Unit Key (and yes, I did a new hash and added the "1-" for DumpHD).

If I try the VUK option, I get

Processing disc AACS data...
Volume Unique Key present, decrypting Title Keys / CPS Unit Keys...
Searching Title Key / CPS Unit Key Files...
Decrypting K:\AACS\Unit_Key_RO.inf...

Then it just sits there doing nothing, no data being copied to hard drive.

EDIT: Just looked at the cmd window and noticied this;

http://img443.imageshack.us/img443/6861/cmdri9.jpg

vudoodoodoo
4th April 2007, 04:13
Nice. Thanks.

KenD00
4th April 2007, 22:09
Thanks for the testing. Found the VUK bug but not the decryption bug. When using the Unit Key, what is written in the log behind the "Processing: BDMV\STREAM\?????.m2ts" lines (the line(s) should start with 0x0000000000)?

:rolleyes:

Eeknay
4th April 2007, 22:29
Processing: BDMV\STREAM\00000.m2ts
0x0000000000 Decryption enabled

Hope that helps.

KenD00
5th April 2007, 01:51
Hmm, this is weird, decryption is enabled and nothing looks wrong in the decryption code. Are you sure your key hasn't a typo? I have uploaded the fixed version, VUKs should work now. Can you give it a try with a VUK and tell me the results?

:rolleyes:

Eeknay
5th April 2007, 02:21
VUK processes the same as Unit Key now, but doesn't seem to decrypt either... just something I forgot to mention, I'm not actually leaving these to fully run, just testing up to 500MB or 1GB at a time (for example), then stop to try playing the file in MPC with Haali Splitter (this works fine with BackupBluRay for example, no matter how much or little you decrypted... useful just to test if the key is right before running the whole thing) - I guess I'll leave a whole disc running then test (try another disc too).

EDIT: Ok, I just tried the Usual Suspects which I know positively is the right CPS Key since I did a full backup with BackupBluRay yesterday. There are also two m2ts files before the main movie file. I quit DumpHD while it was still chewing on on the main file (00002.m2ts), tried 00000 and 00001 (which are relatively small, so finished quickly of course) and those don't work either...

Son of EDIT: Tried Usual Suspects VUK... same thing. The funny thing is, you can see in the log that it arrives at the same Unit Key as aacskeys spits out (and what I put in keydb but with a 1-), just not decrypting for some reason :<