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

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old 12th August 2015, 22:21   #1  |  Link
nalor
Registered User
 
Join Date: Dec 2013
Posts: 359
FindVUK tool - get VUK of all Blurays supported by DVDfab applications

A few words of introduction:

As we all know there's no chance to free the Bluray format as it happened with the DVD.
There are no working processing keys available anymore and even if it would, they would get revoked within a short period of time.

The only thing that is forever (at least for AACS) is the VUK (Volume Unique Key).

About february 2014 I got my first raspberry pi, connected a usb-bluray drive and tried to play a few blurays but simply got disappointed: apart from the problem that the first pi was simply not fast enough to handle the usb-bluray and the decoding I also ran into the problem that the necessary library 'libaacs' needs a VUK for each Bluray to decode it properly - but those keys are only available for older Blurays as the newer ones cannot be decrypted any longer because of the missing processing keys....
Usually 'MakeMKV' is a quite good replacement for libaacs under linux - but it's not available for ARM devices and so it's no solution for the raspberry pi (and it's still not available for arm until now).

A few weeks ago I stumbled across this post here http://forum.kodi.tv/showthread.php?tid=230493 and started thinking about the VUK problem again.

I already asked the MakeMKV developer in the past to output the VUK so it can be used on arm devices - but he replied that it's too complicated to get the vuk from his tool.

But than I got hands on another tool called 'DVDfab Passkey' and noticed an interesting line in it's logfile:
Quote:
0m 58.68s: got vuk
So I posted a feature request in their forum to write the VUK into the logfile - but until now I've got no reply to it.

But I discovered another way to get the VUK from Passkey: create a memory dump after decrypting and read it from the dump

How you can 'find the VUK' manually (without FindVUK):

Basically the steps are quite easy:
  • start a DVDfab application (Passkey, MediaPlayer or DVDfab9)
  • insert a bluray
  • in case you're using MediaPlayer start the playback
  • in case of Passkey or DVDfab9: wait until the analyzing finishes
  • create a memory dump with e.g. the windows task manager
  • open the dump with a hex editor and search for the discid (it can be found in the logfile of passkey)
  • and a few bytes later you'll find the vuk in the file (for newer releases only the unit keys are present in the dump)

What FindVUK does:
  • Main feature: monitor the logfile of different DVDfab applications, dump the memory when the relevant data is available, extract vuk or unit keys from the dump and validate the data against the disc in the drive. finally the result is uploaded to a central bluray-database
  • Synchronize feature: synchronizes the 'keydb.cfg' file with the online database

The KEYDB.cfg file is used by the libaacs library (that can be used to play blurays for example in VLC).

FindVUK is windows only - in case you're a linux user take a look at VukExtract from @m4tthi4s

Getting started:
  1. Select your DVDfab tool of choice (personally I bought a DVDfab Passkey license), download and install it http://www.dvdfab.cn
  2. Download and extract FindVUK into a new directory
  3. Execute FindVUK (during the first start it will download the dump-tool from the sysinternals website and start it so you can accept the license)
    • Alternatively download 'procdump.exe' (x86 version) manually and copy it into a subdirectory called 'tool'
  4. Insert a Bluray into your drive
  5. You're using Passkey or DVDfabXX: it automatically start to decrypt the disc - FindVUK will watch the logfile, create a memory dump when Passkey/DVDfabXX got the VUK/UnitKeys, stop the Passkey/DVDfabXX decrypting process and analyze the memory dump to get the VUK/UnitKeys. Finally it will validate it against the disc and in case it's valid add it to the end of the local KEYDB.cfg
  6. You're using MediaPlayer: Please start the playback of the disc manually - FindVUK will watch the logfile, create a memory dump when Mediaplayer got the VUK/UnitKeys, close MediaPlayer and analyze the memory dump to get the VUK/UnitKeys. Finally it will validate it against the disc and in case it's valid add it to the end of the local KEYDB.cfg (and restart's MediaPlayer for the next analysis cycle)
  7. Repeat the previous 2 steps until you got the VUK for all your Blurays
  8. At the end of each cycle FindVUK uploads the complete data-set to the online-database

Whenever DVDfab releases a new version of either DVDfab, MediaPlayer or Passkey I'll test if FindVuk is still compatible and include it into an internal 'known to be good' list and will release a new version that includes this result. But even in case I'm not fast enough - FindVUK will simply report that the used DVDfab application is untested.

I hope the company behind the application don't close this way of retrieving the VUK or at least the unit keys.

In case you have problems with the tool please post your experience here and I'll try to help as good as I can

History of the tool:

(had to clean the details of the first releases because I hit the size limit of this post

20150812 .. 0.51 - initial release
(...)


20180810 .. Download FindVUK 1.14
  • FIX: synchronization broken (DeleteLines)
  • FEATURE: support for new passkey, extracts UnitKeys from memory dump (VUK is no longer available)
  • CHANGE: keydb.cfg handling: duplicates are now automatically removed from the file, the last entry for a specific discid is kept, the others are moved to a file 'KEYDB_Backup.cfg' (nothing is really deleted)
  • CHANGE: also include encrypted unit-keys in MetaXML uploaded to OnlineDB to check if an already existing VUK is correct
  • CHANGE: Decrypted UnitKeys in MetaXML got a new attribute 'status' that can be either 'valid', 'unused' or 'invalid' - sometimes there are e.g. 8 unitkeys available but only 2 of them are necessary to decrypt the disc
  • CHANGE: removed DVDfab_Offset and AacsCentralDB groups from ini-file (both not required any longer)
  • CHANGE: corrections to the synchronize-feature
  • FEATURE: sync local entries with VolumeId, MediaKey and/or VUK to OnlineDb in case it's missing there
  • CHANGE: update to synchronisation
  • FIX: store preferred lang in correct file
  • FIX: get disc size with GetDiskFreeSpaceEx in all locations
  • FIX: get discid-date now in UTC, prevents different dates depending on timezone settings

20180815 .. Download FindVUK 1.15
  • FEATURE: support for newer DVDfab versions (>10.0.4.8)
  • FEATURE: support for newer MediaPlayer 3.x versions (>3.2.0.0)
  • FEATURE: support for newer DVDFab Player 5 (tested with 5.0.1.8)
  • FEATURE: use/download procdump-x64 on 64 bit operation systems - allows to create memory dumps of e.g. DVDfab x64

20180911 .. Download FindVUK 1.16
  • FEATURE: limited support for "UHD BDMV" -> dump is analyzed, but unitkeys cannot be verified because of bus encryption
  • FEATURE: added 2 new values to MetaXML: disctype=BD/UHD and validated=0/1
  • FEATURE: always upload MetaXML - even in case the UnitKeys could not be validated
  • FIX: upload to OnlineDB shouldn't fail without any reason

20180913 .. Download FindVUK 1.17
  • FIX: upload to OnlineDB shouldn't fail without any reason - 2nd try
  • FIX: create empty keydb.cfg in case it does not exist

20181011 .. Download FindVUK 1.18
  • FIX: only use mediakey/volumeid from dump in case it's valid (calculated VUK matches the VUK found in dump)
  • FIX: enrich new data with existing data from KEYDB file (in case mediakey, volumeid, vuk are present in keydb file but cannot be retrieved from dump)

20181011 .. Download FindVUK 1.19
  • FIX: get discid-date now in UTC, prevents different dates depending on timezone settings (fixed again - fix disappeared in 1.16.. )
  • FIX: dvdfab player 5 logfile parsing

20181114 .. Download FindVUK 1.20
  • FEATURE: support for DVDfab 11
  • FIX: synchronisation of keydb-files uploaded too much unit keys - missed to clear list of unit keys after each item
  • FEATURE: synchronisation - prevent output to console after 500 synced entries to speed up processing (of course all details are available in logfile)
  • FIX: procdump pid-fix also for DVDFab Player 5 / Mediaplayer 3

20181123 .. Download FindVUK 1.21
  • FIX: correctly read AACS2 Unitkeys from UHD discs
  • FIX: enriching metadata with existing data from keydb added wrong vuks in some cases
  • FIX: Synchronize - do not replace entries 'with VUK' with ones 'without VUK' in keydb
  • CHANGE: change fallback logfile path for dvdfab to dvdfab11

20181125 .. Download FindVUK 1.22
  • FIX: set unitkey-status to 'untested' in case no validation has been possible


20190208 .. Download FindVUK 1.23
  • CHANGE: more logoutput in case of errors during keydb processing
  • FIX: break after 'close passkey' to prevent endless loop with 'user cancelled' detection
  • FIX: procdump download on win7x86 fixed
  • FIX: close passkey properly on exit
  • FIX: properly get window handle (retry up to 5 times before writing an error)
  • CHANGE: support QEMU optical drive as bluray drive
  • CHANGE: Synchronize - output a status-line every 500 processed entries (to at least get some progress feedback)

20190217 .. Download FindVUK 1.24
  • FIX: correctly close passkey again

Last edited by nalor; 17th February 2019 at 14:11. Reason: release 1.24
nalor is offline   Reply With Quote
 

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 04:54.


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