diff --git a/Aaru.Core/Devices/Dumping/MMC.cs b/Aaru.Core/Devices/Dumping/MMC.cs index 89dc3d1e6..8edd08599 100644 --- a/Aaru.Core/Devices/Dumping/MMC.cs +++ b/Aaru.Core/Devices/Dumping/MMC.cs @@ -530,7 +530,7 @@ partial class Dump { UpdateStatus?.Invoke(Localization.Core.Drive_reports_disc_uses_CSS_copy_protection); - dvdDecrypt = new DVDDecryption(_dev); + dvdDecrypt = new DVDDecryption(); sense = dvdDecrypt.ReadBusKey(out cmdBuf, out _, diff --git a/Aaru.Core/Devices/Info/DeviceInfo.cs b/Aaru.Core/Devices/Info/DeviceInfo.cs index 9018f03ed..34991a50e 100644 --- a/Aaru.Core/Devices/Info/DeviceInfo.cs +++ b/Aaru.Core/Devices/Info/DeviceInfo.cs @@ -265,7 +265,7 @@ public partial class DeviceInfo if(!sense) MmcConfiguration = confBuf; - var dvdDecrypt = new DVDDecryption(dev); + var dvdDecrypt = new DVDDecryption(); sense = dvdDecrypt.ReadRpc(out byte[] cmdBuf, out _, diff --git a/Aaru.Core/Media/Info/ScsiInfo.cs b/Aaru.Core/Media/Info/ScsiInfo.cs index eaa9cea27..9f358d3db 100644 --- a/Aaru.Core/Media/Info/ScsiInfo.cs +++ b/Aaru.Core/Media/Info/ScsiInfo.cs @@ -679,7 +679,7 @@ public sealed class ScsiInfo #endregion DVD-R and HD DVD-R } - var dvdDecrypt = new DVDDecryption(dev); + var dvdDecrypt = new DVDDecryption(); sense = dvdDecrypt.ReadBusKey(out cmdBuf, out senseBuf, CopyrightType.CSS, dev.Timeout, out _); if(!sense) diff --git a/Aaru.Decryption/DVD/Dump.cs b/Aaru.Decryption/DVD/Dump.cs index 3634f2ce0..b8e9a406c 100644 --- a/Aaru.Decryption/DVD/Dump.cs +++ b/Aaru.Decryption/DVD/Dump.cs @@ -42,7 +42,7 @@ using Aaru.Logging; namespace Aaru.Decryption.DVD; -public sealed class Dump(Device dev) +public sealed class Dump : Device { const byte KEY_SIZE = 5; const byte CHALLENGE_SIZE = 2 * KEY_SIZE; @@ -62,7 +62,7 @@ public sealed class Dump(Device dev) out double duration) { senseBuffer = new byte[64]; - Span cdb = dev.CdbBuffer[..12]; + Span cdb = CdbBuffer[..12]; cdb.Clear(); buffer = new byte[8]; @@ -72,14 +72,14 @@ public sealed class Dump(Device dev) cdb[9] = (byte)(buffer.Length & 0xFF); cdb[10] = (byte)((byte)CssReportKeyFormat.Asf ^ (Agid & 0x03) << 6); - dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); + SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); AaruLogging.Debug(MODULE_NAME, Localization.REPORT_ASF_AGID_1_Sense_2_Last_Error_3_took_0_ms, duration, Agid, sense, - dev.LastError); + LastError); return sense; } @@ -95,7 +95,7 @@ public sealed class Dump(Device dev) out double duration) { senseBuffer = new byte[64]; - Span cdb = dev.CdbBuffer[..12]; + Span cdb = CdbBuffer[..12]; cdb.Clear(); buffer = new byte[8]; @@ -105,14 +105,14 @@ public sealed class Dump(Device dev) cdb[9] = (byte)(buffer.Length & 0xFF); cdb[10] = (byte)((byte)CssReportKeyFormat.RpcState ^ (Agid & 0x03) << 6); - dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); + SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); AaruLogging.Debug(MODULE_NAME, Localization.REPORT_ASF_AGID_1_Sense_2_Last_Error_3_took_0_ms, duration, Agid, sense, - dev.LastError); + LastError); return sense; } @@ -128,7 +128,7 @@ public sealed class Dump(Device dev) out double duration) { senseBuffer = new byte[64]; - Span cdb = dev.CdbBuffer[..12]; + Span cdb = CdbBuffer[..12]; cdb.Clear(); buffer = []; @@ -138,14 +138,14 @@ public sealed class Dump(Device dev) cdb[9] = (byte)(buffer.Length & 0xFF); cdb[10] = (byte)((byte)CssReportKeyFormat.InvalidateAgid ^ (Agid & 0x03) << 6); - dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); + SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); AaruLogging.Debug(MODULE_NAME, Localization.INVALIDATE_AGID_AGID_1_Sense_2_Last_Error_3_took_0_ms, duration, Agid, sense, - dev.LastError); + LastError); return sense; } @@ -161,7 +161,7 @@ public sealed class Dump(Device dev) out double duration) { senseBuffer = new byte[64]; - Span cdb = dev.CdbBuffer[..12]; + Span cdb = CdbBuffer[..12]; cdb.Clear(); buffer = new byte[8]; @@ -171,14 +171,14 @@ public sealed class Dump(Device dev) cdb[9] = (byte)(buffer.Length & 0xFF); cdb[10] = (byte)((byte)CssReportKeyFormat.AgidForCssCppm ^ (Agid & 0x03) << 6); - dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); + SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); AaruLogging.Debug(MODULE_NAME, Localization.REPORT_AGID_CSS_CPPM_AGID_1_Sense_2_Last_Error_3_took_0_ms, duration, Agid, sense, - dev.LastError); + LastError); return sense; } @@ -194,7 +194,7 @@ public sealed class Dump(Device dev) out double duration) { senseBuffer = new byte[64]; - Span cdb = dev.CdbBuffer[..12]; + Span cdb = CdbBuffer[..12]; cdb.Clear(); buffer = new byte[12]; @@ -204,14 +204,14 @@ public sealed class Dump(Device dev) cdb[9] = (byte)(buffer.Length & 0xFF); cdb[10] = (byte)((byte)CssReportKeyFormat.Key1 ^ (Agid & 0x03) << 6); - dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); + SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); AaruLogging.Debug(MODULE_NAME, Localization.REPORT_KEY1_AGID_1_Sense_2_Last_Error_3_took_0_ms, duration, Agid, sense, - dev.LastError); + LastError); return sense; } @@ -227,7 +227,7 @@ public sealed class Dump(Device dev) out double duration) { senseBuffer = new byte[64]; - Span cdb = dev.CdbBuffer[..12]; + Span cdb = CdbBuffer[..12]; cdb.Clear(); buffer = new byte[16]; @@ -237,14 +237,14 @@ public sealed class Dump(Device dev) cdb[9] = (byte)(buffer.Length & 0xFF); cdb[10] = (byte)((byte)CssReportKeyFormat.ChallengeKey ^ (Agid & 0x03) << 6); - dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); + SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); AaruLogging.Debug(MODULE_NAME, Localization.REPORT_CHALLENGE_AGID_1_Sense_2_Last_Error_3_took_0_ms, duration, Agid, sense, - dev.LastError); + LastError); return sense; } @@ -261,7 +261,7 @@ public sealed class Dump(Device dev) uint timeout, out double duration) { senseBuffer = new byte[64]; - Span cdb = dev.CdbBuffer[..12]; + Span cdb = CdbBuffer[..12]; cdb.Clear(); buffer = new byte[16]; @@ -283,7 +283,7 @@ public sealed class Dump(Device dev) buffer[12] = challengeKey[1]; buffer[13] = challengeKey[0]; - dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.Out, out duration, out bool sense); + SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.Out, out duration, out bool sense); AaruLogging.Debug(MODULE_NAME, Localization.SEND_CHALLENGE_AGID_1_Challenge_2_Sense_3_Last_Error_4_took_0_ms, @@ -291,7 +291,7 @@ public sealed class Dump(Device dev) Agid, challengeKey, sense, - dev.LastError); + LastError); return sense; } @@ -308,7 +308,7 @@ public sealed class Dump(Device dev) out double duration) { senseBuffer = new byte[64]; - Span cdb = dev.CdbBuffer[..12]; + Span cdb = CdbBuffer[..12]; cdb.Clear(); buffer = new byte[12]; @@ -325,7 +325,7 @@ public sealed class Dump(Device dev) buffer[7] = key2[1]; buffer[8] = key2[0]; - dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.Out, out duration, out bool sense); + SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.Out, out duration, out bool sense); AaruLogging.Debug(MODULE_NAME, Localization.SEND_CHALLENGE_AGID_1_KEY2_2_Sense_3_Last_Error_4_took_0_ms, @@ -333,7 +333,7 @@ public sealed class Dump(Device dev) Agid, key2, sense, - dev.LastError); + LastError); return sense; } @@ -347,7 +347,7 @@ public sealed class Dump(Device dev) public bool ReadDiscKey(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration) { senseBuffer = new byte[64]; - Span cdb = dev.CdbBuffer[..12]; + Span cdb = CdbBuffer[..12]; cdb.Clear(); buffer = new byte[2052]; @@ -359,7 +359,7 @@ public sealed class Dump(Device dev) cdb[9] = (byte)(buffer.Length & 0xFF); cdb[10] = (byte)((Agid & 0x03) << 6); - dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); + SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); return sense; } @@ -487,7 +487,7 @@ public sealed class Dump(Device dev) BusKey = buffer; senseBuffer = new byte[64]; - Span cdb = dev.CdbBuffer[..12]; + Span cdb = CdbBuffer[..12]; cdb.Clear(); buffer = new byte[12]; @@ -501,7 +501,7 @@ public sealed class Dump(Device dev) cdb[9] = (byte)(buffer.Length & 0xFF); cdb[10] = (byte)((byte)CssReportKeyFormat.TitleKey ^ (Agid & 0x03) << 6); - dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); + SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense); AaruLogging.Debug(MODULE_NAME, Localization.GET_TITLE_KEY_AGID_1_LBA_2_Sense_3_took_0_ms,