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:
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:
- Select your DVDfab tool of choice (personally I bought a DVDfab Passkey license), download and install it http://www.dvdfab.cn
- Download and extract FindVUK into a new directory
- 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'
- Insert a Blu-ray into your drive
- 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
- 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)
- Repeat the previous 2 steps until you got the VUK for all your Blurays
- 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