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.

Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se

 

Go Back   Doom9's Forum > General > Decrypting

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old 12th August 2015, 21:21   #1  |  Link
nalor
Registered User
 
Join Date: Dec 2013
Posts: 546
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 at the time where the FindVUK started it has not been available for ARM devices (I think now it is: MakeMKV on Raspberry PI (ARM)).

In August 2015 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:
Originally FindVUK was only a proof-of-concept to get the VUK from a dvdfab memory dump, but it evolved and also received a few more features:
  • 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 mode: synchronizes the 'keydb.cfg' file with the online database
  • AACSkeys mode: calls the well known aacskeys utility to read MediaKey, VolumeId and VUK, validates the data against the current disc and finally the result is uploaded to a central bluray-database
  • ValidateVUK mode: simple test to check if a VUK matches the disc in a drive - no upload to the database is performed
  • ValidateDisc mode: monitors a defined drive and checks for each inserted disc if there's a matching entry in the keydb.cfg file and if this entry is valid and finally the result is uploaded to a central bluray-database
  • ShowDriveDetails mode: just displays technical details of either all drives or a specific drive
  • GetMetaInfoFromDisc mode: reads meta-data from the disc in the specified drive and uploads it to the central bluray-database
  • KeyDB_ListDuplicates mode: checks the keydb-file for duplicate entries

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 Blu-ray 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
-> the full changelog of all releases is included in the zip-file of the download

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

20200629 .. Download FindVUK 1.35
  • FIX: do not report an error in case the hash-file is not present at all
  • FEATURE: auto-update integrated - can be disabled in ini-file

20201013 .. Download FindVUK 1.37
  • FIX: support for DVDfab 12

20201016 .. Download FindVUK 1.38
  • FIX: make sync debug log configurable with ini parameter and disable by default
  • CHANGE: more details in sync-debug-log
  • CHANGE: more output during update

20210721 .. Download FindVUK 1.42
  • CHANGE: also sync DateDiscId to online database
  • CHANGE: new logpath for dvdfab passkey 9.4.0.9
  • FIX: properly strip forbidden characters from filenames used for backup
  • CHANGE: adjust loglevel for various output
  • FIX: properly strip forbidden characters from filenames used for backup (of meta files)
  • FEATURE: new ini parameter ExitAfterProcessing to exit FindVUK instead of starting over to scan the next disc

20211111 .. Download FindVUK 1.53
  • CHANGE: replaced Drive_GetVolumeName call with DRVMS_GetVolumeName
  • FEATURE: now possible to use only a driveletter as parameter to get metainfo from disc
  • CHANGE: only ask for keypress at the end in case it's not started from command line
  • CHANGE: lot's of refactoring
  • CHANGE: GetMetaInfoFromDisc mode now also uploads UnitKeysENC and DiscType to enrich existing legacy disc entries
  • FEATURE: new mode AACSkeys to get mediakey, volumeid and vuk by using AACSkeys tool
  • FEATURE: synchronisation of DeviceKey, ProcessingKey and HostCertificates with OnlineDB
  • FEATURE: entries uploaded to OnlineDB are now always directly processed and written to OnlineDB
  • FIX: a few bugfixes
  • FIX: update process now correctly works in case parameters are set
  • FIX: update process now is able to handle subdirectories in the update file

20211113 .. Download FindVUK 1.54
  • CHANGE: upload of devicekeys, processingkeys and hostcertificates disabled by default and can be enabled with ini parameter

20220501 .. Download FindVUK 1.55
  • FIX: \ and / in Volumenames do not cause a problem any longer

20220515 .. Download FindVUK 1.57
  • FIX: 2nd try - \ and / in Volumenames do not cause a problem any longer
  • FIX: BD+ not detected in aacskeys mode
  • FIX: copy protection check broken in 1.56

20230122 .. Download FindVUK 1.58
  • FIX: add support for Passkey 9.4.5.1
  • CHANGE: add support for MS Windows 10 virtual drive
  • FIX: repair support for virtual drives
  • CHANGE: report success if all unit-keys are validated (should fix handling of disc >WINX-IL MISTERO DEGLI ABISSI<)

20230203 .. Download FindVUK 1.59
  • FEATURE: add support for Passkey 9.4.5.2


20230425 .. Download FindVUK 1.63
  • CHANGE: better logoutput in case online-upload is disabled
  • FEATURE: support to get ReadDataKey (RDK) from Passkey Dump (in case BusEncryption is active)
  • FEATURE: validation of Unitkeys is using RDK (in case of BusEncryption)
  • CHANGE: speedup during validation - first collect all M2TS files and check if it's encrypted only if required (usually not all files are necessary to validate all unit keys)
  • BAD NEWS: Passkey 9.4.5.3 does not provide the UnitKeys any longer in the memory dump - so it's flagged as "not working"
  • FEATURE: introduce support for FabPlayer 7 (tested with 7.0.3.6 and it's working)
  • FIX: problem with Unitkey Validation

20230626 .. Download FindVUK 1.64
  • FIX: do not write an error if a local processing_key, device_key or host_certificate is not available
  • FIX: support DVDfab up to 12.1.0.9

20230919 .. Download FindVUK 1.66
  • FIX/IMPROVE: support DVDfab up to 12.1.1.5

20230920 .. Download FindVUK 1.67
  • FIX: correctly update hash file after keydb sync

20231208 .. Download FindVUK 1.72
  • CHANGE: treat unitkeys with lots of 0es with lower priority as local entries so those get uploaded to fvonlinedb during sync
  • FEATURE: added basic AACS2 support
  • FEATURE: added MakeMKV Libredrive support to disable BusEncryption for validation of UHD discs (see https://forum.makemkv.com/forum/viewtopic.php?t=19029 )
  • FEATURE: support for DVDfab 13 (tested with 13.0.0.7)
  • FIX: assume logfile for DVDfab 13 is always enabled
  • FEATURE: new INI switch "MakeMKV_Libredrive_Enabled" to enable Libredrive support if desired/required - but it's disabled by default

20240504 .. Download FindVUK 1.74
  • FEATURE: new mode "validateDisc" that monitors a drive, validates each disc that get inserted and upload the result
  • FEATURE: option to integrate external tools to either disable BusEncryption and/or provide a RDK file

20240508 .. Download FindVUK 1.75
  • FIX: correctly calculate DriveId for AACS2 drives
  • CHANGE: use internal UDF parser to get creation date of "\AACS\Unit_Key_RO.inf" for DateDiscId (fixes problem with Linux/Wine to return the modification timestamp as creation timestamp)
  • CHANGE: use new procedure BRAACS_getVolumeName to read volumename, includes a fallback to read directly from udf filesystem in case operating system returns an empty string
  • CHANGE: prevent to upload meta-entries with empty: discid, datediscid, volumename, disctype

20240804 .. Download FindVUK 1.77
  • FIX: correctly read udf volumename (possible additional weird character at the end)
  • FIX: in case first unitkey-location is not the correct one keep searching until the end of the file

20240904 .. Download FindVUK 1.79
  • FIX: do not write error for backup/restore of window position when used with Windows Terminal (simply do nothing instead as this is not yet supported)
  • FEATURE: support DVDfab 13.0.2.5/13.0.2.6


20240913 .. Download FindVUK 1.80
  • FIX: always read volumename directly from UDF filesystem, never rely on windows internal call (hopefully fixes problem in linux/wine environment)

20250318 .. Download FindVUK 1.81
  • FEATURE: extra protection to prevent validated disc uploads without a valid unitkey
  • FIX: correctly flag unitkeys, which are in combination with busencryption detected as invalid, as invalid and log that possibly the read data key is wrong

20250329 .. Download FindVUK 1.82
  • FIX: do not eject twice during "validate disc"
  • FIX: correctly take "ExitAfterProcessing" into account in "validate disc" mode - note: in case EjectDisc=0 and ExitAfterProcessing=0 - the disc is still ejected to prevent an endless validation loop
  • CHANGE: log selected AppMode into logfile
  • FIX: correctly abort disc-validation in case no entry for the disc is available in the keydb.cfg file
  • FIX: disc-eject fixed: correctly lock and dismount, in case lock is not possible, it's ejected without locking first

Last edited by nalor; 29th March 2025 at 23:00. Reason: FindVUK 1.82
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 23:12.


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