aaru-dps/Aaru

Aaru MDS image fails to run ProtectDISC game, possibly missing CSS flag

Opened this issue · 4 comments

Version

5.3.0

Commit hash

No response

Tested debug version?

  • Yes

Which operating systems have you used?

  • Windows
  • Linux
  • macOS
  • Other

What is the architectural bit size you're using?

  • 32-bit
  • 64-bit
  • Unsure or unknown

What processor are you using?

  • An Intel or AMD
  • An ARM or Apple Silicon
  • Unsure or unknown

Image format

MDS

Application that created the image

Aaru

What were you doing when it failed?

  • I was converting the image to another format...
  • I was retrieving image information...
  • I was retrieving filesystem information...
  • I was listing the filesystem contents...
  • I was extracting the filesystem contents...
  • I was creating a metadata sidecar...
  • I was checksumming the image...
  • I was verifying the image...
  • I was calculating the image entropy...

Destination image format

No response

Filesystem

No response

Description

Aaru's MDS dump of a ProtectDISC protected game isn't able to run when mounted with Alcohol 120% or Daemon Tools, but the Alcohol 120% dump is able to run. There is no difference in the MDF files, and only a 2-byte difference in the Aaru MDS
HxD_JaaXkH5qNR

This disc's CMI indicates that CSS is present, but there are no encrypted sectors. When mounted, the Alcohol image is reported as having CSS by MakeMKV, where the Aaru one doesn't. Therefore, I believe that the two differing bytes in the MDS are a flag for whether or not the image is reported as having CSS, despite the image not actually containing CSS data.

The same MDS file is created by Aaru both when dumping directly to MDS or converting an AARUF to MDS.

Exact command line used

aaru m dump D: "BLACKMIRROR2_AaruMDS.mds" -f --title-keys False

Expected behavior

The Aaru dump to play the game when mounted with a virtual drive.

Actual behavior

The Aaru dump does not play the game when mounted with a virtual drive.

Output of command execution with debug output enabled

5.3.2+f4fef21d
Copyright c 2011-2023 Natalia Portillo

Output image format: Alcohol 120% Media Descriptor Structure.
Device in database since 12/10/2021 22:25:50.

PFI:
Disc is a 120mm DVD-ROM version 1
Disc claims conformation to ECMA-267
Disc maximum transfer rate is 10,08 Mbit/sec.
Disc has 1 layers
Pitch size is 0,267 µm/bit
Track size is 0,74 µm
Data area starts at PSN 30000h
Data area ends at PSN 1B3F7Fh

Drive reports disc uses CSS copy protection.
Reading disc key.
Disc and drive authentication succeeded.
Disc and drive regions match.
Decrypting disc key.
Decryption of disc key succeeded.
Using SCSI READ (10) command.
Media has 1589120 blocks of 2048 bytes/each. (for a total of 3.031 GiB)
Device reports 1589120 blocks (3254517760 bytes).
Device can read 64 blocks at a time.
Device reports 2048 bytes per logical block.
Device reports 2048 bytes per physical block.
SCSI device type: MultiMediaDevice.
SCSI medium type: 0.
SCSI density type: 0.
SCSI floppy mode page present: False.
Media identified as DVDROM
Output format does not support DVD_CMI.
Output format does not support DVD_DiscKey.
Output format does not support DVD_DiscKey_Decrypted.
Several media tags not supported, continuing...
Reading 64 sectors at a time.
Building track map...
Setting speed to MAX..
Reading sector 1589056 of 1589120 (18.533 MiB/sec.)
Dump finished in 224.9916469 seconds.
Average dump speed 14716.210 KiB/sec.
Average write speed 757589.760 KiB/sec.
Closing output file.
Closed in 0.0502182 seconds.
Hashing image file...
Hashing image file byte 0 of 4328
Hashing media tags...
Checking filesystems
Hashing tracks...
Hashing sector 1588736 of 1589120

Writing metadata sidecar

Took a total of 224.992 seconds (215.969 processing commands, 93.871 checksumming, 4.195 writing, 0.050 closing).
Average speed: 14.371 MiB/sec.
Fastest speed burst: 95.697 MiB/sec.
Slowest speed burst: 1.019 MiB/sec.
0 sectors could not be read.

Affected image

http://redump.org/disc/78367/

829.zip

I was just able to confirm this with Aaru as well by running media info on the Alcohol virtual drive. The first run has the Alcohol image mounted, the second has the Aaru image mounted.

PS E:\Aaru 5.3> ./aaru m info G:
aaru 5.3.2+f4fef21d
Copyright c 2011-2023 Natalia Portillo

Media has 1589120 blocks of 2048 bytes/each. (for a total of 3.031 GiB)
PFI:
Disc is a 120mm DVD-ROM version 1
Disc claims conformation to ECMA-267
Disc maximum transfer rate is 10,08 Mbit/sec.
Disc has 1 layers
Pitch size is 0,267 µm/bit
Track size is 0,74 µm
Data area starts at PSN 30000h
Data area ends at PSN 1B3F7Fh

Lead-In CMI:
Disc is encrypted using CSS or CPPM.
Disc can be played in any region.

Standard Disc Information:
Disc type declared as CD-DA or CD-ROM
Disc is finalized
Last session is complete
First track on disc is track 1
Disc has 1 sessions
First track in last session is track 1
Last track in last session is track 1
Last session Lead-In address is 0 (as LBA) or 00:00:00
Last possible Lead-Out address is 0 (as LBA) or 00:00:00
Disc is defined for unrestricted use

Media identified as DVDROM
PS E:\Aaru 5.3> ./aaru m info G:
aaru 5.3.2+f4fef21d
Copyright c 2011-2023 Natalia Portillo

Media has 1589120 blocks of 2048 bytes/each. (for a total of 3.031 GiB)
PFI:
Disc is a 120mm DVD-ROM version 1
Disc claims conformation to ECMA-267
Disc maximum transfer rate is 10,08 Mbit/sec.
Disc has 1 layers
Pitch size is 0,267 µm/bit
Track size is 0,74 µm
Data area starts at PSN 30000h
Data area ends at PSN 1B3F7Fh

Lead-In CMI:
Disc is encrypted using unknown algorithm with ID 8.Disc can be played in the following regions: 1 3 4 5 6 7 8
Standard Disc Information:
Disc type declared as CD-DA or CD-ROM
Disc is finalized
Last session is complete
First track on disc is track 1
Disc has 1 sessions
First track in last session is track 1
Last track in last session is track 1
Last session Lead-In address is 0 (as LBA) or 00:00:00
Last possible Lead-Out address is 0 (as LBA) or 00:00:00
Disc is defined for unrestricted use

Media identified as DVDROM

And I was able to confirm that the "unknown algorithm with ID 8" corresponds to the 0x08 byte by manually changing it to 0x07, as media info now reports:

aaru 5.3.2+f4fef21d
Copyright c 2011-2023 Natalia Portillo

Media has 1589120 blocks of 2048 bytes/each. (for a total of 3.031 GiB)
PFI:
Disc is a 120mm DVD-ROM version 1
Disc claims conformation to ECMA-267
Disc maximum transfer rate is 10,08 Mbit/sec.
Disc has 1 layers
Pitch size is 0,267 µm/bit
Track size is 0,74 µm
Data area starts at PSN 30000h
Data area ends at PSN 1B3F7Fh

Lead-In CMI:
Disc is encrypted using unknown algorithm with ID 7.Disc can be played in the following regions: 1 3 4 5 6 7 8
Standard Disc Information:
Disc type declared as CD-DA or CD-ROM
Disc is finalized
Last session is complete
First track on disc is track 1
Disc has 1 sessions
First track in last session is track 1
Last track in last session is track 1
Last session Lead-In address is 0 (as LBA) or 00:00:00
Last possible Lead-Out address is 0 (as LBA) or 00:00:00
Disc is defined for unrestricted use

Media identified as DVDROM

@FakeShemp can you check this?, CSS is your expertise field right now.

Checked with http://redump.org/disc/110095/ ; using the black mirror MDS file provided by null makes A New Beginning (a different protectdisc game) work properly mounted via CDEMU (as does modifying those 2 bytes in the aaru black mirror mds). Seems that at the very least some protectdisc games don't actually check css keys, only that css is enabled?