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 7th March 2007, 08:56   #1  |  Link
KenD00
Registered User
 
Join Date: Jan 2007
Location: Internet
Posts: 378
DumpHD - a HD-DVD / Blu-Ray Decrypter

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 and here, for manual BD+ removal here.


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)
DumpHD 0.61 (tar.gz)


Support utilities
---------------
aacskeys 0.4.0c (2009-08-30) (Homepage):
aacskeys 0.4.0c (zip)
aacskeys 0.4.0c (tar.gz)

BDVM Debugger 0.1.5 (2008-12-15) (Homepage)
BDVM Debugger 0.1.5

DumpVID 0.4a (2009-07-15):
DumpVID 0.4a

DumpBN 0.31 (from BackupBDAV 0.50):
DumpBN 0.31 (RapidShare)
DumpBN 0.31 (SendSpace)

ConvTableView 0.3 (2009-01-13):
ConvTableView 0.3 (zip)
ConvTableView 0.3 (tar.gz)


Last edited by KenD00; 30th August 2009 at 17:23. Reason: Links to aacskeys updated
KenD00 is offline   Reply With Quote
Old 7th March 2007, 09:08   #2  |  Link
jokin
Dwight Schrute's homeboy
 
Join Date: Jan 2007
Location: The Office
Posts: 136
Quote:
Originally Posted by KenD00 View Post
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
jokin is offline   Reply With Quote
Old 7th March 2007, 09:22   #3  |  Link
KenD00
Registered User
 
Join Date: Jan 2007
Location: Internet
Posts: 378
These are the AACS-Specs, not the HD-DVD-Specs. You have to buy the HD specs from the dvdforum for big $$$.

KenD00 is offline   Reply With Quote
Old 7th March 2007, 13:59   #4  |  Link
xyz987
Registered User
 
Join Date: Dec 2006
Posts: 142
It would be a great thing you release the source code.

Anyway

xyz987 is offline   Reply With Quote
Old 7th March 2007, 16:48   #5  |  Link
Henkske
Registered User
 
Join Date: Jan 2006
Posts: 11
Thanxx man
Henkske is offline   Reply With Quote
Old 8th March 2007, 17:11   #6  |  Link
sidekick2
Registered User
 
Join Date: Jan 2007
Posts: 17
KenD00, you suggest:

Quote:
"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!
sidekick2 is offline   Reply With Quote
Old 8th March 2007, 18:14   #7  |  Link
KenD00
Registered User
 
Join Date: Jan 2007
Location: Internet
Posts: 378
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
Code:
java -server -version
in the console, it should say something like Java HotSpot(TM) Server VM.

KenD00 is offline   Reply With Quote
Old 8th March 2007, 19:34   #8  |  Link
noclip
Registered User
 
Join Date: Dec 2006
Posts: 154
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.
noclip is offline   Reply With Quote
Old 8th March 2007, 20:15   #9  |  Link
Bhima
Registered User
 
Join Date: Feb 2007
Posts: 9
Apple

OK When I use that bit about Java server version in my terminal I get this:
Code:
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.
Bhima is offline   Reply With Quote
Old 9th March 2007, 06:18   #10  |  Link
HyperHacker
Resident DRM Hater
 
HyperHacker's Avatar
 
Join Date: Oct 2006
Location: International waters
Posts: 242
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.
__________________
Because Moogles pwn.
HyperHacker is offline   Reply With Quote
Old 9th March 2007, 06:36   #11  |  Link
awhitehead
Registered User
 
Join Date: Jan 2007
Location: Tel-Aviv, Israel
Posts: 185
Quote:
Originally Posted by Bhima View Post
OK When I use that bit about Java server version in my terminal I get this:
Code:
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 is offline   Reply With Quote
Old 9th March 2007, 06:54   #12  |  Link
awhitehead
Registered User
 
Join Date: Jan 2007
Location: Tel-Aviv, Israel
Posts: 185
KenD00, could you release the source code?
You currently have something akin to
Code:
       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.
awhitehead is offline   Reply With Quote
Old 9th March 2007, 08:39   #13  |  Link
woah!
Registered User
 
Join Date: Oct 2003
Posts: 435
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...
woah! is offline   Reply With Quote
Old 9th March 2007, 10:26   #14  |  Link
greath
Registered User
 
Join Date: Aug 2004
Posts: 65
Quote:
Originally Posted by HyperHacker View Post
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.
greath is offline   Reply With Quote
Old 9th March 2007, 14:22   #15  |  Link
foxcz
Registered User
 
Join Date: Mar 2006
Posts: 1
Source codes

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
foxcz is offline   Reply With Quote
Old 9th March 2007, 14:55   #16  |  Link
Bhima
Registered User
 
Join Date: Feb 2007
Posts: 9
Quote:
Originally Posted by awhitehead View Post
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!
Bhima is offline   Reply With Quote
Old 9th March 2007, 15:54   #17  |  Link
KenD00
Registered User
 
Join Date: Jan 2007
Location: Internet
Posts: 378
@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 .

KenD00 is offline   Reply With Quote
Old 9th March 2007, 17:45   #18  |  Link
natronicus
Registered User
 
Join Date: Feb 2007
Posts: 15
Quote:
Originally Posted by KenD00
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.
natronicus is offline   Reply With Quote
Old 10th March 2007, 05:57   #19  |  Link
HyperHacker
Resident DRM Hater
 
HyperHacker's Avatar
 
Join Date: Oct 2006
Location: International waters
Posts: 242
Quote:
Originally Posted by greath View Post
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.
__________________
Because Moogles pwn.
HyperHacker is offline   Reply With Quote
Old 11th March 2007, 02:28   #20  |  Link
woah!
Registered User
 
Join Date: Oct 2003
Posts: 435
working great now THX
woah! 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 20:49.


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