Log in

View Full Version : BlurayTestAndDecrypt - tool to test bluray files and remove AACS


Pages : 1 [2] 3

Hironimo
4th March 2017, 18:08
Hey Nalor.
I tried out 0.54 and the file level handling in any folder works now if I the file is in BDMV\STREAM\ and the AACS folder with data exists,
so that is appreciated.

Unfortunately my Virus Program has to be told explicitly to be ok with your excecutable.
While it does not find a virus outright, it suspects and it has to be added to a list of trusted programs.
As far as I understand we just have to live with that.

I wish I had realized earlier mode 4 does not do BD+ - why is that, anyway?

nalor
4th March 2017, 18:16
I wish I had realized earlier mode 4 does not do BD+ - why is that, anyway?

The problem is that I only write successfully decoded blocks to the destination file - so the offset of blocks between the source and the destination file might be different and thus I cannot apply the BD+ repair table.
But honestly I think it's better to re-rip damaged files from the original media instead of using the damaged ones (and so I think this mode shouldn't be used at all).

But if you need it I can also add a 'continue on error (keep offset) and apply BD+' mode - this way I would simply write 0-bytes in case a damaged block is encountered.

What do you think ?

spotter
6th March 2017, 06:25
I think thats the smart thing to do. If one has a damaged disc and wants to preserve what they can, that's a better option. I think an even better option would be to keep a map of what you weren't able to read (or even understand ddrescue's map to know what sectors are bad) so that they can be filled in later if one can repair the disc or get another disc.

Ghitulescu
15th April 2017, 11:44
Out of curiosity, why it stubbornly looks for the Keydb.cfg in the damn hidden directory of application data and does not look for it in the directory where itself resides?

candela
16th April 2017, 09:17
Out of curiosity, why it stubbornly looks for the Keydb.cfg in the damn hidden directory of application data and does not look for it in the directory where itself resides?

Presumably because this is what VLC uses and were keys are added by FindVUK. If everyone is going to use their own location AACSUpdater will become useless unless it's starts scanning the entire harddrive. There could be some ini settings added I guess to define the location for advanced users

Ghitulescu
16th April 2017, 18:56
By "itself" I meant the software, not the keydb.cfg :)
Almost all software look first in their own directory/folder then in others.

Mischi
9th October 2017, 09:07
I can't select mode 5. Do I need another tool for this function?

nalor
9th October 2017, 09:31
I can't select mode 5. Do I need another tool for this function?What happens? Anything interesting in the logfile?

Gesendet von meinem E5823 mit Tapatalk

Mischi
9th October 2017, 10:57
Perhaps I'm misguided. Do I need an iso image for mode 5 or does it also operate on the optical drive?
The first run doesn't show mode 5 in the interactive menu.

nalor
9th October 2017, 13:23
Perhaps I'm misguided. Do I need an iso image for mode 5 or does it also operate on the optical drive?
The first run doesn't show mode 5 in the interactive menu.You need an ISO file for Mode 5 - it does not support ripping of discs so far.

Gesendet von meinem E5823 mit Tapatalk

nalor
30th January 2018, 19:46
Just uploaded release 0.61 - I think the major new feature is a massive speed boost because I changed AES functions to the libgcrypt library.

Additionally it's now possible to perform an ISO InPlace decryption and another new feature is to redirect all 'wrong' playlists to the correct playlist on discs with playlist obfuscation - you only need to know the correct playlist ;)

spotter
31st January 2018, 02:48
One can't just replace playlists. Many times it checks the file size and if not what it expects, fails.

nalor
31st January 2018, 18:16
One can't just replace playlists. Many times it checks the file size and if not what it expects, fails.

You're right - my approach is not really a solution to the problem but more some kind of a small workaround.

On my pioneer player I noticed he's using the wrong playlist - and the wrong playlist is already played before e.g. the menu gets displayed (because some internal checks during execution failed and it decided to play one of the fake playlists).
I just remap all 'wrong' playlists to the correct one - and in this case the pioneer player plays the correct playlist instead of the wrong one.
I still don't get into the menu - but at least I can use my Pioneer player and don't need my pi to play the disc.

And as I have only a few of those discs I don't know how good it's really working - it's just something I've tried a few month ago and it's still in the application ;)

frankio
13th March 2018, 14:02
I've used this precious tool on a few BDs (even BD+ ones) in ISO2ISO mode and it worked a treat, thank you!

Today I've stumbled upon a title that BTAD refuses to decrypt giving me an unexplicable error about not being able to find AACS directory.
This is an excerpt from logfile:


PARTITION:
PartitionNr >0< StartBlock >00000288< BlockLength >24438208<
2018-03-13 10:20:07 # 262 # [I] main / legacy / Initialize Disc now
2018-03-13 10:20:07 # 262 # [I] main / legacy / VolumeName: RED_BIRD_2D_F2
2018-03-13 10:20:07 # 262 # [I] bluray_udf / BRUDF_FileSize /
++++++++++++++++++++++++++++++++++++++++++++++++++
++++ BRUDF_FileSize ++++ File >\AACS\Unit_Key_RO.inf< ++++
++++++++++++++++++++++++++++++++++++++++++++++++++
2018-03-13 10:20:07 # 262 # [I] bluray_aacs / BRAACS_getDiscID / UDF-Filesize Result for >\AACS\Unit_Key_RO.inf< - >#BRUDF_ERR_FILE_NOT_FOUND<
2018-03-13 10:20:07 # 262 # [I] bluray_udf / BRUDF_FileSize /
++++++++++++++++++++++++++++++++++++++++++++++++++
++++ BRUDF_FileSize ++++ File >\BTD!\Unit_Key_RO.inf< ++++
++++++++++++++++++++++++++++++++++++++++++++++++++
2018-03-13 10:20:07 # 262 # [I] bluray_aacs / BRAACS_getDiscID / UDF-Filesize Result for >\BTD!\Unit_Key_RO.inf< - >#BRUDF_ERR_FILE_NOT_FOUND<
2018-03-13 10:20:07 # 262 # [I] bluray_udf / BRUDF_FileSize /
++++++++++++++++++++++++++++++++++++++++++++++++++
++++ BRUDF_FileSize ++++ File >\ANY!\Unit_Key_RO.inf< ++++
++++++++++++++++++++++++++++++++++++++++++++++++++
2018-03-13 10:20:07 # 262 # [I] bluray_aacs / BRAACS_getDiscID / UDF-Filesize Result for >\ANY!\Unit_Key_RO.inf< - >#BRUDF_ERR_FILE_NOT_FOUND<
2018-03-13 10:20:07 # 262 # [I] bluray_udf / BRUDF_FileSize /
++++++++++++++++++++++++++++++++++++++++++++++++++
++++ BRUDF_FileSize ++++ File >\FAB!\Unit_Key_RO.inf< ++++
++++++++++++++++++++++++++++++++++++++++++++++++++
2018-03-13 10:20:07 # 262 # [I] bluray_aacs / BRAACS_getDiscID / UDF-Filesize Result for >\FAB!\Unit_Key_RO.inf< - >#BRUDF_ERR_FILE_NOT_FOUND<
2018-03-13 10:20:07 # 262 # [E] bluray_aacs / BRAACS_getDiscID / No current or former AACS directory could be found - not possible to calculate DiscID for >C:\BD-iso\enc\RED_BIRD_2D_F2.iso<
2018-03-13 10:20:07 # 262 # [I] main / legacy / ERROR! Couldn't get DiscID >#BRAACS_DiscIdInvalid<
2018-03-13 10:20:07 # 263 # [I] main / legacy / ERROR! Bluray_InitDisc failed! (-2)
2018-03-13 10:20:07 # 263 # [I] main / legacy / ERROR! DecryptIso2Iso failed for file >C:\BD-iso\enc\RED_BIRD_2D_F2.iso<
2018-03-13 10:20:07 # 263 # [I] main / legacy / Overall duration >0:00:00<


Obviously the AACS directory is present on the disc.

Now if I mount the ISO as a virtual drive and drop the drive letter onto BTAD executable (mode = 3) then everything goes smooth.
I suspect there's a problem with this specific ISO but I don't have a clue as I ripped it using the same method as others titles (linux dd command) and this one only is failing.

Please let me know if you need more logs, thank you.

nalor
15th March 2018, 00:20
Please let me know if you need more logs, thank you.

Thanks for the report - really interesting, maybe I missed something when I wrote my own UDF interpreter ....

Please upload the first 20MB of your iso to e.g. tinyupload - this is all I need to check whats going wrong here.

Just wrote a small tool that saves the first 20MB of a file into a separate file inside the same directory - just drag the iso on the exe and you should get a '.20MB' file as result :)

SplitFirst20MB (http://s000.tinyupload.com/index.php?file_id=01962658454788178063)

Thanks! :thanks:

frankio
15th March 2018, 13:19
Here you go:

http://s000.tinyupload.com/index.php?file_id=78072196312963926920

BTW I could have spared you some coding time using dd to cut the beginning of the problematic ISO,
I really appreciate your effort though :thanks:

While we're at it... any chance you can release a linux version eventually?
Right now I'm forced to use a windows system just because of this great tool.

Thank you for your support!

nalor
15th March 2018, 18:53
Thank you for your support!

Thanks for the upload!

Found the problem - I missed to take the 'LengthofImplementationUse' in the FileIdentifierDescriptor into account... this is usually always 0 and according to the OSTA UDF specification it should be set to the identifier of the application the last modified this descriptor.
So basically it's of no interest (just a text field - in your case it includes 'MEI' ) - I just need to skip it correctly when parsing the file structure ;)

Will create a fixed release when I'm back home (hopefully this evening).

Regarding a linux release: purebasic is also available for linux, but I think it's not as easy as just recompiling it in linux .. maybe I will find some time to check it out.

nalor
19th March 2018, 22:41
New Release with the fix available - took a little bit longer because I wanted to finally implement a 'Rip/Dump disc and test the iso' mode :)

frankio
20th March 2018, 11:42
I tried the fixed version and now the decryption process starts but then, towards the end, it stops again with the following error:


++++++++++++++++++++++++++++++++++++++++++++++++++
++++ BRUDF_Close ++++ File >C:\BD-iso\enc\RED_BIRD_2D_F2.iso< ++++
++++++++++++++++++++++++++++++++++++++++++++++++++
2018-03-20 11:04:53 # 1385130 # [I] main / legacy / All blocks copied into >C:\RED_BIRD_2D_F2_decrypted.iso< - rename AACS folder to BTD! now
2018-03-20 11:04:54 # 1386157 # [I] bluray_udf / BRUDF_File_Rename /
++++++++++++++++++++++++++++++++++++++++++++++++++
++++ BRUDF_File_Rename ++++ Filename >\AACS< NewFilename >BTD!< iUndoHdl >0< ++++\n++++++++++++++++++++++++++++++++++++++++++++++++++
2018-03-20 11:04:54 # 1386157 # [I] bluray_udf / _UDF_readFileIdentifierDescriptor /
++++++++++++++++++++++++++++++++++++++++++++++++++
++++ _UDF_readFileIdentifierDescriptor ++++ Filename >\AACS< iAllowFidType >0< ++++
++++++++++++++++++++++++++++++++++++++++++++++++++
2018-03-20 11:04:54 # 1386157 # [I] bluray_udf / _UDF_readwriteFileIdentifierDescriptor /
++++++++++++++++++++++++++++++++++++++++++++++++++
++++ _UDF_readwriteFileIdentifierDescriptor ++++ Filename >\AACS< *FidToWrite >0< AllowFidType >0< iUndoHdl >0< ++++
++++++++++++++++++++++++++++++++++++++++++++++++++
2018-03-20 11:04:54 # 1386199 # [I] bluray_udf / _UDF_readwriteFileIdentifierDescriptor / File >\AACS< Size >0< FID/Part >1< FID\Block >3< FID\Offset >308< FID\Length >384<
2018-03-20 11:04:54 # 1386240 # [I] bluray_udf / BRUDF_ReadLogicalBlock / ###################### READ-BLOCK 323 # 0x00000000000A1800 LEN 384 Bytes ######################
2018-03-20 11:04:54 # 1386240 # [I] bluray_udf / _UDF_readwriteFileIdentifierDescriptor / ++++ File Identifier Descriptor ++++
2018-03-20 11:04:54 # 1386703 # [I] bluray_udf / _UDF_readwriteFileIdentifierDescriptor / FileIdentifier ><
2018-03-20 11:04:54 # 1386703 # [E] bluray_udf / _UDF_readwriteFileIdentifierDescriptor / ERROR! Wrong File Identifier! Found >< Expected >AACS<
2018-03-20 11:04:54 # 1386704 # [I] bluray_udf / _UDF_readwriteFileIdentifierDescriptor / >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-716<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2018-03-20 11:04:54 # 1386704 # [E] bluray_udf / BRUDF_File_Rename / _UDF_readFileIdentifierDescriptor failed >#BRUDF_ERR_FID_ERROR<
2018-03-20 11:04:54 # 1386705 # [I] main / legacy / ERROR! Rename failed (-716) >#BRUDF_ERR_FID_ERROR<
2018-03-20 11:04:55 # 1387337 # [I] main / legacy / Delete destination file >C:\RED_BIRD_2D_F2_decrypted.iso<
2018-03-20 11:04:56 # 1387784 # [I] main / legacy / ERROR! DecryptIso2Iso failed for file >C:\BD-iso\enc\RED_BIRD_2D_F2.iso<
2018-03-20 11:04:56 # 1387784 # [I] main / legacy / Overall duration >0:22:58<


Feel free to ask for more info or samples! :helpful:


Regarding a linux release: purebasic is also available for linux, but I think it's not as easy as just recompiling it in linux .. maybe I will find some time to check it out.


I won't hold my breath then... :p

nalor
21st March 2018, 19:57
Please try 0.63 - missed a 2nd location with the same problem :(

frankio
22nd March 2018, 13:36
We're not there yet:

++++++++++++++++++++++++++++++++++++++++++++++++++
++++ BRUDF_Close ++++ File >C:\BD-iso\enc\RED_BIRD_2D_F2.iso< ++++
++++++++++++++++++++++++++++++++++++++++++++++++++
2018-03-22 11:12:50 # 1377261 # [I] main / legacy / All blocks copied into >C:\RED_BIRD_2D_F2_decrypted.iso< - rename AACS folder to BTD! now
2018-03-22 11:12:50 # 1377262 # [I] bluray_udf / BRUDF_File_Rename /
++++++++++++++++++++++++++++++++++++++++++++++++++
++++ BRUDF_File_Rename ++++ Filename >\AACS< NewFilename >BTD!< iUndoHdl >0< ++++
++++++++++++++++++++++++++++++++++++++++++++++++++
2018-03-22 11:12:50 # 1377262 # [I] bluray_udf / _UDF_readFileIdentifierDescriptor /
++++++++++++++++++++++++++++++++++++++++++++++++++
++++ _UDF_readFileIdentifierDescriptor ++++ Filename >\AACS< iAllowFidType >0< ++++
++++++++++++++++++++++++++++++++++++++++++++++++++
2018-03-22 11:12:50 # 1377262 # [I] bluray_udf / _UDF_readwriteFileIdentifierDescriptor /
++++++++++++++++++++++++++++++++++++++++++++++++++
++++ _UDF_readwriteFileIdentifierDescriptor ++++ Filename >\AACS< *FidToWrite >0< AllowFidType >0< iUndoHdl >0< ++++
++++++++++++++++++++++++++++++++++++++++++++++++++
2018-03-22 11:12:50 # 1377262 # [I] bluray_udf / _UDF_readwriteFileIdentifierDescriptor / File >\AACS< Size >0< FID/Part >1< FID\Block >3< FID\Offset >308< FID\Length >384<
2018-03-22 11:12:51 # 1377357 # [I] bluray_udf / BRUDF_ReadLogicalBlock / ###################### READ-BLOCK 323 # 0x00000000000A1800 LEN 384 Bytes ######################
2018-03-22 11:12:51 # 1377357 # [I] bluray_udf / _UDF_readwriteFileIdentifierDescriptor / ++++ File Identifier Descriptor ++++
2018-03-22 11:12:51 # 1377357 # [I] bluray_udf / _UDF_readwriteFileIdentifierDescriptor / FileIdentifier >AACS<
2018-03-22 11:12:51 # 1377357 # [I] bluray_udf / _UDF_readwriteFileIdentifierDescriptor / Correct file found - read mode
2018-03-22 11:12:51 # 1377357 # [I] bluray_udf / _UDF_readwriteFileIdentifierDescriptor / >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>41718056<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2018-03-22 11:12:51 # 1377357 # [E] bluray_udf / BRUDF_File_Rename / ERROR! Length of File Identifier different!
2018-03-22 11:12:51 # 1377358 # [I] main / legacy / ERROR! Rename failed (-729) >#BRUDF_ERR_RENAME_LEN<
2018-03-22 11:12:51 # 1377603 # [I] main / legacy / Delete destination file >C:\RED_BIRD_2D_F2_decrypted.iso<
2018-03-22 11:12:51 # 1378040 # [I] main / legacy / ERROR! DecryptIso2Iso failed for file >C:\BD-iso\enc\RED_BIRD_2D_F2.iso<
2018-03-22 11:12:51 # 1378041 # [I] main / legacy / Overall duration >0:22:52<

nalor
24th March 2018, 20:57
We're not there yet:


please try 0.64 - this time I've tested my corrections myself, so I'm quite confident that it should work now :)

frankio
27th March 2018, 12:02
Now everything's working as expected! :)

Thank you for your continued support

nalor
27th March 2018, 12:49
Now everything's working as expected! :)

Thank you for your continued supportThanks for the feedback!

Gesendet von meinem E5823 mit Tapatalk

qyot27
1st April 2018, 20:02
I was struggling for a good chunk of time yesterday evening to figure out why, despite having the libaacs-generated DiscID and VUK in my keydb.cfg file for the disc I was testing, I was still getting complaints about the Disc ID not being found there...it would appear that BlurayTestAndDecrypt is case-sensitive when it comes to the Disc ID (and probably the VUK too, but I didn't bother trying to test that part separately). libaacs uses lower-case letters when it generates its DiscID/VUK/VID backups, which means that you can't use its output as-is (well, aside from having to format the entire line like the others, but I didn't figure the case would be important...clearly it is).

95fpu85... wouldn't work, 'can't be found' error
95FPU85... would work fine

nalor
1st April 2018, 20:06
95fpu85... wouldn't work, 'can't be found' error
95FPU85... would work fine

You're right - I'm currently looking for an entry only in a case sensitive way, will change it for the next release :)

spotter
15th October 2018, 03:00
download has been deleted from the server :/

nalor
15th October 2018, 06:45
Will post a new release tonight. download has been deleted from the server :/

Gesendet von meinem H8324 mit Tapatalk

nalor
15th October 2018, 21:14
download has been deleted from the server :/

Posted Release 0.70 - mainly 1 new feature:

check of dvd vob & iso files

LUR
25th November 2019, 23:48
Hi, trying to decrypt Star Wars Disc Collection:
2019-11-26 01:45:33 # 0 # [I] main / / #############################################################################
2019-11-26 01:45:33 # 0 # [I] main / / ----------- BlurayTestAndDecrypt 0.70 -----------
2019-11-26 01:45:33 # 55 # [I] SETTINGS / _STG_CreateOrUpdate / Created ini file >C:\Users\LUR\Documents\WORK\BlurayTestAndDecrypt_0.70\BlurayTestAndDecrypt.ini<
2019-11-26 01:45:33 # 55 # [E] common_log / CMLOG_SetLogDirectory / new logdir invalid ><
2019-11-26 01:45:33 # 55 # [I] main / / Read settings from file >C:\Users\LUR\Documents\WORK\BlurayTestAndDecrypt_0.70\BlurayTestAndDecrypt.ini<
2019-11-26 01:45:33 # 56 # [I] main / / >> Mode >0<
2019-11-26 01:45:33 # 56 # [I] main / / >> DecryptDest ><
2019-11-26 01:45:33 # 56 # [I] main / / List of files being processed:
2019-11-26 01:45:33 # 56 # [I] main / / Detected Drive >D:\<
2019-11-26 01:45:34 # 1643 # [I] main / / Mode >4< saved in ini-file
2019-11-26 01:45:34 # 1643 # [I] main / / #############################################################################
2019-11-26 01:45:34 # 1643 # [I] main / / 1/1 - Srcdrive >D:\< Mode >Decrypt - ContinueOnError<
2019-11-26 01:45:34 # 1649 # [I] main / Bluray_InitDisc / VolumeName: ATTACK_OF_THE_CLONES
2019-11-26 01:45:34 # 1655 # [I] main / Bluray_InitDisc / DiscID: F08E7A96834680A8BCE152387B9F8594748DA34D
2019-11-26 01:45:34 # 1658 # [I] main / Bluray_InitDisc / Disc is AACS protected - init necessary AACS values
2019-11-26 01:45:34 # 1659 # [I] main / Bluray_InitDisc / Use default AACS-KeyDB file instead >C:\Users\LUR\AppData\Roaming\aacs\keydb.cfg<
2019-11-26 01:45:34 # 1659 # [I] bluray_keydb / BRKDB_OpenFile / KeyDB file >C:\Users\LUR\AppData\Roaming\aacs\keydb.cfg< opened!
2019-11-26 01:45:34 # 1672 # [I] bluray_keydb / BRKDB_OpenFile / KeyDB file >C:\Users\LUR\AppData\Roaming\aacs\keydb.cfg< in memory now
2019-11-26 01:45:36 # 3250 # [I] bluray_keydb / _ParseMem / Removed duplicates for >0< discids from file >C:\Users\LUR\AppData\Roaming\aacs\keydb.cfg<
2019-11-26 01:45:36 # 3250 # [I] bluray_keydb / BRKDB_OpenFile / ParseMem result >1<
2019-11-26 01:45:36 # 3250 # [I] main / Bluray_InitDisc / VUK >9CC0FFB4974AC232B69B2DDEDAABACA2< available in KeyDB entry For disc
2019-11-26 01:45:36 # 3251 # [I] main / Bluray_InitDisc / VUK: 9CC0FFB4974AC232B69B2DDEDAABACA2
2019-11-26 01:45:36 # 3256 # [I] main / Bluray_InitDisc / UnitKeyCnt: 7
2019-11-26 01:45:36 # 3257 # [I] main / Bluray_InitDisc / >>> UnitKey: 79EC0F4D8A1DFE0E1629116567B48A6B
2019-11-26 01:45:36 # 3257 # [I] main / Bluray_InitDisc / >>> UnitKey: 85581552DC02679109AF39A4EA5077EB
2019-11-26 01:45:36 # 3258 # [I] main / Bluray_InitDisc / >>> UnitKey: 53857DE5436B63EFA6BAD7B945433EAF
2019-11-26 01:45:36 # 3258 # [I] main / Bluray_InitDisc / >>> UnitKey: 671F60BAA4F843411DB18FAB4EA74E1F
2019-11-26 01:45:36 # 3258 # [I] main / Bluray_InitDisc / >>> UnitKey: 3675EDDA9998DAD0BA5B42C78F9048B9
2019-11-26 01:45:36 # 3259 # [I] main / Bluray_InitDisc / >>> UnitKey: B9678AAC50E20FFFF706D5CC17C83A41
2019-11-26 01:45:36 # 3259 # [I] main / Bluray_InitDisc / >>> UnitKey: F3F3C3D750810BC3B9810B6B88967E74
2019-11-26 01:45:36 # 3261 # [I] main / Bluray_InitDisc / Check if disc is BD+ protected
2019-11-26 01:45:36 # 3266 # [I] bluray_aacs / BRAACS_IsBDplusProtected / Directory >D:\BDSVM\< does exist and there is at least 1 .svm file in the folder >00000.svm< - disc is BP+ protected
2019-11-26 01:45:36 # 3266 # [I] main / Bluray_InitDisc / Disc is BD+ protected!
2019-11-26 01:45:36 # 3272 # [I] main / Bluray_InitDisc / BD+ details - Date 2011.07.11 Gen 11
2019-11-26 01:45:38 # 5409 # [I] main / ErrorHandler / A program error was detected:

Error Message: Invalid memory access
Error Code: -1073741819
Code Address: 4373540
Target Address: 12
Sourcecode line: 1178
Sourcecode file: U:\PUREBASIC\Bluray-Test\BlurayTest.pb

nalor
26th November 2019, 06:31
Hi, trying to decrypt Star Wars Disc Collection:

2019-11-26 01:45:33 # 0 # [I] main / / #############################################################################

2019-11-26 01:45:33 # 0 # [I] main / / ----------- BlurayTestAndDecrypt 0.70 -----------

2019-11-26 01:45:33 # 55 # [I] SETTINGS / _STG_CreateOrUpdate / Created ini file >C:\Users\LUR\Documents\WORK\BlurayTestAndDecrypt_0.70\BlurayTestAndDecrypt.ini<

2019-11-26 01:45:33 # 55 # [E] common_log / CMLOG_SetLogDirectory / new logdir invalid ><

2019-11-26 01:45:33 # 55 # [I] main / / Read settings from file >C:\Users\LUR\Documents\WORK\BlurayTestAndDecrypt_0.70\BlurayTestAndDecrypt.ini<

2019-11-26 01:45:33 # 56 # [I] main / / >> Mode >0<

2019-11-26 01:45:33 # 56 # [I] main / / >> DecryptDest ><

2019-11-26 01:45:33 # 56 # [I] main / / List of files being processed:

2019-11-26 01:45:33 # 56 # [I] main / / Detected Drive >D:\<

2019-11-26 01:45:34 # 1643 # [I] main / / Mode >4< saved in ini-file

2019-11-26 01:45:34 # 1643 # [I] main / / #############################################################################

2019-11-26 01:45:34 # 1643 # [I] main / / 1/1 - Srcdrive >D:\< Mode >Decrypt - ContinueOnError<

2019-11-26 01:45:34 # 1649 # [I] main / Bluray_InitDisc / VolumeName: ATTACK_OF_THE_CLONES

2019-11-26 01:45:34 # 1655 # [I] main / Bluray_InitDisc / DiscID: F08E7A96834680A8BCE152387B9F8594748DA34D

2019-11-26 01:45:34 # 1658 # [I] main / Bluray_InitDisc / Disc is AACS protected - init necessary AACS values

2019-11-26 01:45:34 # 1659 # [I] main / Bluray_InitDisc / Use default AACS-KeyDB file instead >C:\Users\LUR\AppData\Roaming\aacs\keydb.cfg<

2019-11-26 01:45:34 # 1659 # [I] bluray_keydb / BRKDB_OpenFile / KeyDB file >C:\Users\LUR\AppData\Roaming\aacs\keydb.cfg< opened!

2019-11-26 01:45:34 # 1672 # [I] bluray_keydb / BRKDB_OpenFile / KeyDB file >C:\Users\LUR\AppData\Roaming\aacs\keydb.cfg< in memory now

2019-11-26 01:45:36 # 3250 # [I] bluray_keydb / _ParseMem / Removed duplicates for >0< discids from file >C:\Users\LUR\AppData\Roaming\aacs\keydb.cfg<

2019-11-26 01:45:36 # 3250 # [I] bluray_keydb / BRKDB_OpenFile / ParseMem result >1<

2019-11-26 01:45:36 # 3250 # [I] main / Bluray_InitDisc / VUK >9CC0FFB4974AC232B69B2DDEDAABACA2< available in KeyDB entry For disc

2019-11-26 01:45:36 # 3251 # [I] main / Bluray_InitDisc / VUK: 9CC0FFB4974AC232B69B2DDEDAABACA2

2019-11-26 01:45:36 # 3256 # [I] main / Bluray_InitDisc / UnitKeyCnt: 7

2019-11-26 01:45:36 # 3257 # [I] main / Bluray_InitDisc / >>> UnitKey: 79EC0F4D8A1DFE0E1629116567B48A6B

2019-11-26 01:45:36 # 3257 # [I] main / Bluray_InitDisc / >>> UnitKey: 85581552DC02679109AF39A4EA5077EB

2019-11-26 01:45:36 # 3258 # [I] main / Bluray_InitDisc / >>> UnitKey: 53857DE5436B63EFA6BAD7B945433EAF

2019-11-26 01:45:36 # 3258 # [I] main / Bluray_InitDisc / >>> UnitKey: 671F60BAA4F843411DB18FAB4EA74E1F

2019-11-26 01:45:36 # 3258 # [I] main / Bluray_InitDisc / >>> UnitKey: 3675EDDA9998DAD0BA5B42C78F9048B9

2019-11-26 01:45:36 # 3259 # [I] main / Bluray_InitDisc / >>> UnitKey: B9678AAC50E20FFFF706D5CC17C83A41

2019-11-26 01:45:36 # 3259 # [I] main / Bluray_InitDisc / >>> UnitKey: F3F3C3D750810BC3B9810B6B88967E74

2019-11-26 01:45:36 # 3261 # [I] main / Bluray_InitDisc / Check if disc is BD+ protected

2019-11-26 01:45:36 # 3266 # [I] bluray_aacs / BRAACS_IsBDplusProtected / Directory >D:\BDSVM\< does exist and there is at least 1 .svm file in the folder >00000.svm< - disc is BP+ protected

2019-11-26 01:45:36 # 3266 # [I] main / Bluray_InitDisc / Disc is BD+ protected!

2019-11-26 01:45:36 # 3272 # [I] main / Bluray_InitDisc / BD+ details - Date 2011.07.11 Gen 11

2019-11-26 01:45:38 # 5409 # [I] main / ErrorHandler / A program error was detected:



Error Message: Invalid memory access

Error Code: -1073741819

Code Address: 4373540

Target Address: 12

Sourcecode line: 1178

Sourcecode file: U:\PUREBASIC\Bluray-Test\BlurayTest.pb



Will check tonight what is going wrong here... [emoji17]

Gesendet von meinem H8324 mit Tapatalk

LUR
11th December 2019, 20:54
Will check tonight what is going wrong here... [emoji17]

Gesendet von meinem H8324 mit Tapatalk

How is it going? Any ideas? :(

nalor
12th December 2019, 20:50
I've just uploaded release 0.77 - please try it.

This release includes a few fixes I've done during the last month and maybe your problem is already covered by one of them.

In case it still crashed send me the new report and I'll check the code.

bleakassassin
7th April 2020, 21:16
I've just uploaded release 0.77 - please try it.

This release includes a few fixes I've done during the last month and maybe your problem is already covered by one of them.

In case it still crashed send me the new report and I'll check the code.
Hi there! I'm not OP, but I'm running into the same issue as that user with the most recent version of this program. I'm trying to decrypt the U.S. release of Birdman, and this is the resulting log. I'd like to note that this occurs both with the disc in my Blu-ray drive and a ripped ISO of it:

2020-04-02 14:31:20 # 0 # [I] main / / #############################################################################
2020-04-02 14:31:20 # 0 # [I] main / / ----------- BlurayTestAndDecrypt 0.77 -----------
2020-04-02 14:31:20 # 0 # [I] SETTINGS / _STG_CreateOrUpdate / Created ini file >D:\BlurayTestAndDecrypt_0.77\BlurayTestAndDecrypt.ini<
2020-04-02 14:31:20 # 1 # [E] common_log / CMLOG_SetLogDirectory / new logdir invalid ><
2020-04-02 14:31:20 # 1 # [I] main / / Read settings from file >D:\BlurayTestAndDecrypt_0.77\BlurayTestAndDecrypt.ini<
2020-04-02 14:31:20 # 74 # [I] main / / >> Mode >5<
2020-04-02 14:31:20 # 74 # [I] main / / >> DecryptDest >D:\<
2020-04-02 14:31:20 # 75 # [I] bluray_udf / _UDF_Read_MetadataExtendedFileEntry / ++++ Extended File Entry ++++
2020-04-02 14:31:20 # 75 # [I] bluray_udf / _UDF_Parse_FileSetDescriptor / ++++ File Set Descriptor ++++
2020-04-02 14:31:20 # 140 # [I] main / / List of files being processed:
2020-04-02 14:31:20 # 140 # [I] main / / Detected File >D:\BlurayTestAndDecrypt_0.77\BIRDMAN.iso<
2020-04-02 14:31:20 # 140 # [I] main / / #############################################################################
2020-04-02 14:31:20 # 140 # [I] main / / 1/1 - Decrypt - ISO2ISO >D:\BlurayTestAndDecrypt_0.77\BIRDMAN.iso<
2020-04-02 14:31:20 # 141 # [I] main / CheckAndCreateOutputDir / Decrypt OutputDir: D:\
2020-04-02 14:31:20 # 141 # [I] main / DecryptIso2Iso / UDF - OpenISO
2020-04-02 14:31:20 # 141 # [I] bluray_udf / _UDF_Read_MetadataExtendedFileEntry / ++++ Extended File Entry ++++
2020-04-02 14:31:20 # 141 # [I] bluray_udf / _UDF_Parse_FileSetDescriptor / ++++ File Set Descriptor ++++
2020-04-02 14:31:20 # 203 # [I] main / DecryptIso2Iso / Details about ISO File:
UDF Revision : 0250
VolumeName : BIRDMAN

2020-04-02 14:31:20 # 203 # [I] main / DecryptIso2Iso / Initialize Disc now
2020-04-02 14:31:20 # 203 # [I] main / Bluray_InitDisc / VolumeName: BIRDMAN
2020-04-02 14:31:20 # 204 # [I] main / Bluray_InitDisc / DiscID: 27245C62EC935F097FC4E4058BA76407E70CEFA2
2020-04-02 14:31:20 # 204 # [I] main / Bluray_InitDisc / Disc is AACS protected - init necessary AACS values
2020-04-02 14:31:20 # 205 # [I] main / Bluray_InitDisc / Use default AACS-KeyDB file instead >C:\Users\Main\AppData\Roaming\aacs\keydb.cfg<
2020-04-02 14:31:20 # 205 # [I] bluray_keydb / BRKDB_OpenFile / KeyDB file >C:\Users\Main\AppData\Roaming\aacs\keydb.cfg< opened!
2020-04-02 14:31:20 # 219 # [I] bluray_keydb / BRKDB_OpenFile / KeyDB file >C:\Users\Main\AppData\Roaming\aacs\keydb.cfg< in memory now
2020-04-02 14:31:22 # 2406 # [I] bluray_keydb / _ParseMem / Removed duplicates for >0< discids from file >C:\Users\Main\AppData\Roaming\aacs\keydb.cfg<
2020-04-02 14:31:22 # 2407 # [I] main / Bluray_InitDisc / VUK >1854B56CA4681135A82C5276BAB03915< available in KeyDB entry for disc
2020-04-02 14:31:22 # 2407 # [I] main / Bluray_InitDisc / VUK: >1854B56CA4681135A82C5276BAB03915<
2020-04-02 14:31:22 # 2407 # [I] main / Bluray_InitDisc / EncryptedUnitKeyCount >1<
2020-04-02 14:31:22 # 2408 # [I] main / Bluray_InitDisc / UnitKeyCnt: 1
2020-04-02 14:31:22 # 2408 # [I] main / Bluray_InitDisc / >>> UnitKey: 8ADA030B54AC77C9DE0036497AAA8262
2020-04-02 14:31:22 # 2408 # [I] main / Bluray_InitDisc / Check if disc is BD+ protected
2020-04-02 14:31:22 # 2409 # [I] bluray_aacs / BRAACS_IsBDplusProtected / Directory >\BDSVM< does exist and there is at least 1 .svm file in the folder >\BDSVM\BACKUP\< - disc is BP+ protected
2020-04-02 14:31:22 # 2409 # [I] main / Bluray_InitDisc / Disc is BD+ protected!
2020-04-02 14:31:22 # 2421 # [I] main / Bluray_InitDisc / BD+ details - Date 2014.12.19 Gen 254
2020-04-02 14:31:24 # 4002 # [I] main / ErrorHandler / A program error was detected:

Error Message: Invalid memory access
Error Code: -1073741819
Code Address: 1979164744
Target Address: 1
Sourcecode line: 1192
Sourcecode file: U:\PUREBASIC\Bluray-Test\BlurayTest.pb

nalor
20th April 2020, 21:11
Released 0.79 - it hopefully fixes the problem reported above (I introduced this bug 2018 :( ... ) and also changes the way the keydb file is opened: shared readonly, so it's not a problem any longer when the file is also opened in another application in parallel.

bleakassassin
21st April 2020, 02:56
That update did the trick. Thanks a ton!

I'm having an issue now with regular usage. Upon getting past that error, I try to advance to decrypting the disc. However, each and every playlist on the disc quickly errors out with the following message:

ERROR! bluray_aacs-BRAACS_AutoDetectUnitKey - Decryption failed with all possible UnitKeys! >1<
ERROR! Couldn't get correct UnitKey!

ERROR! Processing of file >E:\BDMV\STREAM\00xxx.m2ts< failed!

I have an up-to-date keydb.cfg file in my %APPDATA%\aacs folder with the keys from this post (https://forum.doom9.org/showthread.php?p=1883655#post1883655) added to the top of it. Any idea what's going on?

EDIT: This issue is happening with my retail copy of Birdman (the initial release in the red case). I tried again with Slumdog Millionaire and didn't have any issues.

Bahamuth
26th August 2020, 14:51
I have a PAL BluRay from "Pokémon Origins" here. I successfully ripped it with MakeMKV, which lists AACS v63 for the disc.

Just today I read about your program here and decided to test it. But when usind Mode 2 the BluRays ID can't be found in the keydb.cfg (I did download the mentioned file via the information in https://forum.doom9.org/showthread.php?t=176924 and also updated it according to the thread).
Now I wonder how often that keydb.cfg might be updated and what is the best way to do so.

nateify
3rd October 2020, 05:11
Can anyone re-upload this please? The Tinyupload link appears to be dead

nalor
7th October 2020, 21:01
Can anyone re-upload this please? The Tinyupload link appears to be dead

Hi!

Updated the link in the first post :)

VCL1918
1st February 2021, 12:51
Hi,
I'm trying to copy some of my Bluray discs to an iso image using Mode 6 (or Mode 7 according to the first post). Unfortunately some of them have special characters (e.g. ":") in their title, which results in an error message like:


11:54:12 - ERROR! -Dump_PrepareDestFile - ERROR! Couldn't create destination file! >C:\Users\Username\Bluray: Disc 1.iso< with size >41.79< GB
11:54:12 - ERROR! -Dump_DumpDrive - ERROR! Couldn't prepare DstFile >C:\Users\Username\Bluray: Disc 1.iso<
11:54:12 - ERROR! DumpDrive >E:\< failed!


Since ":" is not supported in filenames, creating the destination file obviously fails. But afaik it is not possible to set the filename explicitly (only the path).
Any ideas to avoid/fix this?

Thanks in advance,
VCL1918

nalor
10th August 2021, 20:28
Hi,
I'm trying to copy some of my Bluray discs to an iso image using Mode 6 (or Mode 7 according to the first post). Unfortunately some of them have special characters (e.g. ":") in their title, which results in an error message like:

Since ":" is not supported in filenames, creating the destination file obviously fails. But afaik it is not possible to set the filename explicitly (only the path).
Any ideas to avoid/fix this?

Thanks in advance,
VCL1918

Hi! I'm sorry but I missed your post ... today I noticed a problem myself and created an updated release 0.80 and when I wanted to post a message here I noticed your post ... so I've fixed your problem also and now a release 0.81 is available in the first post :D

unforeseenconsequences
15th March 2022, 08:24
I have successfully extracted an .iso using your tool and am trying to use Mode 5 to repair the bdplus (BD+ Gen 7). I have what I believe is the correct convtable in that the filename of the .bin matches my MediaKey. Specifically, the convtable filename is in the format MediaKey_TITLE.bin in the file path %APPDATA%\Roaming\bdplus\convtab\. However, your tool gives me an error of "No matching file found." How exactly does your tool distinguish a convtab "matching file"?

nalor
19th March 2022, 23:02
I have successfully extracted an .iso using your tool and am trying to use Mode 5 to repair the bdplus (BD+ Gen 7). I have what I believe is the correct convtable in that the filename of the .bin matches my MediaKey. Specifically, the convtable filename is in the format MediaKey_TITLE.bin in the file path %APPDATA%\Roaming\bdplus\convtab\. However, your tool gives me an error of "No matching file found." How exactly does your tool distinguish a convtab "matching file"?

Hi! I just checked the code, the first check is quite simple - the filename has to match the pattern:

"conv_tab_"+sDiscId+"*.bin"

So I guess you're already failing in this situation.

Please try renaming your file and report what happens next :)

Bahamuth
21st July 2022, 10:09
With all cached BD+ tables from https://forum.doom9.org/showthread.php?t=176924 I cannot de-BD+ my Simpsons BluRay. It tells me, that it couldn't find any fitting FixUpTable.

Now I was told, the files inside the conv directory would be named after the MK number, not after the DiscID. So I can't use the cached BD+ tables from the thread then? Does one have to convert/rename them somehow?

candela
21st July 2022, 10:31
With all cached BD+ tables from https://forum.doom9.org/showthread.php?t=176924 I cannot de-BD+ my Simpsons BluRay. It tells me, that it couldn't find any fitting FixUpTable.

Now I was told, the files inside the conv directory would be named after the MK number, not after the DiscID. So I can't use the cached BD+ tables from the thread then? Does one have to convert/rename them somehow?

simply rename the libaacs file "MK_*.bin" to the format BlurayTestAndDecrypt expects, i.e. "conv_tab_[DiscId]_*.bin" You can find DiscID and MK for your Disc by looking in keydb.cfg, running aacskeys or aacsinfo included with libaacs

Bahamuth
27th July 2022, 08:09
Considering there are more BD-J protections than BD+, I wonder if BTAD could also be written to remove such protections? Or is there any other program which reliably remove such things?

nalor
25th April 2023, 12:09
Published release 0.94 with a few fixes and a few new features:

use RDK for BusDecryption
when @Candela posted it's message https://forum.doom9.org/showthread.php?t=184373 it's been the first time for me to hear from the ReadDataKey at all.
I started to add the on-the-fly decryption in BTAD and finished it a couple of weeks ago and did not notice any problems in the meantime, so I think its ready for primetime :D

create BD+ FUT tables with 'mediakey' in name
I wasn't really aware that the files created by BTAD did not match the filenames expected by libbdplus... so I changed it so the filenames are correct now :)
Additionally I tried XREVEAL and I like it. For an unknown reason it's expecting the BD+ FUT tables in a different directory than libbdplus - so I added the check if XREVEAL is installed and if it is, the FUT file is also created in it's specific directory.
Finally it's working well for me :)

option for auto-update
It's enabled by default and using the same mechanism as FindVUK - in case a new release is available on the server it get's downloaded and updated. Can be disabled in the ini-file if desired.

A few additional changes are listed on the first post in this thread - and as always it's possible I've introduced new bugs or changed other things without mentioning :)

nalor
25th April 2023, 12:10
Considering there are more BD-J protections than BD+, I wonder if BTAD could also be written to remove such protections? Or is there any other program which reliably remove such things?

I can tell that such a thing is way beyond my abilities ... :(

Bahamuth
15th May 2023, 16:08
I have a BluRay here (Resident Evil Degeneration) which is... strange. When I make an encrypted backup with DVDFab, it just rips the BluRay. When I try to make a decrypted backup though, DVDfab fails after 0.55% with a read error.
When I make an decrypted backup with MakeMKV (which doesn't rip to ISO but to the folder structure) I don't get that problem.

When I use BTAD on the image of the encrypted backup, it also stops after 0.55% with this:
16:49:16 - ++ DECODE ++ Pct > 0.54%< StartBlock >00086176< BlockLen >00000723< File >\BDMV\STREAM\00003.m2ts<
16:49:16 - ++ COPY ++ Pct > 0.55%< StartBlock >00086899< BlockLen >00000013<
16:49:16 - ++ DECODE ++ Pct > 0.55%< StartBlock >00086912< BlockLen >00000240< File >\BDMV\STREAM\00071.m2ts<
16:49:16 - ++ COPY ++ Pct > 0.55%< StartBlock >00087152< BlockLen >00000016<
16:49:16 - ++ DECODE ++ Pct > 0.55%< StartBlock >00087168< BlockLen >00000270< File >\BDMV\STREAM\00504.m2ts<
Filename >\BDMV\STREAM\00504.m2ts< Size GB > 0.00< Progress >1/1<

16:49:16 - ERROR! Unencrypted unit has errors! - stop now

The mentioned file is only 540 kB in size and alphabetically is the last in the STREAM folder, but the third when it comes for LBA position. What could be wrong here?

FindVUK doesn't even try any UnitKeys on the file, stopping at this:
17:06:36 - Decrypted first unit of file >D:\BDMV\STREAM\00502.m2ts< with UnitKey >2<
17:06:36 - Decrypted first unit of file >D:\BDMV\STREAM\00503.m2ts< with UnitKey >3<


So I guess it treats the file as unencrypted.

A side note: BTAD blocks access to the keydb.cfg even if it's already done ("Press Escape to exit" is shown).

Another question: are .ssif files encoded on a 3D BluRay? I only noticed BTAD isn't touching them.

nalor
15th May 2023, 20:05
I have a BluRay here (Resident Evil Degeneration) which is... strange. When I make an encrypted backup with DVDFab, it just rips the BluRay. When I try to make a decrypted backup though, DVDfab fails after 0.55% with a read error.
When I make an decrypted backup with MakeMKV (which doesn't rip to ISO but to the folder structure) I don't get that problem.

When I use BTAD on the image of the encrypted backup, it also stops after 0.55% with this:
16:49:16 - ++ DECODE ++ Pct > 0.54%< StartBlock >00086176< BlockLen >00000723< File >\BDMV\STREAM\00003.m2ts<
16:49:16 - ++ COPY ++ Pct > 0.55%< StartBlock >00086899< BlockLen >00000013<
16:49:16 - ++ DECODE ++ Pct > 0.55%< StartBlock >00086912< BlockLen >00000240< File >\BDMV\STREAM\00071.m2ts<
16:49:16 - ++ COPY ++ Pct > 0.55%< StartBlock >00087152< BlockLen >00000016<
16:49:16 - ++ DECODE ++ Pct > 0.55%< StartBlock >00087168< BlockLen >00000270< File >\BDMV\STREAM\00504.m2ts<
Filename >\BDMV\STREAM\00504.m2ts< Size GB > 0.00< Progress >1/1<

16:49:16 - ERROR! Unencrypted unit has errors! - stop now

The mentioned file is only 540 kB in size and alphabetically is the last in the STREAM folder, but the third when it comes for LBA position. What could be wrong here?

FindVUK doesn't even try any UnitKeys on the file, stopping at this:
17:06:36 - Decrypted first unit of file >D:\BDMV\STREAM\00502.m2ts< with UnitKey >2<
17:06:36 - Decrypted first unit of file >D:\BDMV\STREAM\00503.m2ts< with UnitKey >3<


So I guess it treats the file as unencrypted.

A side note: BTAD blocks access to the keydb.cfg even if it's already done ("Press Escape to exit" is shown).

Another question: are .ssif files encoded on a 3D BluRay? I only noticed BTAD isn't touching them.


Hi!

Have you tried to make an encrypted backup with BTAD? Does this work fine and does the check at the end succeed?

What to you mean with "FindVUK stops" - basically FindVUK only checks if the discovered keys are valid, so as soon as each key has been successfully tested against a single file it's happy as it knows the keys are valid.

Locking of keydb: you're right - will change it in an upcoming release.

And SSIF files are not really separate files on the disc but instead only references to other m2ts files - when you calculate the sum of all files on the disc you'll notice that it won't fit on the disc at all :D
So when the M2TS files are decoded, the SSIF is automatically decoded as well.

(as far as I remember the SSIF files are the 3d files)