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 23rd January 2009, 00:57   #401  |  Link
KenD00
Registered User
 
Join Date: Jan 2007
Location: Internet
Posts: 378
aacskeys 0.4.0

A bit later than announced, but here it comes, a new aacskeys release. It has a great new feature, its running under Mac OS X now.

First a big thank you to yukiyuki for sending me his initial Mac OS X patch, without his work i probably would never have taken the time to port aacskeys to Mac OS X.

Due to the nature how Mac OS X handles low level I/O operations there are some remarks and open issues. aacskeys can use 2.5 paths to communicate with the drive. First it can use exclusive access to send commands to the drive, this has some drawbacks however so this needs to be enabled explicit by using the command line switch --exclusive-io. You can't get exclusive access easily because Finder will grab the drive when a disc gets inserted, to overcome this problem aacskeys unmounts the disc, this requires root rights currently. This has the side effect that as soon as aacskeys releases the drive Finder grabs it again and autorun gets started. This access path provides the same features as aacskeys has under windows and linux, the only benefit of using it is that only this path allows the usage of the XBox hack, there are no other advantages currently.

The non-exclusive path does not have these problems and is used by default. The 0.5 path results from a technical problem. I have tested aacskeys with two drives, a XBox drive and a LG-GGW-H20L. To get exclusive access and to query the drives firmware version and AACS features aacskeys needs to create a driver plugin (CFPlugIn) to communicate with the drive. For some unknown reason it cannot create one for the XBox drive, but everything else works so aacskeys emulates the commands and returns fake data. You can see if this path is used if the reported firmware version is F0BA and the AACS version is 0. I don't know if this happens only because my Mac is virtual, if anyone knows how to solve this problem im open for suggestions.

The archive contains quad universal binaries for Mac OS X, however only the two intel flavors were tested, i don't have access to a non-intel Mac. They should work but i would appreciate it if someone could test them on a non-intel Mac.

Along some smaller bugfixes there are two other new features. On linux full path resolval is implemented, aacskeys now accepts paths with ./, ../, multiple symlinks and relative paths as mountpath. And there is the new command line switch --dump-vid, when this is specified only the Volume ID / Binding Nonce gets retrieved. Useful if aacskeys can't decrypt the MKB but can retrieve the Volume ID / Binding Nonce to display it.


The archive contains precompiled binaries / libraries for Windows, Linux (32 bit and 64 bit), Mac OS X (quad universal) and the source code, the zip and tar.gz have the same content.

Download links:
aacskeys 0.4.0 (zip)
aacskeys 0.4.0 (tar.gz)

KenD00 is offline   Reply With Quote
Old 24th January 2009, 21:02   #402  |  Link
usr139
Registered User
 
Join Date: Jan 2008
Posts: 5
new to dumpHD -- Help

Hi
I am a new user of dumpHD tool.
After a bit of struggle I managed to do my first attempt to dump
a BD disc (die another day).
I get the following error


I have attached the txt file here.
Please help. What am I missing.
I created a file called HostCertificateKey.txt in the dir where I run the dumHD.jar command. In that file, I cut and pasted the Host key valu that I got by running aacskeys.exe command.
THanks for your help.
Attached Files
File Type: txt error.txt (1.5 KB, 695 views)
usr139 is offline   Reply With Quote
Old 24th January 2009, 21:30   #403  |  Link
Doom9
clueless n00b
 
Join Date: Oct 2001
Location: somewhere over the rainbow
Posts: 10,579
looks to me like somebody didn't read the guides.. without a drive + firmware that supports aacs bypass you need to go down the dumpvid route to get the volume id.
__________________
For the web's most comprehensive collection of DVD backup guides go to www.doom9.org
Doom9 is offline   Reply With Quote
Old 25th January 2009, 21:55   #404  |  Link
KenD00
Registered User
 
Join Date: Jan 2007
Location: Internet
Posts: 378
@usr139
There is no need (and its no appreciated) to send me your post you made one day ago as PM. And if you don't understand what Doom9 has written, why do you ask me but not him?

Besides obviously not having read the tutorials linked from the first page of the DumpHD thread you have damaged your aacskeys installation, nowhere was written you should create the HostKeyCertificate.txt file, it is already present in the release! To enable direct key retrieval in DumpHD all you need to do is to copy the files HostKeyCertificate.txt, ProcessingDeviceKeysSimple.txt and the library appropriate to your OS, in your case Windows so aacskeys.dll, into the DumpHD folder.

But as Doom9 already pointed out, the used Certificate has been revoked so aacskeys won't work without additional help. You are in the lucky situation that there is a patched firmware for your drive (can be found in this forum), flash your drive with that one and you are ready to go as long as your discs are < MKBv9.

KenD00 is offline   Reply With Quote
Old 27th January 2009, 20:33   #405  |  Link
usr139
Registered User
 
Join Date: Jan 2008
Posts: 5
Sorry for the PM.
Thanks for explaining.
I will try again based on your suggestions.
thanks.
usr139 is offline   Reply With Quote
Old 5th February 2009, 23:53   #406  |  Link
usr139
Registered User
 
Join Date: Jan 2008
Posts: 5
Quote:
Originally Posted by usr139 View Post
Sorry for the PM.
Thanks for explaining.
I will try again based on your suggestions.
thanks.
KenD00 & Doom9:
Thanks for the tutorial(s).
I got it to work!!!
usr139 is offline   Reply With Quote
Old 6th February 2009, 03:00   #407  |  Link
odin24
Registered User
 
odin24's Avatar
 
Join Date: Mar 2008
Location: The Great North (the better half of North America)
Posts: 301
I'm trying to back a disc with MKBv12, is this possible yet... it's been a while since I've used aacskeys. My drive is patched.

Code:
aacskeys -v f:
EDIT: Nevermind... I read a bit back... nothing beyond MKBv9.

Last edited by odin24; 6th February 2009 at 03:36.
odin24 is offline   Reply With Quote
Old 24th February 2009, 19:31   #408  |  Link
evdberg
Registered User
 
Join Date: Dec 2006
Posts: 202
I am looking for MKB files of v9 and higher. Can anybody provide these? Thanks in advance!
evdberg is offline   Reply With Quote
Old 24th February 2009, 19:42   #409  |  Link
kkloster21
Registered User
 
Join Date: Jun 2008
Posts: 117
@evdberg:

what files are you looking for? I have plenty of discs that are MKBv9 or above.
kkloster21 is offline   Reply With Quote
Old 24th February 2009, 20:03   #410  |  Link
evdberg
Registered User
 
Join Date: Dec 2006
Posts: 202
The MKB_RO.inf file.
evdberg is offline   Reply With Quote
Old 25th February 2009, 01:56   #411  |  Link
setarip_old
Registered User
 
setarip_old's Avatar
 
Join Date: Aug 2005
Posts: 16,267
@Odin24

Hi!
Quote:
I'm trying to back a disc with MKBv12, is this possible yet...
(Presently FREEWARE) "MakeMKV" is claimed to be able to rip/decrypt (and convert to MKV) BluRay discs with MKBv12.

Perhaps you can try it and report back?

What is the title?
setarip_old is offline   Reply With Quote
Old 25th February 2009, 07:02   #412  |  Link
kkloster21
Registered User
 
Join Date: Jun 2008
Posts: 117
I have about 10 of them for you evdberg. check PM.
kkloster21 is offline   Reply With Quote
Old 1st March 2009, 03:46   #413  |  Link
Rupan
Registered User
 
Join Date: Nov 2008
Posts: 62
requiring keys in $PWD is not good

Kend00, please review the attached patch. It adds the ability to place aacs key material in a global location. It will also search for the keys in $PWD, but this patch is really needed for widespread adoption.

It might be a good idea to wrap some Windows detection code in somehow, too, and define GLOBAL_KEY_LOC to e.g. C:\bluray\aacs.

**EDIT**

Another WTF! moment... it appears that the JNI implementation in aacskeys actually calls main() -- in the shared library. Hmmmm.
Attached Files
File Type: txt aacskeys_global.diff.txt (2.0 KB, 737 views)

Last edited by Rupan; 1st March 2009 at 09:19.
Rupan is offline   Reply With Quote
Old 3rd March 2009, 01:42   #414  |  Link
KenD00
Registered User
 
Join Date: Jan 2007
Location: Internet
Posts: 378
Quote:
Originally Posted by Rupan View Post
Another WTF! moment... it appears that the JNI implementation in aacskeys actually calls main() -- in the shared library. Hmmmm.
Yes, the library actually calls main, it starts aacskeys as you would yourself by running the executable, it only enables some additional code that actually populates the object that the java code receives.

When i coded this aacskeys was still developed by arnezami, i needed a way to use his code without "disturbing" his work so that he doesn't need to take care of my needs. Because aacskeys was (and is) a noninteractive command line application with all its functionality basically put into the main method this was the best way. During the time i realized that using aacskeys as library requires a structural redesign to better fit the purpose but i still haven't found the time to do it (and i'm not sure how to do it exactly).

The dependency of the two text files is another problem, especially for the library. I still don't know how to properly realize that in a way that works well for all 3 supported OS. Thanks for your input, but i think hardcoding the paths into the binaries is a not so good solution. While this may work for the *nix variants this is not so nice for the windows version. I'm open for suggestions .

KenD00 is offline   Reply With Quote
Old 5th March 2009, 03:30   #415  |  Link
Rupan
Registered User
 
Join Date: Nov 2008
Posts: 62
I think hardcoding is in fact the way to go. This can be done on Windows too, at build time. Set a define to a supported path based on the compiler environment in some global header. This also offers the advantage of a configuration file at some point in the future to fine-tune how libaacs works at runtime.

In addition, this does not remove the ability for the user to have the key file in the corrent directory. It simply adds an additional path to search rather than breaking the old behavior. These two reasons are enough to add in support. The patch I uploaded is a good start but does not implement Windows compatibility. This would, however, be trivial to add.

As far as a structural redesign for main(), on a high level it is simple:
*wrap main() in an ifdef and exclude it when the code should be linked as a shared library (detection can be trivially implemented in the build system)
*only parse command-line arguments in main(), and move the rest of the code into startup_aacs()

If there is simply too much data that must be transmitted from main to aacs_startup, define a structure to hold it all and pass that in.

My next bit of work is to reimplement trap_Sha in libbluray so that it (1) uses Gladman's SHA code and (2) handles interleaved calls. After I complete that I'll have another crack at this patch.

Last edited by Rupan; 5th March 2009 at 03:37.
Rupan is offline   Reply With Quote
Old 7th March 2009, 10:07   #416  |  Link
blutach
Country Member
 
blutach's Avatar
 
Join Date: Sep 2004
Location: is everything!
Posts: 6,499
@drfix - please stop cross posting this request. Read rule 8.

Regards
__________________
Les

Only use genuine Verbatim or Taiyo Yuden media.
blutach is offline   Reply With Quote
Old 7th April 2009, 17:55   #417  |  Link
kyoshiro378
vero
 
Join Date: Mar 2009
Location: beijing
Posts: 19
Hi
I am a new user of dump vid and aackeys
anybody can me how to use this tool.
kyoshiro378 is offline   Reply With Quote
Old 13th April 2009, 15:27   #418  |  Link
KenD00
Registered User
 
Join Date: Jan 2007
Location: Internet
Posts: 378
aacskeys 0.4.0a

This is a repack of aacskeys 0.4.0 which now contains the latest Processing Keys (MKBv9 and MKBv10), nothing else has been changed. If you have already aacskeys 0.4.0 and the MKBv9 and MKBv10 Processing Keys there is no need to download this release.

The archive contains precompiled binaries / libraries for Windows, Linux (32 bit and 64 bit), Mac OS X (quad universal) and the source code, the zip and tar.gz have the same content.

Download links:
aacskeys 0.4.0a (zip)
aacskeys 0.4.0a (tar.gz)

KenD00 is offline   Reply With Quote
Old 14th April 2009, 00:51   #419  |  Link
Rupan
Registered User
 
Join Date: Nov 2008
Posts: 62
aacskeys global config location

Kend00:

This is an updated version of the aacskeys global configuration patch that handles both Windows and Linux. HostKeyCertificate.txt and ProcessingDeviceKeysSimple.txt are searched for in the following order:

If your platform is Windows, look in C:\bluray\aacs
If your platform is Linux, look in /etc/bluray/aacs
If the files are not located in a global location, read them from the current directory.

One things that consistently annoys me about the aacskeys software is the lack of a way to install the software system-wide. This patch does not break current behavior, it only supplements existing functionality. Now I can install libaacs in /usr/lib and aacskeys in /usr/bin and have it work regardless of the content of $PWD. Kend00, please accept and commit the attached patch.

BTW, congrats on the v9 and v10 processing keys! I just tested them on "The X-Files: Fight the Future" and they work perfectly.
Attached Files
File Type: txt aacskeys_global_v2.diff.txt (2.5 KB, 635 views)
Rupan is offline   Reply With Quote
Old 16th April 2009, 09:46   #420  |  Link
Rupan
Registered User
 
Join Date: Nov 2008
Posts: 62
Code cleanup

@Kend00:

I'm working on aacskeys this week as I find time. My current focus is on moving the command-line parsing routine out of main, into a new main() then renaming main() to aacs_main(). I've also defined a structure that will hold all user-supplied runtime information, which will be passed to aacs_main(). It isn't ready to see the light yet, but it is coming along nicely. Do you have any suggestions as to how to deal with nonfatal errors and status messages? If it is to function as a library these must go away. Maybe I can redirect them to a log file...
Rupan 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 09:23.


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