diff --git a/NDecrypt.N3DS/CIATool.cs b/NDecrypt.N3DS/CIATool.cs index 9c780a2..6f91b7f 100644 --- a/NDecrypt.N3DS/CIATool.cs +++ b/NDecrypt.N3DS/CIATool.cs @@ -286,7 +286,7 @@ namespace NDecrypt.N3DS uint mediaUnitSize = 0x200; // mediaUnitSize; reader.BaseStream.Seek((tableEntry.Offset + ncchHeader.ExeFSOffsetInMediaUnits) * mediaUnitSize, SeekOrigin.Begin); - var exefsHeader = ReadExeFSHeader(reader); + var exefsHeader = N3DSDeserializer.ParseExeFSHeader(reader.BaseStream); // If the header failed to read, log and return if (exefsHeader?.FileHeaders == null) @@ -681,39 +681,6 @@ namespace NDecrypt.N3DS } } - /// - /// Read from a stream and get an ExeFS header, if possible - /// - /// BinaryReader representing the input stream - /// ExeFS header object, null on error - private static ExeFSHeader? ReadExeFSHeader(BinaryReader reader) - { - var header = new ExeFSHeader(); - - try - { - header.FileHeaders = new ExeFSFileHeader[10]; - for (int i = 0; i < 10; i++) - { - header.FileHeaders[i] = N3DSDeserializer.ParseExeFSFileHeader(reader.BaseStream)!; - } - - header.Reserved = reader.ReadBytes(0x20); - - header.FileHashes = new byte[10][]; - for (int i = 0; i < 10; i++) - { - header.FileHashes[9 - i] = reader.ReadBytes(0x20); - } - - return header; - } - catch - { - return null; - } - } - #endregion } } \ No newline at end of file diff --git a/NDecrypt.N3DS/ThreeDSTool.cs b/NDecrypt.N3DS/ThreeDSTool.cs index 62b9e7e..14dbe51 100644 --- a/NDecrypt.N3DS/ThreeDSTool.cs +++ b/NDecrypt.N3DS/ThreeDSTool.cs @@ -304,7 +304,7 @@ namespace NDecrypt.N3DS uint exeFsOffset = (partitionOffsetMU + exeFsOffsetMU + 1) * cart.MediaUnitSize(); reader.BaseStream.Seek(exeFsHeaderOffset, SeekOrigin.Begin); - var exefsHeader = ReadExeFSHeader(reader); + var exefsHeader = N3DSDeserializer.ParseExeFSHeader(reader.BaseStream); // If the header failed to read, log and return if (exefsHeader == null) @@ -794,39 +794,6 @@ namespace NDecrypt.N3DS } } - /// - /// Read from a stream and get an ExeFS header, if possible - /// - /// BinaryReader representing the input stream - /// ExeFS header object, null on error - private static ExeFSHeader? ReadExeFSHeader(BinaryReader reader) - { - var header = new ExeFSHeader(); - - try - { - header.FileHeaders = new ExeFSFileHeader[10]; - for (int i = 0; i < 10; i++) - { - header.FileHeaders[i] = N3DSDeserializer.ParseExeFSFileHeader(reader.BaseStream)!; - } - - header.Reserved = reader.ReadBytes(0x20); - - header.FileHashes = new byte[10][]; - for (int i = 0; i < 10; i++) - { - header.FileHashes[9 - i] = reader.ReadBytes(0x20); - } - - return header; - } - catch - { - return null; - } - } - #endregion } }