From daa419f8f3a0d6ff2e952fbc2215a8ea6196be09 Mon Sep 17 00:00:00 2001 From: Devedse Date: Sat, 7 Nov 2026 05:00:57 +0100 Subject: [PATCH 01/18] NTFS: read and replay the $LogFile journal (work in progress) Adds a reader for the log file service (LFS 1.x and 2.0, tail copies, multi-page records, wrap-around), the analysis pass (open attribute, dirty page and transaction tables), and redo/undo of the NTFS operations on file records, index buffers and non-resident pages. NtfsFileSystem replays the journal when it opens a volume (NtfsJournalMode), in memory for read-only streams. Co-Authored-By: Claude Opus 5.5 --- Library/DiscUtils.Ntfs/FileSystemFactory.cs | 9 +- .../Journal/JournalUtilities.cs | 201 ++++++ Library/DiscUtils.Ntfs/Journal/LfsLog.cs | 577 ++++++++++++++++++ .../DiscUtils.Ntfs/Journal/LogFileStorage.cs | 210 +++++++ .../DiscUtils.Ntfs/Journal/NtfsLogActions.cs | 523 ++++++++++++++++ .../DiscUtils.Ntfs/Journal/NtfsLogAnalysis.cs | 362 +++++++++++ .../Journal/NtfsLogOperation.cs | 148 +++++ .../DiscUtils.Ntfs/Journal/NtfsLogPages.cs | 288 +++++++++ .../DiscUtils.Ntfs/Journal/NtfsLogRecord.cs | 407 ++++++++++++ .../DiscUtils.Ntfs/Journal/NtfsLogReplayer.cs | 379 ++++++++++++ Library/DiscUtils.Ntfs/NtfsFileSystem.cs | 69 ++- Library/DiscUtils.Ntfs/NtfsJournal.cs | 370 +++++++++++ 12 files changed, 3530 insertions(+), 13 deletions(-) create mode 100644 Library/DiscUtils.Ntfs/Journal/JournalUtilities.cs create mode 100644 Library/DiscUtils.Ntfs/Journal/LfsLog.cs create mode 100644 Library/DiscUtils.Ntfs/Journal/LogFileStorage.cs create mode 100644 Library/DiscUtils.Ntfs/Journal/NtfsLogActions.cs create mode 100644 Library/DiscUtils.Ntfs/Journal/NtfsLogAnalysis.cs create mode 100644 Library/DiscUtils.Ntfs/Journal/NtfsLogOperation.cs create mode 100644 Library/DiscUtils.Ntfs/Journal/NtfsLogPages.cs create mode 100644 Library/DiscUtils.Ntfs/Journal/NtfsLogRecord.cs create mode 100644 Library/DiscUtils.Ntfs/Journal/NtfsLogReplayer.cs create mode 100644 Library/DiscUtils.Ntfs/NtfsJournal.cs diff --git a/Library/DiscUtils.Ntfs/FileSystemFactory.cs b/Library/DiscUtils.Ntfs/FileSystemFactory.cs index c1649f654..14bf214cd 100644 --- a/Library/DiscUtils.Ntfs/FileSystemFactory.cs +++ b/Library/DiscUtils.Ntfs/FileSystemFactory.cs @@ -42,6 +42,13 @@ public override IEnumerable Detect(Stream stream, VolumeInfo vol private NtfsFileSystem Open(Stream stream, VolumeInfo volumeInfo, FileSystemParameters parameters) { - return new NtfsFileSystem(stream); + var mode = NtfsFileSystem.DefaultJournalMode; + if (parameters?.Parameters["NtfsJournalMode"] is { } text && + System.Enum.TryParse(text, ignoreCase: true, out var parsed)) + { + mode = parsed; + } + + return new NtfsFileSystem(stream, mode); } } \ No newline at end of file diff --git a/Library/DiscUtils.Ntfs/Journal/JournalUtilities.cs b/Library/DiscUtils.Ntfs/Journal/JournalUtilities.cs new file mode 100644 index 000000000..ab28e27d5 --- /dev/null +++ b/Library/DiscUtils.Ntfs/Journal/JournalUtilities.cs @@ -0,0 +1,201 @@ +// +// Copyright (c) 2026, DiscUtils contributors +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// + +using System; +using System.IO; +using DiscUtils.Streams; + +namespace DiscUtils.Ntfs.Journal; + +/// +/// The journal could not be read or replayed. The volume is left as it was. +/// +internal sealed class JournalException : IOException +{ + public JournalException(string message) + : base(message) { } +} + +internal static class JournalUtilities +{ + public static readonly uint SignatureFile = Signature("FILE"); + public static readonly uint SignatureIndx = Signature("INDX"); + public static readonly uint SignatureRstr = Signature("RSTR"); + public static readonly uint SignatureRcrd = Signature("RCRD"); + public static readonly uint SignatureChkd = Signature("CHKD"); + public static readonly uint SignatureBaad = Signature("BAAD"); + public static readonly uint SignatureHole = Signature("HOLE"); + + private static uint Signature(string text) => + (uint)(text[0] | (text[1] << 8) | (text[2] << 16) | (text[3] << 24)); + + public static ushort U16(byte[] b, int offset) => EndianUtilities.ToUInt16LittleEndian(b, offset); + + public static uint U32(byte[] b, int offset) => EndianUtilities.ToUInt32LittleEndian(b, offset); + + public static ulong U64(byte[] b, int offset) => EndianUtilities.ToUInt64LittleEndian(b, offset); + + public static void Put16(byte[] b, int offset, ushort value) => EndianUtilities.WriteBytesLittleEndian(value, b, offset); + + public static void Put32(byte[] b, int offset, uint value) => EndianUtilities.WriteBytesLittleEndian(value, b, offset); + + public static void Put64(byte[] b, int offset, ulong value) => EndianUtilities.WriteBytesLittleEndian(value, b, offset); + + public static int Align8(int value) => (value + 7) & ~7; + + /// + /// Removes the update sequence array protection of a multi-sector structure (MFT record, index buffer, + /// log page) in place: the last two bytes of every stride go back to the values saved in the array. + /// + /// false if the header is implausible or a stride does not end with the sequence number + /// (a torn write); the buffer is then left unchanged. + public static bool RemoveFixups(byte[] buffer, int offset, int length) + { + if (!TryGetFixupLayout(buffer, offset, length, out var usaOffset, out var usaCount, out var stride)) + { + return false; + } + + var usn = U16(buffer, offset + usaOffset); + for (var i = 1; i < usaCount; i++) + { + if (U16(buffer, offset + (i * stride) - 2) != usn) + { + return false; + } + } + + for (var i = 1; i < usaCount; i++) + { + buffer[offset + (i * stride) - 2] = buffer[offset + usaOffset + (2 * i)]; + buffer[offset + (i * stride) - 1] = buffer[offset + usaOffset + (2 * i) + 1]; + } + + return true; + } + + /// + /// Protects a multi-sector structure before it is written: increments the update sequence number and puts it + /// at the end of every stride, saving the original bytes in the array. + /// + public static void ApplyFixups(byte[] buffer, int offset, int length) + { + if (!TryGetFixupLayout(buffer, offset, length, out var usaOffset, out var usaCount, out var stride)) + { + throw new JournalException("A changed record has no valid update sequence array"); + } + + var usn = (ushort)(U16(buffer, offset + usaOffset) + 1); + if (usn is 0 or 0xFFFF) + { + usn = 1; + } + + Put16(buffer, offset + usaOffset, usn); + for (var i = 1; i < usaCount; i++) + { + var end = offset + (i * stride) - 2; + buffer[offset + usaOffset + (2 * i)] = buffer[end]; + buffer[offset + usaOffset + (2 * i) + 1] = buffer[end + 1]; + Put16(buffer, end, usn); + } + } + + private static bool TryGetFixupLayout(byte[] buffer, int offset, int length, out int usaOffset, out int usaCount, + out int stride) + { + usaOffset = U16(buffer, offset + 4); + usaCount = U16(buffer, offset + 6); + stride = 0; + if (usaCount < 2 || usaOffset < 8 || usaOffset + (2 * usaCount) > length || (usaOffset & 1) != 0) + { + return false; + } + + // NTFS protects every 512 bytes; derive it from the array length so 4K-sector volumes work too. + if (length % (usaCount - 1) != 0) + { + return false; + } + + stride = length / (usaCount - 1); + return stride is >= 256 and <= 4096 && (stride & (stride - 1)) == 0 && usaOffset + (2 * usaCount) <= stride; + } + + public static void ReadExactly(Stream stream, long position, byte[] buffer, int offset, int count) + { + stream.Position = position; + var done = 0; + while (done < count) + { + var n = stream.Read(buffer, offset + done, count - done); + if (n <= 0) + { + throw new JournalException($"Unexpected end of the volume at byte {position + done}"); + } + + done += n; + } + } +} + +/// +/// The parts of the boot sector the journal code needs. +/// +internal sealed class JournalVolumeLayout +{ + public int BytesPerSector { get; private set; } + + public int BytesPerCluster { get; private set; } + + public int MftRecordSize { get; private set; } + + public int IndexBufferSize { get; private set; } + + public long MftCluster { get; private set; } + + public long MftMirrorCluster { get; private set; } + + public long TotalClusters { get; private set; } + + public static JournalVolumeLayout Read(Stream volume) + { + var bytes = new byte[512]; + JournalUtilities.ReadExactly(volume, 0, bytes, 0, bytes.Length); + var bpb = BiosParameterBlock.FromBytes(bytes); + if (!bpb.IsValid(volume.Length)) + { + throw new InvalidFileSystemException("BIOS Parameter Block is invalid for an NTFS file system"); + } + + return new JournalVolumeLayout + { + BytesPerSector = bpb.BytesPerSector, + BytesPerCluster = bpb.BytesPerCluster, + MftRecordSize = bpb.MftRecordSize, + IndexBufferSize = bpb.IndexBufferSize, + MftCluster = bpb.MftCluster, + MftMirrorCluster = bpb.MftMirrorCluster, + TotalClusters = bpb.TotalSectors64 / bpb.SectorsPerCluster, + }; + } +} diff --git a/Library/DiscUtils.Ntfs/Journal/LfsLog.cs b/Library/DiscUtils.Ntfs/Journal/LfsLog.cs new file mode 100644 index 000000000..4f5a52c5e --- /dev/null +++ b/Library/DiscUtils.Ntfs/Journal/LfsLog.cs @@ -0,0 +1,577 @@ +// +// Copyright (c) 2026, DiscUtils contributors +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// + +using System; +using System.Collections.Generic; +using System.Text; +using static DiscUtils.Ntfs.Journal.JournalUtilities; + +namespace DiscUtils.Ntfs.Journal; + +/// +/// A client of the log (NTFS is the only one) as listed in the restart area. +/// +internal sealed class LfsClient +{ + public ulong OldestLsn { get; set; } + + public ulong RestartLsn { get; set; } + + public ushort PreviousClient { get; set; } + + public ushort NextClient { get; set; } + + public ushort SequenceNumber { get; set; } + + public string Name { get; set; } +} + +/// +/// One of the two restart pages at the start of $LogFile: the page header and its restart area. +/// +internal sealed class LfsRestartPage +{ + public const ushort NoClient = 0xFFFF; + public const ushort FlagCleanDismount = 0x0002; + + public long Offset { get; set; } + + public uint Signature { get; set; } + + public int SystemPageSize { get; set; } + + public int LogPageSize { get; set; } + + public int RestartAreaOffset { get; set; } + + public short MinorVersion { get; set; } + + public short MajorVersion { get; set; } + + public ulong CurrentLsn { get; set; } + + public ushort LogClients { get; set; } + + public ushort FreeClientList { get; set; } + + public ushort InUseClientList { get; set; } + + public ushort Flags { get; set; } + + public int SequenceNumberBits { get; set; } + + public ushort ClientArrayOffset { get; set; } + + public long FileSize { get; set; } + + public ushort RecordHeaderLength { get; set; } + + public ushort LogPageDataOffset { get; set; } + + public uint OpenLogCount { get; set; } + + public List Clients { get; } = []; + + /// The page with its update sequence array removed. + public byte[] Page { get; set; } + + public bool IsClean => (Flags & FlagCleanDismount) != 0; + + public LfsClient InUseClient => InUseClientList == NoClient ? null : Clients[InUseClientList]; + + /// + /// Reads a restart page at ; null if there is none or it is damaged. + /// + public static LfsRestartPage TryRead(LogFileStorage storage, long offset) + { + if (offset < 0 || offset + 512 > storage.Length) + { + return null; + } + + var head = new byte[512]; + storage.Read(offset, head, 0, head.Length); + var signature = U32(head, 0); + if (signature != SignatureRstr && signature != SignatureChkd) + { + return null; + } + + var systemPageSize = (int)U32(head, 0x10); + var logPageSize = (int)U32(head, 0x14); + if (!IsPageSize(systemPageSize) || !IsPageSize(logPageSize) || offset + systemPageSize > storage.Length) + { + return null; + } + + var page = new byte[systemPageSize]; + storage.Read(offset, page, 0, page.Length); + if (!RemoveFixups(page, 0, page.Length)) + { + return null; + } + + var result = new LfsRestartPage + { + Offset = offset, + Signature = signature, + SystemPageSize = systemPageSize, + LogPageSize = logPageSize, + RestartAreaOffset = U16(page, 0x18), + MinorVersion = (short)U16(page, 0x1A), + MajorVersion = (short)U16(page, 0x1C), + Page = page, + }; + + var ra = result.RestartAreaOffset; + if ((ra & 7) != 0 || ra < 0x1E || ra + 0x30 > systemPageSize) + { + return null; + } + + result.CurrentLsn = U64(page, ra); + result.LogClients = U16(page, ra + 0x08); + result.FreeClientList = U16(page, ra + 0x0A); + result.InUseClientList = U16(page, ra + 0x0C); + result.Flags = U16(page, ra + 0x0E); + result.SequenceNumberBits = (int)U32(page, ra + 0x10); + result.ClientArrayOffset = U16(page, ra + 0x16); + result.FileSize = (long)U64(page, ra + 0x18); + result.RecordHeaderLength = U16(page, ra + 0x24); + result.LogPageDataOffset = U16(page, ra + 0x26); + result.OpenLogCount = U32(page, ra + 0x28); + + var clients = ra + result.ClientArrayOffset; + if (result.LogClients == 0 || result.LogClients > 64 || clients + (result.LogClients * 0xA0) > systemPageSize) + { + return null; + } + + for (var i = 0; i < result.LogClients; i++) + { + var c = clients + (i * 0xA0); + var nameBytes = (int)Math.Min(U32(page, c + 0x1C), 0x80); + result.Clients.Add(new LfsClient + { + OldestLsn = U64(page, c), + RestartLsn = U64(page, c + 0x08), + PreviousClient = U16(page, c + 0x10), + NextClient = U16(page, c + 0x12), + SequenceNumber = U16(page, c + 0x14), + Name = Encoding.Unicode.GetString(page, c + 0x20, nameBytes), + }); + } + + if (result.InUseClientList != NoClient && result.InUseClientList >= result.LogClients) + { + return null; + } + + return result; + } + + private static bool IsPageSize(int size) => size is >= 512 and <= 0x10000 && (size & (size - 1)) == 0; +} + +/// +/// A log record as LFS stores it: its header and the client's data. +/// +internal sealed class LfsRecord +{ + public const uint TypeClientRecord = 1; + public const uint TypeClientRestart = 2; + + public ulong Lsn { get; set; } + + public ulong ClientPreviousLsn { get; set; } + + public ulong ClientUndoNextLsn { get; set; } + + public ushort ClientSequenceNumber { get; set; } + + public ushort ClientIndex { get; set; } + + public uint RecordType { get; set; } + + public uint TransactionId { get; set; } + + public ushort Flags { get; set; } + + public byte[] ClientData { get; set; } +} + +/// +/// Reads the log records of $LogFile (log file service versions 1.x and 2.0). +/// +/// +/// LFS 2.0 (Windows 8 and later, while the volume is mounted) keeps 32 "tail" copies of recently written log pages +/// in pages 2 to 0x21, version 1.x keeps two in pages 2 and 3. A copy can be newer than the page at its place in +/// the log, so every page is read from whichever copy holds the highest LSN. A record belongs to the log only if +/// its header carries exactly the LSN it was looked up by; the first position where that fails is the end. +/// +internal sealed class LfsLog +{ + private readonly LogFileStorage _storage; + private readonly Dictionary _pages = []; + private readonly Dictionary> _tailCopies = []; + + private LfsLog(LogFileStorage storage, LfsRestartPage restart, LfsRestartPage[] restartPages) + { + _storage = storage; + Restart = restart; + RestartPages = restartPages; + PageSize = restart.LogPageSize; + SequenceNumberBits = restart.SequenceNumberBits; + FileSize = restart.FileSize; + DataOffset = restart.LogPageDataOffset; + RecordHeaderLength = restart.RecordHeaderLength; + FirstPageOffset = (restart.MajorVersion >= 2 ? 0x22L : 4L) * PageSize; + ReadTailCopies(); + } + + public LogFileStorage Storage => _storage; + + /// The restart page in use (the valid copy with the highest current LSN). + public LfsRestartPage Restart { get; } + + /// Both restart pages as found (an entry is null when that copy is damaged). + public LfsRestartPage[] RestartPages { get; } + + public int PageSize { get; } + + public int SequenceNumberBits { get; } + + public long FileSize { get; } + + public int DataOffset { get; } + + public int RecordHeaderLength { get; } + + public long FirstPageOffset { get; } + + /// + /// The kind of $LogFile found. + /// + public enum Kind + { + /// No restart page; the file is filled with 0xFF (freshly formatted or reset). Nothing to do. + Empty, + + /// chkdsk wrote a CHKD restart page: it already repaired the volume and obsoleted the log. + CheckedByChkdsk, + + /// A usable log. + Log, + } + + /// + /// Opens the log. tells whether there is a log at all; the result is null unless + /// it is . + /// + public static LfsLog Open(LogFileStorage storage, out Kind kind) + { + var first = LfsRestartPage.TryRead(storage, 0); + LfsRestartPage second = null; + if (first != null) + { + second = LfsRestartPage.TryRead(storage, first.SystemPageSize); + } + else + { + for (long offset = 512; offset <= 0x10000 && second == null; offset *= 2) + { + second = LfsRestartPage.TryRead(storage, offset); + } + } + + if (first == null && second == null) + { + var head = new byte[512]; + storage.Read(0, head, 0, head.Length); + if (Array.TrueForAll(head, b => b == 0xFF)) + { + kind = Kind.Empty; + return null; + } + + throw new JournalException("$LogFile has no valid restart page"); + } + + if (first?.Signature == SignatureChkd || second?.Signature == SignatureChkd) + { + kind = Kind.CheckedByChkdsk; + return null; + } + + var restart = first == null || (second != null && second.CurrentLsn > first.CurrentLsn) ? second : first; + if (restart.MajorVersion is not (1 or 2)) + { + throw new JournalException( + $"$LogFile uses log file service version {restart.MajorVersion}.{restart.MinorVersion}, which DiscUtils does not support"); + } + + if (restart.SequenceNumberBits is < 16 or > 60 || restart.FileSize > storage.Length || + restart.FileSize < 8L * restart.LogPageSize || restart.RecordHeaderLength != 0x30 || + restart.LogPageDataOffset < 0x28 || restart.LogPageDataOffset >= restart.LogPageSize) + { + throw new JournalException("$LogFile has an implausible restart area"); + } + + kind = Kind.Log; + return new LfsLog(storage, restart, [first, second]); + } + + public long LsnToOffset(ulong lsn) => (long)((lsn << SequenceNumberBits) >> (SequenceNumberBits - 3)); + + public ulong SequenceOf(ulong lsn) => lsn >> (64 - SequenceNumberBits); + + private ulong MakeLsn(ulong sequence, long offset) => (sequence << (64 - SequenceNumberBits)) + (ulong)(offset >> 3); + + /// + /// Reads the record with this LSN; null if the log holds no such record (the end of the log). + /// + public LfsRecord ReadRecord(ulong lsn) + { + if (lsn == 0) + { + return null; + } + + var offset = LsnToOffset(lsn); + var pageOffset = offset & ~(long)(PageSize - 1); + var inPage = (int)(offset - pageOffset); + if (pageOffset < FirstPageOffset || offset >= FileSize || inPage < DataOffset || inPage + RecordHeaderLength > PageSize) + { + return null; + } + + var page = GetPage(pageOffset, lsn); + if (page == null || U64(page, inPage) != lsn) + { + return null; + } + + var dataLength = (int)U32(page, inPage + 0x18); + if (dataLength < 0 || dataLength > FileSize) + { + return null; + } + + var record = new LfsRecord + { + Lsn = lsn, + ClientPreviousLsn = U64(page, inPage + 0x08), + ClientUndoNextLsn = U64(page, inPage + 0x10), + ClientSequenceNumber = U16(page, inPage + 0x1C), + ClientIndex = U16(page, inPage + 0x1E), + RecordType = U32(page, inPage + 0x20), + TransactionId = U32(page, inPage + 0x24), + Flags = U16(page, inPage + 0x28), + ClientData = new byte[dataLength], + }; + + var copied = Math.Min(dataLength, PageSize - (inPage + RecordHeaderLength)); + Array.Copy(page, inPage + RecordHeaderLength, record.ClientData, 0, copied); + var current = pageOffset; + while (copied < dataLength) + { + current = NextPageOffset(current, out _); + var next = GetPage(current, lsn); + if (next == null) + { + return null; + } + + var chunk = Math.Min(dataLength - copied, PageSize - DataOffset); + Array.Copy(next, DataOffset, record.ClientData, copied, chunk); + copied += chunk; + } + + return record; + } + + /// + /// The LSN right after a record: records are 8-byte aligned, continue after the header of the next page, and + /// a record whose header no longer fits in a page starts on the next page. + /// + public ulong NextLsn(LfsRecord record) + { + var offset = LsnToOffset(record.Lsn); + var sequence = SequenceOf(record.Lsn); + var remaining = (long)Align8(RecordHeaderLength + record.ClientData.Length); + var pageOffset = offset & ~(long)(PageSize - 1); + var room = PageSize - (offset - pageOffset); + long position; + if (remaining < room) + { + position = offset + remaining; + } + else + { + remaining -= room; + while (true) + { + pageOffset = NextPageOffset(pageOffset, out var wrapped); + if (wrapped) + { + sequence++; + } + + var available = PageSize - DataOffset; + if (remaining < available) + { + position = pageOffset + DataOffset + remaining; + break; + } + + remaining -= available; + } + } + + if (PageSize - (position & (PageSize - 1)) < RecordHeaderLength) + { + pageOffset = NextPageOffset(position & ~(long)(PageSize - 1), out var wrapped); + if (wrapped) + { + sequence++; + } + + position = pageOffset + DataOffset; + } + + return MakeLsn(sequence, position); + } + + /// + /// Reads the records from up to the end of the log, in order. + /// + public IEnumerable ReadForward(ulong startLsn) + { + var record = ReadRecord(startLsn); + while (record != null) + { + yield return record; + var next = NextLsn(record); + if (next <= record.Lsn) + { + yield break; + } + + record = ReadRecord(next); + } + } + + private long NextPageOffset(long pageOffset, out bool wrapped) + { + var next = pageOffset + PageSize; + wrapped = next >= FileSize; + return wrapped ? FirstPageOffset : next; + } + + /// + /// The log page at from whichever copy (in place or tail copy) is the newest + /// one that can hold data of the record ; null if none is valid. + /// + private byte[] GetPage(long pageOffset, ulong lsn) + { + if (!_pages.TryGetValue(pageOffset, out var main)) + { + main = ReadLogPage(pageOffset); + _pages[pageOffset] = main; + } + + byte[] best = null; + ulong bestLsn = 0; + if (main != null) + { + best = main; + bestLsn = U64(main, 0x08); + } + + if (_tailCopies.TryGetValue(pageOffset, out var copies)) + { + foreach (var copy in copies) + { + var copyLsn = TailCopyLsn(copy); + if (best == null || copyLsn > bestLsn) + { + best = copy; + bestLsn = copyLsn; + } + } + } + + // A page that was last written before this record existed cannot hold any of its data. + if (best != null && bestLsn < lsn) + { + return null; + } + + return best; + } + + private ulong TailCopyLsn(byte[] copy) => Restart.MajorVersion >= 2 ? U64(copy, 0x08) : U64(copy, 0x20); + + private byte[] ReadLogPage(long pageOffset) + { + if (pageOffset + PageSize > _storage.Length) + { + return null; + } + + var page = new byte[PageSize]; + _storage.Read(pageOffset, page, 0, page.Length); + if (U32(page, 0) != SignatureRcrd || !RemoveFixups(page, 0, page.Length)) + { + return null; + } + + return page; + } + + private void ReadTailCopies() + { + for (var offset = 2L * PageSize; offset < FirstPageOffset; offset += PageSize) + { + var page = ReadLogPage(offset); + if (page == null) + { + continue; + } + + // Version 2.0 keeps the place of the copied page at 0x3C; version 1.x puts it where an LSN would be. + var target = Restart.MajorVersion >= 2 ? U32(page, 0x3C) : (long)U64(page, 0x08); + if (target < FirstPageOffset || target >= FileSize || (target & (PageSize - 1)) != 0) + { + continue; + } + + if (!_tailCopies.TryGetValue(target, out var list)) + { + list = []; + _tailCopies[target] = list; + } + + list.Add(page); + } + } +} diff --git a/Library/DiscUtils.Ntfs/Journal/LogFileStorage.cs b/Library/DiscUtils.Ntfs/Journal/LogFileStorage.cs new file mode 100644 index 000000000..762a760d8 --- /dev/null +++ b/Library/DiscUtils.Ntfs/Journal/LogFileStorage.cs @@ -0,0 +1,210 @@ +// +// Copyright (c) 2026, DiscUtils contributors +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// + +using System; +using System.Collections.Generic; +using System.IO; +using static DiscUtils.Ntfs.Journal.JournalUtilities; + +namespace DiscUtils.Ntfs.Journal; + +/// +/// Byte access to the $LogFile data on the raw volume, located through MFT record 2 before the file system is +/// mounted. $LogFile's own record is written at format time only, so it is never stale. +/// +internal sealed class LogFileStorage +{ + private const int LogFileRecordNumber = 2; + private const uint AttributeData = 0x80; + private const uint AttributeEnd = 0xFFFFFFFF; + + private readonly Stream _volume; + private readonly int _clusterSize; + private readonly List<(long Vcn, long Lcn, long Length)> _extents; + + private LogFileStorage(Stream volume, int clusterSize, List<(long, long, long)> extents, long length) + { + _volume = volume; + _clusterSize = clusterSize; + _extents = extents; + Length = length; + } + + /// Gets the size of the $LogFile data in bytes. + public long Length { get; } + + public static LogFileStorage Open(Stream volume, JournalVolumeLayout layout) + { + var record = ReadLogFileRecord(volume, layout, layout.MftCluster) + ?? ReadLogFileRecord(volume, layout, layout.MftMirrorCluster) + ?? throw new JournalException("Neither $MFT nor $MFTMirr holds a valid record for $LogFile"); + + int attrOffset = U16(record, 0x14); + while (attrOffset + 8 <= record.Length) + { + var type = U32(record, attrOffset); + var length = (int)U32(record, attrOffset + 4); + if (type == AttributeEnd || length < 0x18 || attrOffset + length > record.Length) + { + break; + } + + var nameLength = record[attrOffset + 9]; + if (type == AttributeData && nameLength == 0) + { + if (record[attrOffset + 8] == 0) + { + throw new JournalException("$LogFile has resident data, which NTFS never does"); + } + + var runsOffset = U16(record, attrOffset + 0x20); + var dataLength = (long)U64(record, attrOffset + 0x30); + var extents = ParseRuns(record, attrOffset + runsOffset, attrOffset + length); + return new LogFileStorage(volume, layout.BytesPerCluster, extents, dataLength); + } + + attrOffset += length; + } + + throw new JournalException("$LogFile has no data attribute"); + } + + private static byte[] ReadLogFileRecord(Stream volume, JournalVolumeLayout layout, long mftCluster) + { + var record = new byte[layout.MftRecordSize]; + var position = (mftCluster * layout.BytesPerCluster) + ((long)LogFileRecordNumber * layout.MftRecordSize); + if (position < 0 || position + record.Length > volume.Length) + { + return null; + } + + ReadExactly(volume, position, record, 0, record.Length); + if (U32(record, 0) != SignatureFile || !RemoveFixups(record, 0, record.Length) || (U16(record, 0x16) & 1) == 0) + { + return null; + } + + return record; + } + + private static List<(long, long, long)> ParseRuns(byte[] record, int offset, int end) + { + var extents = new List<(long, long, long)>(); + long vcn = 0; + long lcn = 0; + while (offset < end && record[offset] != 0) + { + var header = record[offset]; + var lengthSize = header & 0x0F; + var offsetSize = header >> 4; + if (lengthSize is 0 or > 8 || offsetSize > 8 || offset + 1 + lengthSize + offsetSize > end) + { + throw new JournalException("$LogFile has a damaged run list"); + } + + var runLength = ReadUnsigned(record, offset + 1, lengthSize); + if (offsetSize == 0) + { + throw new JournalException("$LogFile is sparse, which NTFS never does"); + } + + lcn += ReadSigned(record, offset + 1 + lengthSize, offsetSize); + extents.Add((vcn, lcn, runLength)); + vcn += runLength; + offset += 1 + lengthSize + offsetSize; + } + + return extents; + } + + private static long ReadUnsigned(byte[] buffer, int offset, int size) + { + long value = 0; + for (var i = size - 1; i >= 0; i--) + { + value = (value << 8) | buffer[offset + i]; + } + + return value; + } + + private static long ReadSigned(byte[] buffer, int offset, int size) + { + var value = ReadUnsigned(buffer, offset, size); + + // Sign-extend from the top bit of the last byte. + if (size < 8 && (buffer[offset + size - 1] & 0x80) != 0) + { + value |= -1L << (size * 8); + } + + return value; + } + + public void Read(long position, byte[] buffer, int offset, int count) => Transfer(position, buffer, offset, count, write: false); + + public void Write(long position, byte[] buffer, int offset, int count) => Transfer(position, buffer, offset, count, write: true); + + private void Transfer(long position, byte[] buffer, int offset, int count, bool write) + { + if (position < 0 || position + count > Length) + { + throw new JournalException($"Access beyond the end of $LogFile at {position}"); + } + + while (count > 0) + { + var vcn = position / _clusterSize; + var inCluster = (int)(position % _clusterSize); + var extent = FindExtent(vcn); + var available = ((extent.Vcn + extent.Length - vcn) * _clusterSize) - inCluster; + var chunk = (int)Math.Min(count, available); + var physical = ((extent.Lcn + (vcn - extent.Vcn)) * _clusterSize) + inCluster; + if (write) + { + _volume.Position = physical; + _volume.Write(buffer, offset, chunk); + } + else + { + ReadExactly(_volume, physical, buffer, offset, chunk); + } + + position += chunk; + offset += chunk; + count -= chunk; + } + } + + private (long Vcn, long Lcn, long Length) FindExtent(long vcn) + { + foreach (var extent in _extents) + { + if (vcn >= extent.Vcn && vcn < extent.Vcn + extent.Length) + { + return extent; + } + } + + throw new JournalException($"$LogFile has no cluster for VCN {vcn}"); + } +} diff --git a/Library/DiscUtils.Ntfs/Journal/NtfsLogActions.cs b/Library/DiscUtils.Ntfs/Journal/NtfsLogActions.cs new file mode 100644 index 000000000..a08449710 --- /dev/null +++ b/Library/DiscUtils.Ntfs/Journal/NtfsLogActions.cs @@ -0,0 +1,523 @@ +// +// Copyright (c) 2026, DiscUtils contributors +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// + +using System; +using static DiscUtils.Ntfs.Journal.JournalUtilities; + +namespace DiscUtils.Ntfs.Journal; + +/// +/// The byte-level meaning of every operation NTFS logs, applied to a page in its logical form. Each action checks +/// that the page looks the way the log record expects (an attribute or index entry starts exactly at the logged +/// offset, sizes stay inside the record) and throws otherwise, so a replay never writes a guess. +/// +internal static class NtfsLogActions +{ + // File record header + private const int FrSequence = 0x10; + private const int FrHardLinks = 0x12; + private const int FrFirstAttribute = 0x14; + private const int FrFlags = 0x16; + private const int FrBytesInUse = 0x18; + private const int FrNextAttributeId = 0x28; + + // Attribute header + private const int AType = 0x00; + private const int ALength = 0x04; + private const int ANonResident = 0x08; + private const int AId = 0x0E; + private const int RValueLength = 0x10; + private const int RValueOffset = 0x14; + private const int RIndexed = 0x16; + private const int NStartVcn = 0x10; + private const int NLastVcn = 0x18; + private const int NRunsOffset = 0x20; + private const int NAllocated = 0x28; + private const int NDataSize = 0x30; + private const int NValidSize = 0x38; + private const int NTotalSize = 0x40; + + private const uint AttributeEnd = 0xFFFFFFFF; + private const uint AttributeIndexRoot = 0x90; + + // Index header (inside an INDEX_ROOT value at +0x10, inside an INDX buffer at +0x18) + private const int IhEntriesOffset = 0x00; + private const int IhUsed = 0x04; + private const int IhTotal = 0x08; + private const int IndxHeader = 0x18; + + // Index entry + private const int IeLength = 0x08; + private const int FileNameDuplicatedInfo = 0x18; + private const int DuplicatedInfoLength = 0x38; + + /// + /// Applies with to a file record. + /// + public static void ApplyToFileRecord(NtfsLogOperation op, NtfsLogRecord record, byte[] p, ArraySegment data) + { + var roff = record.RecordOffset; + var aoff = record.AttributeOffset; + var size = p.Length; + switch (op) + { + case NtfsLogOperation.InitializeFileRecordSegment: + // The record image; like Windows, the rest of the record keeps its old bytes. + Require(roff + data.Count <= size, record, "the new file record does not fit"); + Copy(data, p, roff); + return; + + case NtfsLogOperation.DeallocateFileRecordSegment: + Put16(p, FrFlags, (ushort)(U16(p, FrFlags) & ~1)); + Put16(p, FrSequence, (ushort)(U16(p, FrSequence) + 1)); + return; + + case NtfsLogOperation.WriteEndOfFileRecordSegment: + RequireAttributeAt(p, roff, record, allowEnd: true); + Require(roff + data.Count <= size, record, "the end of the file record does not fit"); + Copy(data, p, roff); + Put32(p, FrBytesInUse, (uint)Align8(roff + data.Count)); + return; + + case NtfsLogOperation.CreateAttribute: + CreateAttribute(p, record, data); + return; + + case NtfsLogOperation.DeleteAttribute: + DeleteAttribute(p, record); + return; + + case NtfsLogOperation.UpdateResidentValue: + UpdateResidentValue(p, record, data); + return; + + case NtfsLogOperation.UpdateMappingPairs: + UpdateMappingPairs(p, record, data); + return; + + case NtfsLogOperation.SetNewAttributeSizes: + RequireAttributeAt(p, roff, record); + Require(p[roff + ANonResident] != 0, record, "new sizes for a resident attribute"); + Require(data.Count >= 24, record, "the new sizes are too short"); + Put64(p, roff + NAllocated, U64(data.Array, data.Offset)); + Put64(p, roff + NValidSize, U64(data.Array, data.Offset + 8)); + Put64(p, roff + NDataSize, U64(data.Array, data.Offset + 16)); + if (data.Count >= 32 && U16(p, roff + NRunsOffset) >= NTotalSize + 8) + { + Put64(p, roff + NTotalSize, U64(data.Array, data.Offset + 24)); + } + + return; + + case NtfsLogOperation.AddIndexEntryRoot: + AddIndexEntryRoot(p, record, data); + return; + + case NtfsLogOperation.DeleteIndexEntryRoot: + DeleteIndexEntryRoot(p, record); + return; + + case NtfsLogOperation.SetIndexEntryVcnRoot: + { + var entry = RequireRootEntry(p, record, out _); + SetEntryVcn(p, entry, data, record); + return; + } + + case NtfsLogOperation.UpdateFileNameRoot: + { + var entry = RequireRootEntry(p, record, out _); + UpdateFileName(p, entry, data, record); + return; + } + + case NtfsLogOperation.UpdateRecordDataRoot: + { + var entry = RequireRootEntry(p, record, out _); + UpdateRecordData(p, entry, data, record); + return; + } + + case NtfsLogOperation.ZeroEndOfFileRecord: + Require(roff + data.Count <= size, record, "the zeroed range does not fit"); + Array.Clear(p, roff, data.Count); + return; + + default: + throw Unsupported(op, record); + } + } + + /// + /// Applies with to an index buffer. + /// + public static void ApplyToIndexBuffer(NtfsLogOperation op, NtfsLogRecord record, byte[] q, ArraySegment data) + { + var aoff = record.AttributeOffset; + switch (op) + { + case NtfsLogOperation.AddIndexEntryAllocation: + { + RequireIndexBufferEntry(q, aoff, record); + var used = (int)U32(q, IndxHeader + IhUsed); + var total = (int)U32(q, IndxHeader + IhTotal); + var length = EntryLength(data, record); + Require(used + length <= total && IndxHeader + used + length <= q.Length, record, "the index buffer is full"); + var end = IndxHeader + used; + Array.Copy(q, aoff, q, aoff + length, end - aoff); + Array.Copy(data.Array, data.Offset, q, aoff, length); + Put32(q, IndxHeader + IhUsed, (uint)(used + length)); + return; + } + + case NtfsLogOperation.DeleteIndexEntryAllocation: + { + RequireIndexBufferEntry(q, aoff, record); + var used = (int)U32(q, IndxHeader + IhUsed); + var end = IndxHeader + used; + var length = U16(q, aoff + IeLength); + Require(length > 0 && aoff + length <= end, record, "the index entry runs past the used part"); + Array.Copy(q, aoff + length, q, aoff, end - aoff - length); + Put32(q, IndxHeader + IhUsed, (uint)(used - length)); + return; + } + + case NtfsLogOperation.WriteEndOfIndexBuffer: + { + RequireIndexBufferEntry(q, aoff, record); + var total = (int)U32(q, IndxHeader + IhTotal); + Require(aoff + data.Count <= IndxHeader + total && aoff + data.Count <= q.Length, record, + "the end of the index buffer does not fit"); + Put32(q, IndxHeader + IhUsed, (uint)(aoff - IndxHeader + data.Count)); + Copy(data, q, aoff); + return; + } + + case NtfsLogOperation.SetIndexEntryVcnAllocation: + RequireIndexBufferEntry(q, aoff, record); + SetEntryVcn(q, aoff, data, record); + return; + + case NtfsLogOperation.UpdateFileNameAllocation: + RequireIndexBufferEntry(q, aoff, record); + UpdateFileName(q, aoff, data, record); + return; + + case NtfsLogOperation.UpdateRecordDataAllocation: + RequireIndexBufferEntry(q, aoff, record); + UpdateRecordData(q, aoff, data, record); + return; + + default: + throw Unsupported(op, record); + } + } + + /// Sets () or clears a range of bits. + public static void ChangeBits(byte[] bytes, int firstBit, int count, bool set) + { + for (var bit = firstBit; bit < firstBit + count; bit++) + { + if (set) + { + bytes[bit >> 3] |= (byte)(1 << (bit & 7)); + } + else + { + bytes[bit >> 3] &= (byte)~(1 << (bit & 7)); + } + } + } + + public static JournalException Unsupported(NtfsLogOperation op, NtfsLogRecord record) => + new($"Log record {record.Lsn:X} needs operation {op}, which DiscUtils cannot apply"); + + private static void CreateAttribute(byte[] p, NtfsLogRecord record, ArraySegment data) + { + var roff = record.RecordOffset; + RequireAttributeAt(p, roff, record, allowEnd: true); + Require(data.Count >= 0x18, record, "the new attribute is too short"); + var length = (int)U32(data.Array, data.Offset + ALength); + var used = (int)U32(p, FrBytesInUse); + Require(length >= 0x18 && (length & 7) == 0 && length <= data.Count, record, "the new attribute has a bad length"); + Require(used + length <= p.Length, record, "the new attribute does not fit in the file record"); + + Array.Copy(p, roff, p, roff + length, used - roff); + Array.Copy(data.Array, data.Offset, p, roff, length); + Put32(p, FrBytesInUse, (uint)(used + length)); + var id = U16(p, roff + AId); + if (U16(p, FrNextAttributeId) <= id) + { + Put16(p, FrNextAttributeId, (ushort)(id + 1)); + } + + if (IsIndexed(p, roff)) + { + Put16(p, FrHardLinks, (ushort)(U16(p, FrHardLinks) + 1)); + } + } + + private static void DeleteAttribute(byte[] p, NtfsLogRecord record) + { + var roff = record.RecordOffset; + RequireAttributeAt(p, roff, record); + var used = (int)U32(p, FrBytesInUse); + var length = (int)U32(p, roff + ALength); + Require(roff + length <= used, record, "the attribute runs past the used part of the file record"); + if (IsIndexed(p, roff)) + { + Put16(p, FrHardLinks, (ushort)(U16(p, FrHardLinks) - 1)); + } + + // Only the used part moves; the bytes left behind past the new end are unused (Windows logs a + // ZeroEndOfFileRecord when it wants them cleared). + Array.Copy(p, roff + length, p, roff, used - roff - length); + Put32(p, FrBytesInUse, (uint)(used - length)); + } + + private static void UpdateResidentValue(byte[] p, NtfsLogRecord record, ArraySegment data) + { + var roff = record.RecordOffset; + var aoff = record.AttributeOffset; + RequireAttributeAt(p, roff, record); + Require(p[roff + ANonResident] == 0, record, "a resident value update of a non-resident attribute"); + var length = (int)U32(p, roff + ALength); + var valueOffset = U16(p, roff + RValueOffset); + Require(aoff >= valueOffset, record, "the value update starts inside the attribute header"); + if (record.RedoLength == record.UndoLength) + { + // Same size before and after: an in-place overwrite. + Require(aoff + data.Count <= length, record, "the value update runs past the attribute"); + Copy(data, p, roff + aoff); + return; + } + + // Otherwise the value now ends where the data ends. + var newLength = Align8(aoff + data.Count); + ResizeAttribute(p, roff, length, newLength, record); + Put32(p, roff + RValueLength, (uint)(aoff + data.Count - valueOffset)); + Copy(data, p, roff + aoff); + } + + private static void UpdateMappingPairs(byte[] p, NtfsLogRecord record, ArraySegment data) + { + var roff = record.RecordOffset; + var aoff = record.AttributeOffset; + RequireAttributeAt(p, roff, record); + Require(p[roff + ANonResident] != 0, record, "a run list update of a resident attribute"); + var length = (int)U32(p, roff + ALength); + var runsOffset = U16(p, roff + NRunsOffset); + Require(aoff >= runsOffset && aoff <= length, record, "the run list update is outside the run list"); + var newLength = Align8(aoff + data.Count); + ResizeAttribute(p, roff, length, newLength, record); + Copy(data, p, roff + aoff); + + // The attribute's last VCN follows from its runs. + var position = roff + runsOffset; + var end = roff + newLength; + var vcn = (long)U64(p, roff + NStartVcn); + while (position < end && p[position] != 0) + { + var header = p[position]; + var lengthSize = header & 0x0F; + var offsetSize = header >> 4; + Require(lengthSize is > 0 and <= 8 && offsetSize <= 8 && position + 1 + lengthSize + offsetSize <= end, record, + "the new run list is damaged"); + long runLength = 0; + for (var i = lengthSize - 1; i >= 0; i--) + { + runLength = (runLength << 8) | p[position + 1 + i]; + } + + vcn += runLength; + position += 1 + lengthSize + offsetSize; + } + + Put64(p, roff + NLastVcn, (ulong)(vcn - 1)); + } + + private static void AddIndexEntryRoot(byte[] p, NtfsLogRecord record, ArraySegment data) + { + var roff = record.RecordOffset; + var entry = RequireRootEntry(p, record, out var header); + var length = EntryLength(data, record); + var used = (int)U32(p, FrBytesInUse); + Require(used + length <= p.Length, record, "the index entry does not fit in the file record"); + + // Insert the entry, which moves the following entries and the following attributes up. + Array.Copy(p, entry, p, entry + length, used - entry); + Array.Copy(data.Array, data.Offset, p, entry, length); + Put32(p, FrBytesInUse, (uint)(used + length)); + Put32(p, roff + ALength, U32(p, roff + ALength) + (uint)length); + Put32(p, roff + RValueLength, U32(p, roff + RValueLength) + (uint)length); + Put32(p, header + IhUsed, U32(p, header + IhUsed) + (uint)length); + Put32(p, header + IhTotal, U32(p, header + IhTotal) + (uint)length); + } + + private static void DeleteIndexEntryRoot(byte[] p, NtfsLogRecord record) + { + var roff = record.RecordOffset; + var entry = RequireRootEntry(p, record, out var header); + var length = U16(p, entry + IeLength); + var entriesEnd = header + (int)U32(p, header + IhUsed); + Require(length > 0 && entry + length <= entriesEnd, record, "the index entry runs past the used part"); + var used = (int)U32(p, FrBytesInUse); + Array.Copy(p, entry + length, p, entry, used - entry - length); + Put32(p, FrBytesInUse, (uint)(used - length)); + Put32(p, roff + ALength, U32(p, roff + ALength) - length); + Put32(p, roff + RValueLength, U32(p, roff + RValueLength) - length); + Put32(p, header + IhUsed, U32(p, header + IhUsed) - length); + Put32(p, header + IhTotal, U32(p, header + IhTotal) - length); + } + + private static void SetEntryVcn(byte[] page, int entry, ArraySegment data, NtfsLogRecord record) + { + var length = U16(page, entry + IeLength); + Require(data.Count >= 8 && length >= 0x18 && entry + length <= page.Length, record, "the index entry has no child VCN"); + Array.Copy(data.Array, data.Offset, page, entry + length - 8, 8); + } + + private static void UpdateFileName(byte[] page, int entry, ArraySegment data, NtfsLogRecord record) + { + var length = U16(page, entry + IeLength); + var count = Math.Min(data.Count, DuplicatedInfoLength); + Require(length >= FileNameDuplicatedInfo + DuplicatedInfoLength && entry + length <= page.Length, record, + "the index entry has no file name"); + Array.Copy(data.Array, data.Offset, page, entry + FileNameDuplicatedInfo, count); + } + + private static void UpdateRecordData(byte[] page, int entry, ArraySegment data, NtfsLogRecord record) + { + var length = U16(page, entry + IeLength); + var dataOffset = U16(page, entry); + Require(dataOffset + data.Count <= length && entry + length <= page.Length, record, + "the index entry's data does not fit"); + Copy(data, page, entry + dataOffset); + } + + private static void ResizeAttribute(byte[] p, int roff, int oldLength, int newLength, NtfsLogRecord record) + { + if (newLength == oldLength) + { + return; + } + + // Like Windows, only the following attributes move; padding keeps whatever bytes were there. + var used = (int)U32(p, FrBytesInUse); + Require(used - oldLength + newLength <= p.Length, record, "the attribute does not fit in the file record"); + Array.Copy(p, roff + oldLength, p, roff + newLength, used - roff - oldLength); + Put32(p, roff + ALength, (uint)newLength); + Put32(p, FrBytesInUse, (uint)(used - oldLength + newLength)); + } + + /// Checks that an attribute (or, with , the end marker) starts at . + private static void RequireAttributeAt(byte[] p, int roff, NtfsLogRecord record, bool allowEnd = false) + { + var used = (int)U32(p, FrBytesInUse); + var position = (int)U16(p, FrFirstAttribute); + Require(used <= p.Length && position >= 0x30 - 0x10 && position < used, record, "the file record header is damaged"); + while (position < roff) + { + Require(position + 8 <= used, record, "the attribute list runs past the used part"); + if (U32(p, position + AType) == AttributeEnd) + { + break; + } + + var length = (int)U32(p, position + ALength); + Require(length >= 0x18 && position + length <= used, record, "an attribute has a bad length"); + position += length; + } + + Require(position == roff && roff + 4 <= used, record, $"no attribute starts at offset {roff:X} of the file record"); + if (U32(p, roff + AType) == AttributeEnd) + { + Require(allowEnd, record, $"offset {roff:X} is the end of the file record, not an attribute"); + return; + } + + var attributeLength = (int)U32(p, roff + ALength); + Require(attributeLength >= 0x18 && roff + attributeLength <= used, record, "the attribute has a bad length"); + } + + /// + /// Checks that an index entry of the INDEX_ROOT at the logged attribute offset starts at the logged entry + /// offset; returns the entry's offset in the record and the index header's. + /// + private static int RequireRootEntry(byte[] p, NtfsLogRecord record, out int header) + { + var roff = record.RecordOffset; + RequireAttributeAt(p, roff, record); + Require(U32(p, roff + AType) == AttributeIndexRoot && p[roff + ANonResident] == 0, record, + "the attribute is not an index root"); + var attributeLength = (int)U32(p, roff + ALength); + header = roff + U16(p, roff + RValueOffset) + 0x10; + var entries = header + (int)U32(p, header + IhEntriesOffset); + var end = header + (int)U32(p, header + IhUsed); + Require(entries >= header + 0x10 && end <= roff + attributeLength, record, "the index root header is damaged"); + var target = roff + record.AttributeOffset; + RequireEntryChain(p, entries, end, target, record); + return target; + } + + private static void RequireIndexBufferEntry(byte[] q, int aoff, NtfsLogRecord record) + { + var entries = IndxHeader + (int)U32(q, IndxHeader + IhEntriesOffset); + var end = IndxHeader + (int)U32(q, IndxHeader + IhUsed); + Require(entries >= IndxHeader + 0x10 && end <= q.Length, record, "the index buffer header is damaged"); + RequireEntryChain(q, entries, end, aoff, record); + } + + /// The target must be reachable by walking the entries; it may be the end of the used part (append). + private static void RequireEntryChain(byte[] page, int position, int end, int target, NtfsLogRecord record) + { + while (position < target && position < end) + { + var length = U16(page, position + IeLength); + Require(length >= 0x10, record, "an index entry has a bad length"); + position += length; + } + + Require(position == target && target <= end, record, $"no index entry starts at offset {target:X}"); + } + + private static int EntryLength(ArraySegment data, NtfsLogRecord record) + { + Require(data.Count >= 0x10, record, "the index entry is too short"); + int length = U16(data.Array, data.Offset + IeLength); + Require(length >= 0x10 && length <= data.Count && (length & 7) == 0, record, "the index entry has a bad length"); + return length; + } + + private static bool IsIndexed(byte[] p, int roff) => p[roff + ANonResident] == 0 && (p[roff + RIndexed] & 1) != 0; + + private static void Copy(ArraySegment data, byte[] target, int offset) => + Array.Copy(data.Array, data.Offset, target, offset, data.Count); + + private static void Require(bool condition, NtfsLogRecord record, string what) + { + if (!condition) + { + throw new JournalException($"Log record {record.Lsn:X} ({record.RedoOperation}/{record.UndoOperation}) does not fit the volume: {what}"); + } + } +} diff --git a/Library/DiscUtils.Ntfs/Journal/NtfsLogAnalysis.cs b/Library/DiscUtils.Ntfs/Journal/NtfsLogAnalysis.cs new file mode 100644 index 000000000..5e9b786bf --- /dev/null +++ b/Library/DiscUtils.Ntfs/Journal/NtfsLogAnalysis.cs @@ -0,0 +1,362 @@ +// +// Copyright (c) 2026, DiscUtils contributors +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using static DiscUtils.Ntfs.Journal.JournalUtilities; + +namespace DiscUtils.Ntfs.Journal; + +/// +/// The analysis pass of NTFS recovery: starting from the tables of the last checkpoint, it reads every record +/// after the checkpoint and works out which pages may be stale on disk (the dirty page table) and which +/// transactions were not finished (the transaction table). +/// +internal sealed class NtfsLogAnalysis +{ + private NtfsLogAnalysis(LfsLog log, NtfsRestartRecord restart) + { + Log = log; + RestartRecord = restart; + } + + public LfsLog Log { get; } + + public NtfsRestartRecord RestartRecord { get; } + + /// The open attribute table, keyed by entry offset (what log records call the target attribute). + public Dictionary OpenAttributes { get; } = []; + + public List DirtyPages { get; } = []; + + /// The transaction table, keyed by entry offset (the transaction id of log records). + public Dictionary Transactions { get; } = []; + + /// Clusters per dirty page (from the checkpoint's table, else one log page worth). + public int ClustersPerPage { get; private set; } + + /// Where the redo pass starts. + public ulong RedoLsn { get; private set; } + + /// The last record of the log. + public ulong LastLsn { get; private set; } + + public int RecordsAfterCheckpoint { get; private set; } + + /// Transactions that were still running at the crash and have changes to roll back. + public IEnumerable> Losers => + Transactions.Where(t => t.Value.State == TransactionState.Active && t.Value.UndoNextLsn != 0); + + public static NtfsLogAnalysis Run(LfsLog log, JournalVolumeLayout layout) + { + var client = log.Restart.InUseClient ?? throw new JournalException("The log has no client in use"); + var restartLfs = log.ReadRecord(client.RestartLsn) + ?? throw new JournalException($"The NTFS restart record at {client.RestartLsn:X} is not in the log"); + var analysis = new NtfsLogAnalysis(log, NtfsRestartRecord.Parse(restartLfs)); + analysis.LoadCheckpointTables(layout); + analysis.ReadAfterCheckpoint(); + return analysis; + } + + public DirtyPageEntry FindDirtyPage(uint targetAttribute, long vcn) + { + foreach (var page in DirtyPages) + { + if (page.Covers(targetAttribute, vcn)) + { + return page; + } + } + + return null; + } + + private byte[] ReadTableDump(ulong lsn, int length, string name) + { + if (lsn == 0 || length == 0) + { + return null; + } + + var lfs = Log.ReadRecord(lsn) ?? throw new JournalException($"The {name} dump at {lsn:X} is not in the log"); + var record = NtfsLogRecord.TryParse(lfs, out var error) ?? throw new JournalException(error); + var data = record.RedoData; + if (data.Count < length) + { + throw new JournalException($"The {name} dump at {lsn:X} is shorter than the restart record says"); + } + + return data.ToArray(); + } + + private void LoadCheckpointTables(JournalVolumeLayout layout) + { + var r = RestartRecord; + var version = r.MajorVersion; + + var openAttributes = ReadTableDump(r.OpenAttributeTableLsn, r.OpenAttributeTableLength, "open attribute table"); + if (openAttributes != null) + { + foreach (var (offset, size) in RestartTable.Entries(openAttributes)) + { + var expected = version == 0 ? OpenAttributeEntry.SizeVersion0 : OpenAttributeEntry.SizeVersion1; + if (size != expected) + { + throw new JournalException($"Open attribute table entries are {size} bytes, expected {expected}"); + } + + OpenAttributes[offset] = OpenAttributeEntry.Parse(openAttributes, offset, version); + } + } + + var names = ReadTableDump(r.AttributeNamesLsn, r.AttributeNamesLength, "attribute names"); + if (names != null) + { + foreach (var (offset, name) in RestartTable.AttributeNames(names)) + { + if (OpenAttributes.TryGetValue(offset, out var entry)) + { + entry.Name = name; + } + } + } + + var dirtyPages = ReadTableDump(r.DirtyPageTableLsn, r.DirtyPageTableLength, "dirty page table"); + var lcnsOffset = version == 0 ? 0x24 : 0x20; + ClustersPerPage = Math.Max(1, Log.PageSize / layout.BytesPerCluster); + if (dirtyPages != null) + { + var first = true; + foreach (var (offset, size) in RestartTable.Entries(dirtyPages)) + { + if (first) + { + ClustersPerPage = (size - lcnsOffset) / 8; + first = false; + } + + DirtyPages.Add(DirtyPageEntry.Parse(dirtyPages, offset, size, version)); + } + + if (first && dirtyPages.Length >= 2) + { + ClustersPerPage = Math.Max(1, (U16(dirtyPages, 0) - lcnsOffset) / 8); + } + } + + var transactions = ReadTableDump(r.TransactionTableLsn, r.TransactionTableLength, "transaction table"); + if (transactions != null) + { + foreach (var (offset, _) in RestartTable.Entries(transactions)) + { + Transactions[(uint)offset] = TransactionEntry.Parse(transactions, offset); + } + } + + if (ClustersPerPage < 1 || (ClustersPerPage & (ClustersPerPage - 1)) != 0) + { + throw new JournalException($"A dirty page covers {ClustersPerPage} clusters, which is not a power of two"); + } + } + + private void ReadAfterCheckpoint() + { + var checkpoint = RestartRecord.CheckpointLsn; + ulong firstAfterCheckpoint = 0; + LastLsn = checkpoint; + foreach (var lfs in Log.ReadForward(checkpoint)) + { + LastLsn = lfs.Lsn; + if (lfs.Lsn == checkpoint) + { + // Analysis starts with the record after the checkpoint. + continue; + } + + RecordsAfterCheckpoint++; + if (firstAfterCheckpoint == 0) + { + firstAfterCheckpoint = lfs.Lsn; + } + + if (lfs.RecordType != LfsRecord.TypeClientRecord) + { + continue; + } + + var record = NtfsLogRecord.TryParse(lfs, out var error) ?? throw new JournalException(error); + Analyze(record); + } + + if (LastLsn == checkpoint && Log.ReadRecord(checkpoint) == null) + { + throw new JournalException($"The checkpoint record {checkpoint:X} is not in the log"); + } + + var redo = firstAfterCheckpoint; + foreach (var page in DirtyPages) + { + if (page.OldestLsn != 0 && (redo == 0 || page.OldestLsn < redo)) + { + redo = page.OldestLsn; + } + } + + foreach (var transaction in Transactions.Values) + { + if (transaction.FirstLsn != 0 && (redo == 0 || transaction.FirstLsn < redo)) + { + redo = transaction.FirstLsn; + } + } + + RedoLsn = redo; + } + + private void Analyze(NtfsLogRecord record) + { + var lfs = record.Lfs; + if (lfs.TransactionId == 0) + { + throw new JournalException($"Log record {lfs.Lsn:X} has no transaction"); + } + + if (!Transactions.TryGetValue(lfs.TransactionId, out var transaction)) + { + transaction = new TransactionEntry { State = TransactionState.Active, FirstLsn = lfs.Lsn }; + Transactions[lfs.TransactionId] = transaction; + } + + transaction.PreviousLsn = lfs.Lsn; + transaction.UndoNextLsn = record.UndoOperation == NtfsLogOperation.CompensationLogRecord ? lfs.ClientUndoNextLsn : lfs.Lsn; + + switch (record.RedoOperation) + { + case NtfsLogOperation.DeleteDirtyClusters: + DeleteDirtyClusters(record); + return; + + case NtfsLogOperation.OpenNonresidentAttribute: + OpenAttribute(record); + return; + + case NtfsLogOperation.HotFix: + var hot = FindDirtyPage(record.TargetAttribute, record.TargetVcn); + if (hot != null && record.Lcns.Length > 0 && hot.Lcns[record.TargetVcn - hot.Vcn] != 0) + { + hot.Lcns[record.TargetVcn - hot.Vcn] = record.Lcns[0]; + } + + return; + + case NtfsLogOperation.EndTopLevelAction: + transaction.PreviousLsn = lfs.Lsn; + transaction.UndoNextLsn = lfs.ClientUndoNextLsn; + return; + + case NtfsLogOperation.PrepareTransaction: + transaction.State = TransactionState.Prepared; + return; + + case NtfsLogOperation.CommitTransaction: + transaction.State = TransactionState.Committed; + return; + + case NtfsLogOperation.ForgetTransaction: + Transactions.Remove(lfs.TransactionId); + return; + } + + var target = NtfsLogOperations.TargetOf(record.RedoOperation); + if (target == NtfsLogTarget.None || record.Lcns.Length == 0) + { + return; + } + + // Every record that changes a page (also one DiscUtils cannot apply: the redo pass refuses it then) marks + // that page dirty from this LSN on, with the clusters the record names. + var page = FindDirtyPage(record.TargetAttribute, record.TargetVcn); + if (page == null) + { + page = new DirtyPageEntry + { + TargetAttribute = record.TargetAttribute, + Vcn = record.TargetVcn & ~((long)ClustersPerPage - 1), + OldestLsn = lfs.Lsn, + Lcns = new long[ClustersPerPage], + }; + DirtyPages.Add(page); + } + + var first = record.TargetVcn - page.Vcn; + if (first + record.Lcns.Length > page.Lcns.Length) + { + throw new JournalException($"Log record {lfs.Lsn:X} names clusters beyond its dirty page"); + } + + Array.Copy(record.Lcns, 0, page.Lcns, first, record.Lcns.Length); + } + + private void DeleteDirtyClusters(NtfsLogRecord record) + { + var data = record.RedoData; + for (var i = 0; i + 16 <= data.Count; i += 16) + { + var lcn = (long)U64(data.Array, data.Offset + i); + var length = (long)U64(data.Array, data.Offset + i + 8); + foreach (var page in DirtyPages) + { + for (var j = 0; j < page.Lcns.Length; j++) + { + if (page.Lcns[j] >= lcn && page.Lcns[j] < lcn + length) + { + page.Lcns[j] = 0; + } + } + } + } + } + + private void OpenAttribute(NtfsLogRecord record) + { + var data = record.RedoData; + var version = RestartRecord.MajorVersion; + var size = version == 0 ? OpenAttributeEntry.SizeVersion0 : OpenAttributeEntry.SizeVersion1; + if (data.Count < size - 8) + { + throw new JournalException($"Log record {record.Lsn:X} opens an attribute with too little data"); + } + + var buffer = new byte[size]; + Array.Copy(data.Array, data.Offset, buffer, 0, Math.Min(size, data.Count)); + var entry = OpenAttributeEntry.Parse(buffer, 0, version); + var name = record.UndoData; + if (name.Count > 0) + { + entry.Name = Encoding.Unicode.GetString(name.Array, name.Offset, name.Count); + } + + OpenAttributes[record.TargetAttribute] = entry; + } +} diff --git a/Library/DiscUtils.Ntfs/Journal/NtfsLogOperation.cs b/Library/DiscUtils.Ntfs/Journal/NtfsLogOperation.cs new file mode 100644 index 000000000..2ff9c432f --- /dev/null +++ b/Library/DiscUtils.Ntfs/Journal/NtfsLogOperation.cs @@ -0,0 +1,148 @@ +// +// Copyright (c) 2026, DiscUtils contributors +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// + +namespace DiscUtils.Ntfs.Journal; + +/// +/// The operations NTFS writes into its log, as redo and undo actions of a log record. +/// +internal enum NtfsLogOperation : ushort +{ + Noop = 0x00, + CompensationLogRecord = 0x01, + InitializeFileRecordSegment = 0x02, + DeallocateFileRecordSegment = 0x03, + WriteEndOfFileRecordSegment = 0x04, + CreateAttribute = 0x05, + DeleteAttribute = 0x06, + UpdateResidentValue = 0x07, + UpdateNonresidentValue = 0x08, + UpdateMappingPairs = 0x09, + DeleteDirtyClusters = 0x0A, + SetNewAttributeSizes = 0x0B, + AddIndexEntryRoot = 0x0C, + DeleteIndexEntryRoot = 0x0D, + AddIndexEntryAllocation = 0x0E, + DeleteIndexEntryAllocation = 0x0F, + WriteEndOfIndexBuffer = 0x10, + SetIndexEntryVcnRoot = 0x11, + SetIndexEntryVcnAllocation = 0x12, + UpdateFileNameRoot = 0x13, + UpdateFileNameAllocation = 0x14, + SetBitsInNonresidentBitMap = 0x15, + ClearBitsInNonresidentBitMap = 0x16, + HotFix = 0x17, + EndTopLevelAction = 0x18, + PrepareTransaction = 0x19, + CommitTransaction = 0x1A, + ForgetTransaction = 0x1B, + OpenNonresidentAttribute = 0x1C, + OpenAttributeTableDump = 0x1D, + AttributeNamesDump = 0x1E, + DirtyPageTableDump = 0x1F, + TransactionTableDump = 0x20, + UpdateRecordDataRoot = 0x21, + UpdateRecordDataAllocation = 0x22, + UpdateRelativeDataInIndex = 0x23, + UpdateRelativeDataInIndex2 = 0x24, + ZeroEndOfFileRecord = 0x25, +} + +/// +/// What kind of on-disk structure an operation changes. +/// +internal enum NtfsLogTarget +{ + /// The operation changes nothing on disk (bookkeeping, transaction state, table dumps). + None, + + /// A file record of the master file table. + FileRecord, + + /// An index buffer (INDX) of an $INDEX_ALLOCATION attribute. + IndexBuffer, + + /// The bytes of a non-resident attribute (bitmaps, or any attribute for UpdateNonresidentValue). + NonResident, + + /// An operation whose meaning DiscUtils does not know. + Unknown, +} + +internal static class NtfsLogOperations +{ + /// + /// Gets which structure an operation changes when it is applied as a redo or undo action. + /// + public static NtfsLogTarget TargetOf(NtfsLogOperation op) + { + switch (op) + { + case NtfsLogOperation.Noop: + case NtfsLogOperation.CompensationLogRecord: + case NtfsLogOperation.DeleteDirtyClusters: + case NtfsLogOperation.HotFix: + case NtfsLogOperation.EndTopLevelAction: + case NtfsLogOperation.PrepareTransaction: + case NtfsLogOperation.CommitTransaction: + case NtfsLogOperation.ForgetTransaction: + case NtfsLogOperation.OpenNonresidentAttribute: + case NtfsLogOperation.OpenAttributeTableDump: + case NtfsLogOperation.AttributeNamesDump: + case NtfsLogOperation.DirtyPageTableDump: + case NtfsLogOperation.TransactionTableDump: + return NtfsLogTarget.None; + + case NtfsLogOperation.InitializeFileRecordSegment: + case NtfsLogOperation.DeallocateFileRecordSegment: + case NtfsLogOperation.WriteEndOfFileRecordSegment: + case NtfsLogOperation.CreateAttribute: + case NtfsLogOperation.DeleteAttribute: + case NtfsLogOperation.UpdateResidentValue: + case NtfsLogOperation.UpdateMappingPairs: + case NtfsLogOperation.SetNewAttributeSizes: + case NtfsLogOperation.AddIndexEntryRoot: + case NtfsLogOperation.DeleteIndexEntryRoot: + case NtfsLogOperation.SetIndexEntryVcnRoot: + case NtfsLogOperation.UpdateFileNameRoot: + case NtfsLogOperation.UpdateRecordDataRoot: + case NtfsLogOperation.ZeroEndOfFileRecord: + return NtfsLogTarget.FileRecord; + + case NtfsLogOperation.AddIndexEntryAllocation: + case NtfsLogOperation.DeleteIndexEntryAllocation: + case NtfsLogOperation.WriteEndOfIndexBuffer: + case NtfsLogOperation.SetIndexEntryVcnAllocation: + case NtfsLogOperation.UpdateFileNameAllocation: + case NtfsLogOperation.UpdateRecordDataAllocation: + return NtfsLogTarget.IndexBuffer; + + case NtfsLogOperation.UpdateNonresidentValue: + case NtfsLogOperation.SetBitsInNonresidentBitMap: + case NtfsLogOperation.ClearBitsInNonresidentBitMap: + return NtfsLogTarget.NonResident; + + default: + return NtfsLogTarget.Unknown; + } + } +} diff --git a/Library/DiscUtils.Ntfs/Journal/NtfsLogPages.cs b/Library/DiscUtils.Ntfs/Journal/NtfsLogPages.cs new file mode 100644 index 000000000..74fd9935f --- /dev/null +++ b/Library/DiscUtils.Ntfs/Journal/NtfsLogPages.cs @@ -0,0 +1,288 @@ +// +// Copyright (c) 2026, DiscUtils contributors +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// + +using System; +using System.Collections.Generic; +using System.IO; +using static DiscUtils.Ntfs.Journal.JournalUtilities; + +namespace DiscUtils.Ntfs.Journal; + +internal enum PageKind +{ + FileRecord, + IndexBuffer, + Raw, +} + +/// +/// A file record or index buffer being replayed, in its logical form (update sequence array removed). +/// +internal sealed class LogicalPage +{ + public PageKind Kind { get; set; } + + /// Where every byte of the page lives: the page's clusters and the offset of the page in the first. + public long[] Lcns { get; set; } + + public int StartInFirstCluster { get; set; } + + public byte[] Data { get; set; } + + /// The signature and update sequence array are intact (or the replay made them so). + public bool Valid { get; set; } + + public bool Dirty { get; set; } + + public uint Signature => U32(Data, 0); + + public ulong Lsn + { + get => U64(Data, 0x08); + set => Put64(Data, 0x08, value); + } +} + +/// +/// All volume pages the replay reads and changes. Nothing is written until , so a refused +/// replay leaves the volume untouched, and the same set of changes serves a write to disk or a read-only overlay. +/// +internal sealed class NtfsLogPages +{ + private readonly Stream _volume; + private readonly JournalVolumeLayout _layout; + private readonly Dictionary _logical = []; + private readonly Dictionary _rawClusters = []; + private readonly Dictionary _clusterUse = []; + + public NtfsLogPages(Stream volume, JournalVolumeLayout layout) + { + _volume = volume; + _layout = layout; + } + + public int ClusterSize => _layout.BytesPerCluster; + + public int ChangedPageCount + { + get + { + var count = _rawClusters.Count; + foreach (var page in _logical.Values) + { + if (page.Dirty) + { + count++; + } + } + + return count; + } + } + + /// + /// Gets a file record or index buffer of bytes that starts + /// bytes into the clusters . + /// + public LogicalPage GetLogical(PageKind kind, long[] lcns, int start, int length) + { + var (spanLcns, startInFirst) = Span(lcns, start, length); + var key = (spanLcns[0] * ClusterSize) + startInFirst; + if (_logical.TryGetValue(key, out var page)) + { + if (page.Kind != kind || page.Data.Length != length) + { + throw new JournalException($"The log uses the bytes at {key:X} both as {page.Kind} and as {kind}"); + } + + return page; + } + + Claim(spanLcns, kind); + var data = new byte[length]; + ReadSpan(spanLcns, startInFirst, data, 0, length); + var expected = kind == PageKind.FileRecord ? SignatureFile : SignatureIndx; + page = new LogicalPage + { + Kind = kind, + Lcns = spanLcns, + StartInFirstCluster = startInFirst, + Data = data, + }; + page.Valid = page.Signature == expected && RemoveFixups(data, 0, length); + _logical[key] = page; + return page; + } + + /// + /// Reads bytes of a non-resident attribute page that has no update sequence array (bitmaps, plain data). + /// + public void ReadRaw(long[] lcns, int start, byte[] buffer, int offset, int length) + { + var (spanLcns, startInFirst) = Span(lcns, start, length); + Claim(spanLcns, PageKind.Raw); + ReadSpan(spanLcns, startInFirst, buffer, offset, length); + } + + public void WriteRaw(long[] lcns, int start, byte[] buffer, int offset, int length) + { + var (spanLcns, startInFirst) = Span(lcns, start, length); + Claim(spanLcns, PageKind.Raw); + var position = startInFirst; + foreach (var lcn in spanLcns) + { + var cluster = RawCluster(lcn); + var chunk = Math.Min(length, ClusterSize - position); + Array.Copy(buffer, offset, cluster, position, chunk); + offset += chunk; + length -= chunk; + position = 0; + if (length == 0) + { + break; + } + } + } + + /// + /// Turns every change into whole clusters: logical pages get a fresh update sequence array. + /// + public Dictionary Commit() + { + var clusters = new Dictionary(_rawClusters); + foreach (var page in _logical.Values) + { + if (!page.Dirty) + { + continue; + } + + var bytes = (byte[])page.Data.Clone(); + if (page.Valid) + { + ApplyFixups(bytes, 0, bytes.Length); + } + + var position = page.StartInFirstCluster; + var offset = 0; + foreach (var lcn in page.Lcns) + { + if (!clusters.TryGetValue(lcn, out var cluster)) + { + cluster = new byte[ClusterSize]; + ReadExactly(_volume, lcn * ClusterSize, cluster, 0, ClusterSize); + clusters[lcn] = cluster; + } + + var chunk = Math.Min(bytes.Length - offset, ClusterSize - position); + Array.Copy(bytes, offset, cluster, position, chunk); + offset += chunk; + position = 0; + if (offset == bytes.Length) + { + break; + } + } + } + + return clusters; + } + + private (long[] Lcns, int StartInFirst) Span(long[] lcns, int start, int length) + { + if (start < 0 || length <= 0) + { + throw new JournalException("The log addresses a page with a negative offset or length"); + } + + var firstIndex = start / ClusterSize; + var lastIndex = (start + length - 1) / ClusterSize; + if (lastIndex >= lcns.Length) + { + throw new JournalException("The log addresses bytes beyond the clusters it names"); + } + + var span = new long[lastIndex - firstIndex + 1]; + for (var i = 0; i < span.Length; i++) + { + var lcn = lcns[firstIndex + i]; + if (lcn <= 0 || lcn >= _layout.TotalClusters) + { + throw new JournalException($"The log names cluster {lcn}, which is not on the volume"); + } + + span[i] = lcn; + } + + return (span, start % ClusterSize); + } + + private void Claim(long[] lcns, PageKind kind) + { + foreach (var lcn in lcns) + { + if (_clusterUse.TryGetValue(lcn, out var existing) && existing != kind) + { + throw new JournalException($"The log uses cluster {lcn} both as {existing} and as {kind}"); + } + + _clusterUse[lcn] = kind; + } + } + + private byte[] RawCluster(long lcn) + { + if (!_rawClusters.TryGetValue(lcn, out var cluster)) + { + cluster = new byte[ClusterSize]; + ReadExactly(_volume, lcn * ClusterSize, cluster, 0, ClusterSize); + _rawClusters[lcn] = cluster; + } + + return cluster; + } + + private void ReadSpan(long[] lcns, int startInFirst, byte[] buffer, int offset, int length) + { + var position = startInFirst; + foreach (var lcn in lcns) + { + var chunk = Math.Min(length, ClusterSize - position); + if (_rawClusters.TryGetValue(lcn, out var cached)) + { + Array.Copy(cached, position, buffer, offset, chunk); + } + else + { + ReadExactly(_volume, (lcn * ClusterSize) + position, buffer, offset, chunk); + } + + offset += chunk; + length -= chunk; + position = 0; + if (length == 0) + { + break; + } + } + } +} diff --git a/Library/DiscUtils.Ntfs/Journal/NtfsLogRecord.cs b/Library/DiscUtils.Ntfs/Journal/NtfsLogRecord.cs new file mode 100644 index 000000000..ea8fcdc6c --- /dev/null +++ b/Library/DiscUtils.Ntfs/Journal/NtfsLogRecord.cs @@ -0,0 +1,407 @@ +// +// Copyright (c) 2026, DiscUtils contributors +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// + +using System; +using System.Collections.Generic; +using System.Text; +using static DiscUtils.Ntfs.Journal.JournalUtilities; + +namespace DiscUtils.Ntfs.Journal; + +/// +/// An NTFS log record: the redo and undo action of one step of a transaction, with the place it applies to. +/// +internal sealed class NtfsLogRecord +{ + public const int HeaderLength = 0x20; + + public LfsRecord Lfs { get; private set; } + + public ulong Lsn => Lfs.Lsn; + + public uint TransactionId => Lfs.TransactionId; + + public NtfsLogOperation RedoOperation { get; private set; } + + public NtfsLogOperation UndoOperation { get; private set; } + + public int RedoOffset { get; private set; } + + public int RedoLength { get; private set; } + + public int UndoOffset { get; private set; } + + public int UndoLength { get; private set; } + + /// The byte offset of the target attribute's entry in the open attribute table. + public ushort TargetAttribute { get; private set; } + + /// The offset of the attribute in a file record, or of the index buffer in a page. + public int RecordOffset { get; private set; } + + /// The offset inside the attribute (or of the index entry inside the index buffer). + public int AttributeOffset { get; private set; } + + /// Where the target starts inside the cluster at , in 512-byte units. + public int ClusterBlockOffset { get; private set; } + + public long TargetVcn { get; private set; } + + /// The clusters of the target page when the record was written, one per VCN from . + public long[] Lcns { get; private set; } + + /// + /// The redo data. Windows leaves bytes out of the record when they are zeros (or not needed, like the data + /// of an attribute being deleted): the record then ends before the declared length, and the missing bytes + /// count as zeros. Records that leave data out have flag 0x2 (redo) or 0x4 (undo) set in the LFS header. + /// + public ArraySegment RedoData => Data(RedoOffset, RedoLength); + + /// The undo data; missing bytes count as zeros (see ). + public ArraySegment UndoData => Data(UndoOffset, UndoLength); + + private ArraySegment Data(int offset, int length) + { + var bytes = Lfs.ClientData; + if (length == 0) + { + return new ArraySegment(bytes, 0, 0); + } + + if (offset + length <= bytes.Length) + { + return new ArraySegment(bytes, offset, length); + } + + var padded = new byte[length]; + if (offset < bytes.Length) + { + Array.Copy(bytes, offset, padded, 0, bytes.Length - offset); + } + + return new ArraySegment(padded); + } + + /// + /// Parses the client data of an LFS client record; null and an error if it is not a well-formed NTFS + /// log record. + /// + public static NtfsLogRecord TryParse(LfsRecord lfs, out string error) + { + var data = lfs.ClientData; + error = null; + if (data.Length < HeaderLength) + { + error = $"log record {lfs.Lsn:X} is too short"; + return null; + } + + var record = new NtfsLogRecord + { + Lfs = lfs, + RedoOperation = (NtfsLogOperation)U16(data, 0x00), + UndoOperation = (NtfsLogOperation)U16(data, 0x02), + RedoOffset = U16(data, 0x04), + RedoLength = U16(data, 0x06), + UndoOffset = U16(data, 0x08), + UndoLength = U16(data, 0x0A), + TargetAttribute = U16(data, 0x0C), + RecordOffset = U16(data, 0x10), + AttributeOffset = U16(data, 0x12), + ClusterBlockOffset = U16(data, 0x14), + TargetVcn = (long)U64(data, 0x18), + }; + + var lcnCount = U16(data, 0x0E); + if (HeaderLength + (8 * lcnCount) > data.Length) + { + error = $"log record {lfs.Lsn:X} lists more clusters than it holds"; + return null; + } + + record.Lcns = new long[lcnCount]; + for (var i = 0; i < lcnCount; i++) + { + record.Lcns[i] = (long)U64(data, HeaderLength + (8 * i)); + } + + // Data offsets are 8-byte aligned and start after the header and clusters; data may end early (see RedoData). + var minimum = HeaderLength + (8 * lcnCount); + if ((record.RedoLength > 0 && (record.RedoOffset < minimum || (record.RedoOffset & 7) != 0)) || + (record.UndoLength > 0 && (record.UndoOffset < minimum || (record.UndoOffset & 7) != 0))) + { + error = $"log record {lfs.Lsn:X} has misplaced redo or undo data"; + return null; + } + + return record; + } + + public override string ToString() => + $"{Lsn:X} {RedoOperation}/{UndoOperation} attr {TargetAttribute:X} vcn {TargetVcn:X} +{ClusterBlockOffset * 512:X} rec {RecordOffset:X} at {AttributeOffset:X}"; +} + +/// +/// The NTFS restart record (written at every checkpoint): where analysis starts and where the dumps of the +/// four restart tables are. +/// +internal sealed class NtfsRestartRecord +{ + public uint MajorVersion { get; private set; } + + public uint MinorVersion { get; private set; } + + public ulong CheckpointLsn { get; private set; } + + public ulong OpenAttributeTableLsn { get; private set; } + + public ulong AttributeNamesLsn { get; private set; } + + public ulong DirtyPageTableLsn { get; private set; } + + public ulong TransactionTableLsn { get; private set; } + + public int OpenAttributeTableLength { get; private set; } + + public int AttributeNamesLength { get; private set; } + + public int DirtyPageTableLength { get; private set; } + + public int TransactionTableLength { get; private set; } + + public static NtfsRestartRecord Parse(LfsRecord record) + { + var d = record.ClientData; + if (record.RecordType != LfsRecord.TypeClientRestart || d.Length < 0x40) + { + throw new JournalException($"The NTFS restart record at {record.Lsn:X} is not a restart record"); + } + + var result = new NtfsRestartRecord + { + MajorVersion = U32(d, 0x00), + MinorVersion = U32(d, 0x04), + CheckpointLsn = U64(d, 0x08), + OpenAttributeTableLsn = U64(d, 0x10), + AttributeNamesLsn = U64(d, 0x18), + DirtyPageTableLsn = U64(d, 0x20), + TransactionTableLsn = U64(d, 0x28), + OpenAttributeTableLength = (int)U32(d, 0x30), + AttributeNamesLength = (int)U32(d, 0x34), + DirtyPageTableLength = (int)U32(d, 0x38), + TransactionTableLength = (int)U32(d, 0x3C), + }; + + if (result.MajorVersion > 1) + { + throw new JournalException($"NTFS restart version {result.MajorVersion}.{result.MinorVersion} is not supported"); + } + + return result; + } +} + +/// +/// An entry of the open attribute table: an attribute that log records refer to by the entry's offset. +/// +internal sealed class OpenAttributeEntry +{ + public const int SizeVersion0 = 0x2C; + public const int SizeVersion1 = 0x28; + + public uint AttributeType { get; set; } + + public ulong FileReference { get; set; } + + public long FileRecordNumber => (long)(FileReference & 0x0000FFFFFFFFFFFF); + + public uint BytesPerIndexBuffer { get; set; } + + public ulong OpenRecordLsn { get; set; } + + public string Name { get; set; } = ""; + + public bool IsIndexAllocation => AttributeType == 0xA0; + + /// Reads an entry in the layout of NTFS restart version 0 or 1. + public static OpenAttributeEntry Parse(byte[] b, int offset, uint version) + { + if (version == 0) + { + return new OpenAttributeEntry + { + FileReference = U64(b, offset + 0x08), + OpenRecordLsn = U64(b, offset + 0x10), + AttributeType = U32(b, offset + 0x1C), + BytesPerIndexBuffer = U32(b, offset + 0x28), + }; + } + + return new OpenAttributeEntry + { + BytesPerIndexBuffer = U32(b, offset + 0x04), + AttributeType = U32(b, offset + 0x08), + FileReference = U64(b, offset + 0x10), + OpenRecordLsn = U64(b, offset + 0x18), + }; + } + + public override string ToString() => $"MFT {FileRecordNumber} type {AttributeType:X} '{Name}'"; +} + +/// +/// An entry of the dirty page table: a page that may hold changes that are only in the log. +/// +internal sealed class DirtyPageEntry +{ + public uint TargetAttribute { get; set; } + + public uint TransferLength { get; set; } + + public long Vcn { get; set; } + + /// The LSN of the oldest change to this page that may be missing on disk. + public ulong OldestLsn { get; set; } + + /// The page's clusters, one per VCN from ; 0 once the cluster was freed. + public long[] Lcns { get; set; } + + public bool Covers(uint targetAttribute, long vcn) => + TargetAttribute == targetAttribute && vcn >= Vcn && vcn < Vcn + Lcns.Length; + + public static DirtyPageEntry Parse(byte[] b, int offset, int entrySize, uint version) + { + var lcnsOffset = version == 0 ? 0x24 : 0x20; + var lcnCount = (int)U32(b, offset + 0x0C); + if (lcnCount < 0 || lcnsOffset + (8 * lcnCount) > entrySize) + { + throw new JournalException("A dirty page table entry lists more clusters than it holds"); + } + + var entry = new DirtyPageEntry + { + TargetAttribute = U32(b, offset + 0x04), + TransferLength = U32(b, offset + 0x08), + Vcn = (long)U64(b, offset + (version == 0 ? 0x14 : 0x10)), + OldestLsn = U64(b, offset + (version == 0 ? 0x1C : 0x18)), + Lcns = new long[lcnCount], + }; + for (var i = 0; i < lcnCount; i++) + { + entry.Lcns[i] = (long)U64(b, offset + lcnsOffset + (8 * i)); + } + + return entry; + } +} + +internal enum TransactionState : byte +{ + Uninitialized = 0, + Active = 1, + Prepared = 2, + Committed = 3, +} + +/// +/// An entry of the transaction table; its offset in the table is the transaction id in log records. +/// +internal sealed class TransactionEntry +{ + public TransactionState State { get; set; } + + public ulong FirstLsn { get; set; } + + public ulong PreviousLsn { get; set; } + + /// The next record to undo when rolling the transaction back; 0 if there is nothing to undo. + public ulong UndoNextLsn { get; set; } + + public static TransactionEntry Parse(byte[] b, int offset) => new() + { + State = (TransactionState)b[offset + 0x04], + FirstLsn = U64(b, offset + 0x08), + PreviousLsn = U64(b, offset + 0x10), + UndoNextLsn = U64(b, offset + 0x18), + }; +} + +/// +/// Reads the restart tables that NTFS dumps into the log at every checkpoint. +/// +internal static class RestartTable +{ + private const int HeaderLength = 0x18; + private const uint EntryAllocated = 0xFFFFFFFF; + + /// + /// The allocated entries of a dumped restart table, keyed by their byte offset from the start of the table. + /// + public static IEnumerable<(int Offset, int EntrySize)> Entries(byte[] table) + { + if (table.Length < HeaderLength) + { + throw new JournalException("A restart table dump is too short"); + } + + int entrySize = U16(table, 0x00); + int entryCount = U16(table, 0x02); + if (entrySize < 8 || HeaderLength + (entrySize * entryCount) > table.Length) + { + throw new JournalException("A restart table dump has an implausible header"); + } + + for (var i = 0; i < entryCount; i++) + { + var offset = HeaderLength + (i * entrySize); + if (U32(table, offset) == EntryAllocated) + { + yield return (offset, entrySize); + } + } + } + + /// + /// The attribute names dump: (open attribute table offset, name) pairs. + /// + public static IEnumerable<(int Offset, string Name)> AttributeNames(byte[] dump) + { + var position = 0; + while (position + 4 <= dump.Length) + { + int tableOffset = U16(dump, position); + int nameBytes = U16(dump, position + 2); + if (tableOffset == 0 && nameBytes == 0) + { + yield break; + } + + if (position + 4 + nameBytes > dump.Length) + { + throw new JournalException("The attribute names dump is damaged"); + } + + yield return (tableOffset, Encoding.Unicode.GetString(dump, position + 4, nameBytes)); + position += 4 + nameBytes + 2; + } + } +} diff --git a/Library/DiscUtils.Ntfs/Journal/NtfsLogReplayer.cs b/Library/DiscUtils.Ntfs/Journal/NtfsLogReplayer.cs new file mode 100644 index 000000000..fa6e133ac --- /dev/null +++ b/Library/DiscUtils.Ntfs/Journal/NtfsLogReplayer.cs @@ -0,0 +1,379 @@ +// +// Copyright (c) 2026, DiscUtils contributors +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// + +using System; +using System.Collections.Generic; +using System.IO; +using static DiscUtils.Ntfs.Journal.JournalUtilities; + +namespace DiscUtils.Ntfs.Journal; + +/// +/// The redo and undo passes of NTFS recovery, applied to an in-memory set of pages. +/// +/// +/// Redo repeats history: every change after a page's oldest dirty LSN is applied again when the page (file +/// record or index buffer) carries an older LSN than the record; pages without an LSN (bitmaps, plain data) are +/// replayed unconditionally, which is safe because those operations set bytes and bits to fixed values. Undo then +/// rolls back the transactions that were still running, newest change first, following the undo-next chain. +/// Windows writes a compensation record for every undone change and stamps the page with its LSN; this replay +/// writes no log records, so it stamps undone pages with an LSN just past the end of the log instead. That keeps +/// a second replay (after an interruption) from undoing a change twice, and it is below every LSN Windows will +/// hand out after the log is reset. +/// +internal sealed class NtfsLogReplayer +{ + private readonly NtfsLogAnalysis _analysis; + private readonly JournalVolumeLayout _layout; + private readonly NtfsLogPages _pages; + private readonly ulong _undoStamp; + + public NtfsLogReplayer(Stream volume, JournalVolumeLayout layout, NtfsLogAnalysis analysis) + { + _analysis = analysis; + _layout = layout; + _pages = new NtfsLogPages(volume, layout); + _undoStamp = analysis.LastLsn + 1; + } + + public NtfsLogPages Pages => _pages; + + /// Log records whose redo action changed a page. + public int RedoneRecords { get; private set; } + + /// Log records whose undo action changed a page. + public int UndoneRecords { get; private set; } + + public int UndoneTransactions { get; private set; } + + /// The MFT record numbers that changed (as far as the log tells, for reporting). + public SortedSet ChangedFileRecords { get; } = []; + + public void Redo() + { + if (_analysis.DirtyPages.Count == 0 || _analysis.RedoLsn == 0) + { + return; + } + + foreach (var lfs in _analysis.Log.ReadForward(_analysis.RedoLsn)) + { + if (lfs.RecordType != LfsRecord.TypeClientRecord) + { + continue; + } + + var record = NtfsLogRecord.TryParse(lfs, out var error) ?? throw new JournalException(error); + if (record.Lcns.Length == 0) + { + continue; + } + + var target = NtfsLogOperations.TargetOf(record.RedoOperation); + if (target == NtfsLogTarget.None) + { + continue; + } + + var page = _analysis.FindDirtyPage(record.TargetAttribute, record.TargetVcn); + if (page == null || record.Lsn < page.OldestLsn) + { + continue; + } + + // The dirty page table has the current clusters (DeleteDirtyClusters zeroes freed ones). + var first = (int)(record.TargetVcn - page.Vcn); + var lcns = new long[page.Lcns.Length - first]; + Array.Copy(page.Lcns, first, lcns, 0, lcns.Length); + if (Apply(record, record.RedoOperation, record.RedoData, lcns, redo: true)) + { + RedoneRecords++; + } + } + } + + public void Undo() + { + foreach (var loser in _analysis.Losers) + { + UndoneTransactions++; + var lsn = loser.Value.UndoNextLsn; + var seen = new HashSet(); + while (lsn != 0) + { + if (!seen.Add(lsn)) + { + throw new JournalException($"The undo chain of transaction {loser.Key:X} loops at {lsn:X}"); + } + + var lfs = _analysis.Log.ReadRecord(lsn) + ?? throw new JournalException($"Record {lsn:X} to undo is not in the log"); + var record = NtfsLogRecord.TryParse(lfs, out var error) ?? throw new JournalException(error); + if (lfs.TransactionId != loser.Key) + { + throw new JournalException($"Record {lsn:X} in the undo chain of transaction {loser.Key:X} belongs to {lfs.TransactionId:X}"); + } + + var target = NtfsLogOperations.TargetOf(record.UndoOperation); + if (target != NtfsLogTarget.None && record.Lcns.Length > 0) + { + var lcns = (long[])record.Lcns.Clone(); + + // A cluster the dirty page table says was freed holds nothing of this page any more. + var page = _analysis.FindDirtyPage(record.TargetAttribute, record.TargetVcn); + if (page != null) + { + for (var i = 0; i < lcns.Length && record.TargetVcn - page.Vcn + i < page.Lcns.Length; i++) + { + if (page.Lcns[record.TargetVcn - page.Vcn + i] == 0) + { + lcns[i] = 0; + } + } + } + + if (Apply(record, record.UndoOperation, record.UndoData, lcns, redo: false)) + { + UndoneRecords++; + } + } + + // A compensation record points past the changes that were already undone. + lsn = lfs.ClientUndoNextLsn; + } + } + } + + /// + /// Applies one action; false if it was not needed (the page is newer, or its clusters were freed). + /// + private bool Apply(NtfsLogRecord record, NtfsLogOperation op, ArraySegment data, long[] lcns, bool redo) + { + var target = NtfsLogOperations.TargetOf(op); + var start = record.ClusterBlockOffset * 512; + switch (target) + { + case NtfsLogTarget.FileRecord: + { + var length = _layout.MftRecordSize; + if (!Allocated(lcns, start, length)) + { + return false; + } + + var page = _pages.GetLogical(PageKind.FileRecord, lcns, start, length); + if (!PageNeedsAction(page, record, op, redo)) + { + return false; + } + + if (!page.Valid) + { + if (op != NtfsLogOperation.InitializeFileRecordSegment) + { + throw new JournalException($"Log record {record.Lsn:X} changes file record at cluster {lcns[start / _pages.ClusterSize]}, which is damaged"); + } + + Array.Clear(page.Data, 0, page.Data.Length); + } + + NtfsLogActions.ApplyToFileRecord(op, record, page.Data, data); + Finish(page, record, redo); + ChangedFileRecords.Add(((record.TargetVcn * _layout.BytesPerCluster) + start) / _layout.MftRecordSize); + return true; + } + + case NtfsLogTarget.IndexBuffer: + { + var length = IndexBufferSize(record); + start += record.RecordOffset; + if (!Allocated(lcns, start, length)) + { + return false; + } + + var page = _pages.GetLogical(PageKind.IndexBuffer, lcns, start, length); + if (!PageNeedsAction(page, record, op, redo)) + { + return false; + } + + if (!page.Valid) + { + throw new JournalException($"Log record {record.Lsn:X} changes an index buffer at cluster {lcns[start / _pages.ClusterSize]}, which is damaged"); + } + + NtfsLogActions.ApplyToIndexBuffer(op, record, page.Data, data); + Finish(page, record, redo); + return true; + } + + case NtfsLogTarget.NonResident: + return ApplyNonResident(record, op, data, lcns, start); + + default: + throw NtfsLogActions.Unsupported(op, record); + } + } + + private bool ApplyNonResident(NtfsLogRecord record, NtfsLogOperation op, ArraySegment data, long[] lcns, int start) + { + if (!_analysis.OpenAttributes.TryGetValue(record.TargetAttribute, out var attribute)) + { + throw new JournalException($"Log record {record.Lsn:X} changes attribute {record.TargetAttribute:X}, which is not open"); + } + + if (op == NtfsLogOperation.UpdateNonresidentValue) + { + if (attribute.IsIndexAllocation) + { + // Writes into an index buffer (often a whole new one); the bytes are in logical form. + var length = IndexBufferSize(record); + if (!Allocated(lcns, start, length)) + { + return false; + } + + var page = _pages.GetLogical(PageKind.IndexBuffer, lcns, start, length); + if (record.RecordOffset + data.Count > length) + { + throw new JournalException($"Log record {record.Lsn:X} writes past its index buffer"); + } + + Array.Copy(data.Array, data.Offset, page.Data, record.RecordOffset, data.Count); + page.Valid = page.Signature == SignatureIndx; + page.Dirty = true; + return true; + } + + var offset = start + record.RecordOffset; + if (!Allocated(lcns, offset, Math.Max(1, data.Count))) + { + return false; + } + + if (data.Count > 0) + { + _pages.WriteRaw(lcns, offset, data.Array, data.Offset, data.Count); + } + + return true; + } + + // Set or clear a run of bits; the record's data is the first bit and the count. + if (data.Count < 8) + { + throw new JournalException($"Log record {record.Lsn:X} has a bit range that is too short"); + } + + var firstBit = (long)U32(data.Array, data.Offset); + var bits = (long)U32(data.Array, data.Offset + 4); + var byteStart = start + record.RecordOffset + (int)(firstBit >> 3); + var byteCount = (int)(((firstBit & 7) + bits + 7) >> 3); + if (bits == 0) + { + return false; + } + + if (!Allocated(lcns, byteStart, byteCount)) + { + return false; + } + + var bytes = new byte[byteCount]; + _pages.ReadRaw(lcns, byteStart, bytes, 0, byteCount); + NtfsLogActions.ChangeBits(bytes, (int)(firstBit & 7), (int)bits, op == NtfsLogOperation.SetBitsInNonresidentBitMap); + _pages.WriteRaw(lcns, byteStart, bytes, 0, byteCount); + return true; + } + + /// + /// Whether a file record or index buffer needs the action: redo only when the page is older than the record; + /// undo unless this replay already undid it (the stamp is past the end of the log). + /// + private bool PageNeedsAction(LogicalPage page, NtfsLogRecord record, NtfsLogOperation op, bool redo) + { + if (page.Signature == SignatureBaad) + { + throw new JournalException($"Log record {record.Lsn:X} changes a page chkdsk marked bad"); + } + + if (page.Signature == SignatureHole) + { + return false; + } + + if (!page.Valid) + { + // A never-written or torn file record can only be rebuilt from scratch. + return true; + } + + return redo ? page.Lsn < record.Lsn : page.Lsn < _undoStamp; + } + + private void Finish(LogicalPage page, NtfsLogRecord record, bool redo) + { + page.Valid = true; + page.Dirty = true; + page.Lsn = redo ? record.Lsn : _undoStamp; + } + + private int IndexBufferSize(NtfsLogRecord record) + { + if (_analysis.OpenAttributes.TryGetValue(record.TargetAttribute, out var attribute) && attribute.BytesPerIndexBuffer != 0) + { + return (int)attribute.BytesPerIndexBuffer; + } + + return _layout.IndexBufferSize; + } + + /// + /// false if the first cluster of the range was freed (nothing to do); a range that is only partly freed + /// cannot be replayed faithfully. + /// + private bool Allocated(long[] lcns, int start, int length) + { + var first = start / _pages.ClusterSize; + var last = (start + length - 1) / _pages.ClusterSize; + if (last >= lcns.Length) + { + throw new JournalException("A log record addresses bytes beyond the clusters it names"); + } + + if (lcns[first] == 0) + { + return false; + } + + for (var i = first + 1; i <= last; i++) + { + if (lcns[i] == 0) + { + throw new JournalException("A log record changes a page whose clusters were partly freed"); + } + } + + return true; + } +} diff --git a/Library/DiscUtils.Ntfs/NtfsFileSystem.cs b/Library/DiscUtils.Ntfs/NtfsFileSystem.cs index 7c3bd5971..f29e664df 100644 --- a/Library/DiscUtils.Ntfs/NtfsFileSystem.cs +++ b/Library/DiscUtils.Ntfs/NtfsFileSystem.cs @@ -63,9 +63,25 @@ public class NtfsFileSystem : DiscFileSystem, IClusterBasedFileSystem, /// Initializes a new instance of the NtfsFileSystem class. /// /// The stream containing the NTFS file system. + /// The journal is handled as says. public NtfsFileSystem(Stream stream) + : this(stream, DefaultJournalMode) + { + } + + /// + /// Initializes a new instance of the NtfsFileSystem class. + /// + /// The stream containing the NTFS file system. + /// What to do with the journal of a volume Windows did not shut down cleanly. + /// The journal needs a replay that does not allow, + /// or that DiscUtils cannot do on a writable stream. + public NtfsFileSystem(Stream stream, NtfsJournalMode journalMode) : base(new NtfsOptions()) { + stream = HandleJournal(stream, journalMode, out var journal); + JournalInfo = journal; + _context = new NtfsContext { RawStream = stream, @@ -153,21 +169,50 @@ public NtfsFileSystem(Stream stream) } } -#if false - byte[] buffer = new byte[1024]; - for (int i = 0; i < buffer.Length; ++i) - { - buffer[i] = 0xFF; - } + } + + /// + /// Gets what was found in the journal when the volume was opened, and whether it was replayed; + /// null with . + /// + public NtfsJournalInfo JournalInfo { get; } - using (var s = OpenFile("$LogFile", FileMode.Open, FileAccess.ReadWrite)) + /// + /// Gets or sets what (and opening through ) + /// does with the journal; unless changed. A + /// entry "NtfsJournalMode" overrides it for one volume. + /// + public static NtfsJournalMode DefaultJournalMode { get; set; } = NtfsJournalMode.Replay; + + private static Stream HandleJournal(Stream stream, NtfsJournalMode mode, out NtfsJournalInfo info) + { + info = null; + switch (mode) { - while (s.Position != s.Length) - { - s.Write(buffer, 0, (int)Math.Min(buffer.Length, s.Length - s.Position)); - } + case NtfsJournalMode.Ignore: + return stream; + + case NtfsJournalMode.Refuse: + info = NtfsJournal.Analyze(stream); + if (info.Status is NtfsJournalStatus.NeedsReplay or NtfsJournalStatus.Unsupported) + { + throw new IOException($"The NTFS volume was not shut down cleanly and its journal needs a replay ({info.Detail})"); + } + + return stream; + + default: + if (stream.CanWrite) + { + // Like Windows at mount: replay onto the volume, then reset the journal. + info = NtfsJournal.Replay(stream); + return stream; + } + + // Read-only: show the replayed metadata from memory, never write the volume. + info = NtfsJournal.ReplayInMemory(stream, out var inMemory); + return inMemory ?? stream; } -#endif } private bool CreateShortNames => _context.Options.ShortNameCreation == ShortFileNameOption.Enabled diff --git a/Library/DiscUtils.Ntfs/NtfsJournal.cs b/Library/DiscUtils.Ntfs/NtfsJournal.cs new file mode 100644 index 000000000..a884a761c --- /dev/null +++ b/Library/DiscUtils.Ntfs/NtfsJournal.cs @@ -0,0 +1,370 @@ +// +// Copyright (c) 2026, DiscUtils contributors +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +// + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using DiscUtils.Ntfs.Journal; +using DiscUtils.Streams; +using static DiscUtils.Ntfs.Journal.JournalUtilities; + +namespace DiscUtils.Ntfs; + +/// +/// The state of an NTFS volume's journal ($LogFile). +/// +public enum NtfsJournalStatus +{ + /// + /// Windows shut the volume down cleanly, or the journal is empty or was reset (also by chkdsk). The volume + /// can be read and written as it is. + /// + Clean, + + /// + /// Windows did not shut the volume down cleanly, but every change it logged is already on disk and no + /// transaction needs rolling back. The volume can be read and written as it is. + /// + NothingToReplay, + + /// + /// The journal holds changes that are missing on disk, or unfinished transactions that must be rolled back. + /// Until the journal is replayed, the volume's metadata is out of date, and Windows replays the journal over + /// any change made to it. + /// + NeedsReplay, + + /// + /// The journal cannot be replayed by DiscUtils (unsupported version or operation, or damage); see + /// . Only Windows (or chkdsk) can repair the volume. + /// + Unsupported, +} + +/// +/// What to do with the journal when an is opened. +/// +public enum NtfsJournalMode +{ + /// + /// Look at the journal and replay it like Windows does at mount: on a writable stream the replay is written + /// to the volume and the journal is reset; on a read-only stream it is kept in memory, so the file system + /// shows the up-to-date metadata without writing anything. A journal DiscUtils cannot replay makes opening a + /// writable stream fail with an ; a read-only stream is opened as it is. + /// + Replay, + + /// + /// Open the volume only if the journal needs nothing ( or + /// ); otherwise opening fails with an + /// . Nothing is written. + /// + Refuse, + + /// + /// Do not look at the journal (the behavior of DiscUtils before journal support). A volume that needs a + /// replay then shows out-of-date metadata, and changes to it can be overwritten by Windows' own replay. + /// + Ignore, +} + +/// +/// The result of looking at (and possibly replaying) an NTFS journal. +/// +public sealed class NtfsJournalInfo +{ + internal NtfsJournalInfo(NtfsJournalStatus status, string detail) + { + Status = status; + Detail = detail; + } + + /// Gets the state of the journal. + public NtfsJournalStatus Status { get; internal set; } + + /// Gets a human-readable explanation (for , why). + public string Detail { get; internal set; } + + /// Gets the log file service version, e.g. "2.0" (empty when there is no log). + public string LogVersion { get; internal set; } = ""; + + /// Gets the number of log records after the last checkpoint. + public int RecordsAfterCheckpoint { get; internal set; } + + /// Gets the number of log records whose redo action is (or was) missing on disk. + public int RecordsToRedo { get; internal set; } + + /// Gets the number of unfinished transactions to roll back. + public int TransactionsToUndo { get; internal set; } + + /// Gets the number of log records whose undo action is (or was) needed. + public int RecordsToUndo { get; internal set; } + + /// Gets the number of file records, index buffers and other pages the replay changes. + public int PagesChanged { get; internal set; } + + /// Gets the MFT record numbers the replay changes. + public IReadOnlyList FileRecordsChanged { get; internal set; } = []; + + /// Gets a value indicating whether the replay was written to the volume. + public bool Replayed { get; internal set; } + + /// + public override string ToString() => + $"{Status}: {Detail} (LFS {LogVersion}, {RecordsAfterCheckpoint} records after the checkpoint, redo {RecordsToRedo}, " + + $"undo {RecordsToUndo} in {TransactionsToUndo} transactions, {PagesChanged} pages)"; +} + +/// +/// Reads and replays the journal ($LogFile) of an NTFS volume, the way Windows does when it mounts a volume that +/// was not shut down cleanly (a crash, a power cut, a hard power-off, or a hibernated or Fast Startup Windows). +/// +public static class NtfsJournal +{ + /// + /// Looks at the journal without writing anything: whether the volume needs a replay, and what it would change. + /// + /// The NTFS volume (the partition, not the whole disk). + public static NtfsJournalInfo Analyze(Stream volume) => Run(volume, write: false, out _); + + /// + /// Replays the journal onto the volume and resets it, so the volume is consistent and Windows has nothing left + /// to replay. Does nothing if the journal is clean. + /// + /// The NTFS volume (the partition, not the whole disk); must be writable. + /// The journal cannot be replayed (); + /// nothing was written. + public static NtfsJournalInfo Replay(Stream volume) + { + if (!volume.CanWrite) + { + throw new IOException("Replaying the NTFS journal needs a writable stream"); + } + + var info = Run(volume, write: true, out _); + if (info.Status == NtfsJournalStatus.Unsupported) + { + throw new IOException($"The NTFS journal cannot be replayed: {info.Detail}"); + } + + return info; + } + + /// + /// Replays the journal into memory only: the result is a stream over that shows the + /// replayed metadata, while itself is never written. + /// + internal static NtfsJournalInfo ReplayInMemory(Stream volume, out SparseStream replayed) + { + var info = Run(volume, write: false, out var clusters); + replayed = null; + if (info.Status == NtfsJournalStatus.NeedsReplay && clusters != null) + { + var snapshot = new SnapshotStream(volume, Ownership.None); + snapshot.Snapshot(); + WriteClusters(snapshot, clusters, ClusterSize(volume)); + snapshot.Freeze(); + replayed = snapshot; + } + + return info; + } + + private static int ClusterSize(Stream volume) => JournalVolumeLayout.Read(volume).BytesPerCluster; + + private static NtfsJournalInfo Run(Stream volume, bool write, out Dictionary changedClusters) + { + changedClusters = null; + JournalVolumeLayout layout; + LfsLog log; + LfsLog.Kind kind; + LogFileStorage storage; + try + { + layout = JournalVolumeLayout.Read(volume); + storage = LogFileStorage.Open(volume, layout); + log = LfsLog.Open(storage, out kind); + } + catch (JournalException e) + { + return new NtfsJournalInfo(NtfsJournalStatus.Unsupported, e.Message); + } + + if (kind == LfsLog.Kind.Empty) + { + return new NtfsJournalInfo(NtfsJournalStatus.Clean, "the journal is empty (freshly formatted or reset)"); + } + + if (kind == LfsLog.Kind.CheckedByChkdsk) + { + return new NtfsJournalInfo(NtfsJournalStatus.Clean, "chkdsk repaired the volume and obsoleted the journal"); + } + + var info = new NtfsJournalInfo(NtfsJournalStatus.Clean, "") + { + LogVersion = $"{log.Restart.MajorVersion}.{log.Restart.MinorVersion}", + }; + + if (log.Restart.IsClean || log.Restart.InUseClient == null) + { + info.Detail = "Windows shut the volume down cleanly"; + return info; + } + + try + { + var analysis = NtfsLogAnalysis.Run(log, layout); + info.RecordsAfterCheckpoint = analysis.RecordsAfterCheckpoint; + var replayer = new NtfsLogReplayer(volume, layout, analysis); + replayer.Redo(); + replayer.Undo(); + info.RecordsToRedo = replayer.RedoneRecords; + info.RecordsToUndo = replayer.UndoneRecords; + info.TransactionsToUndo = replayer.UndoneTransactions; + info.FileRecordsChanged = [.. replayer.ChangedFileRecords]; + + var clusters = replayer.Pages.Commit(); + AddMftMirror(volume, layout, clusters); + info.PagesChanged = replayer.Pages.ChangedPageCount; + if (clusters.Count == 0) + { + info.Status = NtfsJournalStatus.NothingToReplay; + info.Detail = "every logged change is already on disk"; + if (write) + { + ResetLog(log, analysis.LastLsn); + volume.Flush(); + info.Replayed = true; + } + + return info; + } + + info.Status = NtfsJournalStatus.NeedsReplay; + info.Detail = $"{info.RecordsToRedo} logged changes are missing on disk, {info.TransactionsToUndo} transactions are unfinished"; + changedClusters = clusters; + if (write) + { + // Pages first, then the reset: an interruption in between leaves a journal that replays to the + // same result again. + WriteClusters(volume, clusters, layout.BytesPerCluster); + volume.Flush(); + ResetLog(log, analysis.LastLsn); + volume.Flush(); + info.Replayed = true; + } + + return info; + } + catch (JournalException e) + { + changedClusters = null; + info.Status = NtfsJournalStatus.Unsupported; + info.Detail = e.Message; + return info; + } + } + + private static void WriteClusters(Stream stream, Dictionary clusters, int clusterSize) + { + foreach (var cluster in clusters.OrderBy(c => c.Key)) + { + stream.Position = cluster.Key * clusterSize; + stream.Write(cluster.Value, 0, cluster.Value.Length); + } + } + + /// + /// $MFTMirr holds a copy of the first MFT records; when the replay changes them, the copy follows. + /// + private static void AddMftMirror(Stream volume, JournalVolumeLayout layout, Dictionary clusters) + { + var mirrorBytes = 4 * layout.MftRecordSize; + var clusterSize = layout.BytesPerCluster; + var mftStart = layout.MftCluster * clusterSize; + var touched = clusters.Keys.Any(lcn => lcn * clusterSize < mftStart + mirrorBytes && (lcn + 1) * clusterSize > mftStart); + if (!touched) + { + return; + } + + var bytes = new byte[mirrorBytes]; + for (var done = 0; done < mirrorBytes;) + { + var position = mftStart + done; + var lcn = position / clusterSize; + var inCluster = (int)(position % clusterSize); + var chunk = Math.Min(mirrorBytes - done, clusterSize - inCluster); + if (clusters.TryGetValue(lcn, out var cluster)) + { + Array.Copy(cluster, inCluster, bytes, done, chunk); + } + else + { + ReadExactly(volume, position, bytes, done, chunk); + } + + done += chunk; + } + + var mirrorStart = layout.MftMirrorCluster * clusterSize; + for (var done = 0; done < mirrorBytes;) + { + var position = mirrorStart + done; + var lcn = position / clusterSize; + var inCluster = (int)(position % clusterSize); + var chunk = Math.Min(mirrorBytes - done, clusterSize - inCluster); + if (!clusters.TryGetValue(lcn, out var cluster)) + { + cluster = new byte[clusterSize]; + ReadExactly(volume, lcn * clusterSize, cluster, 0, clusterSize); + clusters[lcn] = cluster; + } + + Array.Copy(bytes, done, cluster, inCluster, chunk); + done += chunk; + } + } + + /// + /// Leaves an empty journal: both restart pages say log file service 1.1, shut down cleanly, no client in use, + /// with the end of the log as current LSN. Windows starts a new log from there at the next mount. + /// + private static void ResetLog(LfsLog log, ulong lastLsn) + { + var source = log.Restart; + var page = (byte[])source.Page.Clone(); + var ra = source.RestartAreaOffset; + Put16(page, 0x1A, 1); + Put16(page, 0x1C, 1); + Put64(page, ra + 0x00, Math.Max(lastLsn, source.CurrentLsn)); + Put16(page, ra + 0x0A, 0); + Put16(page, ra + 0x0C, LfsRestartPage.NoClient); + Put16(page, ra + 0x0E, LfsRestartPage.FlagCleanDismount); + Put32(page, ra + 0x28, source.OpenLogCount + 1); + Put32(page, 0, SignatureRstr); + ApplyFixups(page, 0, page.Length); + log.Storage.Write(0, page, 0, page.Length); + log.Storage.Write(source.SystemPageSize, page, 0, page.Length); + } +} From 85c45b0465581ed5061f8c9c3cc3326696e6dde9 Mon Sep 17 00:00:00 2001 From: Devedse Date: Sat, 7 Nov 2026 05:21:29 +0100 Subject: [PATCH 02/18] NTFS journal: tests, Windows samples, and fixes found by them - Test journal writer and scenarios: DiscUtils-made changes logged like NTFS logs page images, replayed as redo (committed) and undo (unfinished), with wrap-around, LFS 1.1, torn commit page, interrupted replay, read-only and writable opens, refuse/ignore modes, unknown operations. - Operation tests for every redo/undo action, including refusals. - Two volumes Windows crashed on (Hyper-V, Windows 11 LTSC) with a digest of Windows' own replay; DiscUtils' replay must match it. - Replay fixes: data Windows leaves out of a record counts as zeros, the used-part moves of Create/DeleteAttribute, padding left as Windows does, only real byte changes count, pages turned back into "never written". - NtfsFileSystem.Dispose no longer throws after a refused open; the formatter's internal open ignores the journal. Co-Authored-By: Claude Opus 5.5 --- .../Journal/JournalUtilities.cs | 4 + .../DiscUtils.Ntfs/Journal/NtfsLogPages.cs | 36 +- .../DiscUtils.Ntfs/Journal/NtfsLogReplayer.cs | 38 +- Library/DiscUtils.Ntfs/NtfsFileSystem.cs | 3 +- Library/DiscUtils.Ntfs/NtfsFormatter.cs | 3 +- Library/DiscUtils.Ntfs/NtfsJournal.cs | 15 +- .../Ntfs/Data/journal-s1k.ntfs.gz | Bin 0 -> 508179 bytes .../Ntfs/Data/journal-s1k.windows.txt.gz | Bin 0 -> 68312 bytes .../Ntfs/Data/journal-s4k-c.ntfs.gz | Bin 0 -> 622774 bytes .../Ntfs/Data/journal-s4k-c.windows.txt.gz | Bin 0 -> 110771 bytes .../Ntfs/Journal/JournalScenario.cs | 261 ++++++++ .../Ntfs/Journal/NtfsJournalScenarioTest.cs | 321 +++++++++ .../Journal/NtfsJournalWindowsSampleTest.cs | 121 ++++ .../Ntfs/Journal/NtfsLogActionsTest.cs | 608 ++++++++++++++++++ .../Ntfs/Journal/TestJournalWriter.cs | 457 +++++++++++++ .../Ntfs/Journal/WindowsReplayDigest.cs | 401 ++++++++++++ 16 files changed, 2240 insertions(+), 28 deletions(-) create mode 100644 Tests/LibraryTests/Ntfs/Data/journal-s1k.ntfs.gz create mode 100644 Tests/LibraryTests/Ntfs/Data/journal-s1k.windows.txt.gz create mode 100644 Tests/LibraryTests/Ntfs/Data/journal-s4k-c.ntfs.gz create mode 100644 Tests/LibraryTests/Ntfs/Data/journal-s4k-c.windows.txt.gz create mode 100644 Tests/LibraryTests/Ntfs/Journal/JournalScenario.cs create mode 100644 Tests/LibraryTests/Ntfs/Journal/NtfsJournalScenarioTest.cs create mode 100644 Tests/LibraryTests/Ntfs/Journal/NtfsJournalWindowsSampleTest.cs create mode 100644 Tests/LibraryTests/Ntfs/Journal/NtfsLogActionsTest.cs create mode 100644 Tests/LibraryTests/Ntfs/Journal/TestJournalWriter.cs create mode 100644 Tests/LibraryTests/Ntfs/Journal/WindowsReplayDigest.cs diff --git a/Library/DiscUtils.Ntfs/Journal/JournalUtilities.cs b/Library/DiscUtils.Ntfs/Journal/JournalUtilities.cs index ab28e27d5..cddf54dc2 100644 --- a/Library/DiscUtils.Ntfs/Journal/JournalUtilities.cs +++ b/Library/DiscUtils.Ntfs/Journal/JournalUtilities.cs @@ -120,6 +120,10 @@ public static void ApplyFixups(byte[] buffer, int offset, int length) } } + /// Whether the header describes a plausible update sequence array for this length. + public static bool HasFixupLayout(byte[] buffer, int offset, int length) => + TryGetFixupLayout(buffer, offset, length, out _, out _, out _); + private static bool TryGetFixupLayout(byte[] buffer, int offset, int length, out int usaOffset, out int usaCount, out int stride) { diff --git a/Library/DiscUtils.Ntfs/Journal/NtfsLogPages.cs b/Library/DiscUtils.Ntfs/Journal/NtfsLogPages.cs index 74fd9935f..f697d3da6 100644 --- a/Library/DiscUtils.Ntfs/Journal/NtfsLogPages.cs +++ b/Library/DiscUtils.Ntfs/Journal/NtfsLogPages.cs @@ -72,6 +72,7 @@ internal sealed class NtfsLogPages private readonly JournalVolumeLayout _layout; private readonly Dictionary _logical = []; private readonly Dictionary _rawClusters = []; + private readonly Dictionary _rawOriginal = []; private readonly Dictionary _clusterUse = []; public NtfsLogPages(Stream volume, JournalVolumeLayout layout) @@ -82,22 +83,8 @@ public NtfsLogPages(Stream volume, JournalVolumeLayout layout) public int ClusterSize => _layout.BytesPerCluster; - public int ChangedPageCount - { - get - { - var count = _rawClusters.Count; - foreach (var page in _logical.Values) - { - if (page.Dirty) - { - count++; - } - } - - return count; - } - } + /// File records, index buffers and plain clusters whose bytes the replay changes (set by ). + public int ChangedPageCount { get; private set; } /// /// Gets a file record or index buffer of bytes that starts @@ -168,7 +155,18 @@ public void WriteRaw(long[] lcns, int start, byte[] buffer, int offset, int leng /// public Dictionary Commit() { - var clusters = new Dictionary(_rawClusters); + // Plain clusters are replayed unconditionally; only those whose bytes really changed are written. + var clusters = new Dictionary(); + var changed = 0; + foreach (var pair in _rawClusters) + { + if (!pair.Value.AsSpan().SequenceEqual(_rawOriginal[pair.Key])) + { + clusters[pair.Key] = pair.Value; + changed++; + } + } + foreach (var page in _logical.Values) { if (!page.Dirty) @@ -176,6 +174,8 @@ public Dictionary Commit() continue; } + changed++; + var bytes = (byte[])page.Data.Clone(); if (page.Valid) { @@ -204,6 +204,7 @@ public Dictionary Commit() } } + ChangedPageCount = changed; return clusters; } @@ -256,6 +257,7 @@ private byte[] RawCluster(long lcn) cluster = new byte[ClusterSize]; ReadExactly(_volume, lcn * ClusterSize, cluster, 0, ClusterSize); _rawClusters[lcn] = cluster; + _rawOriginal[lcn] = (byte[])cluster.Clone(); } return cluster; diff --git a/Library/DiscUtils.Ntfs/Journal/NtfsLogReplayer.cs b/Library/DiscUtils.Ntfs/Journal/NtfsLogReplayer.cs index fa6e133ac..c3cbd6312 100644 --- a/Library/DiscUtils.Ntfs/Journal/NtfsLogReplayer.cs +++ b/Library/DiscUtils.Ntfs/Journal/NtfsLogReplayer.cs @@ -115,7 +115,8 @@ public void Undo() { foreach (var loser in _analysis.Losers) { - UndoneTransactions++; + // Counted only if it changed pages: the checkpoint's table dumps also leave an "open" transaction. + var changesPages = false; var lsn = loser.Value.UndoNextLsn; var seen = new HashSet(); while (lsn != 0) @@ -136,6 +137,7 @@ public void Undo() var target = NtfsLogOperations.TargetOf(record.UndoOperation); if (target != NtfsLogTarget.None && record.Lcns.Length > 0) { + changesPages = true; var lcns = (long[])record.Lcns.Clone(); // A cluster the dirty page table says was freed holds nothing of this page any more. @@ -160,6 +162,11 @@ public void Undo() // A compensation record points past the changes that were already undone. lsn = lfs.ClientUndoNextLsn; } + + if (changesPages) + { + UndoneTransactions++; + } } } @@ -260,7 +267,7 @@ private bool ApplyNonResident(NtfsLogRecord record, NtfsLogOperation op, ArraySe } Array.Copy(data.Array, data.Offset, page.Data, record.RecordOffset, data.Count); - page.Valid = page.Signature == SignatureIndx; + page.Valid = page.Signature == SignatureIndx && HasFixupLayout(page.Data, 0, page.Data.Length); page.Dirty = true; return true; } @@ -271,11 +278,19 @@ private bool ApplyNonResident(NtfsLogRecord record, NtfsLogOperation op, ArraySe return false; } - if (data.Count > 0) + if (data.Count == 0) + { + return false; + } + + var current = new byte[data.Count]; + _pages.ReadRaw(lcns, offset, current, 0, current.Length); + if (current.AsSpan().SequenceEqual(data.AsSpan())) { - _pages.WriteRaw(lcns, offset, data.Array, data.Offset, data.Count); + return false; } + _pages.WriteRaw(lcns, offset, data.Array, data.Offset, data.Count); return true; } @@ -301,7 +316,13 @@ private bool ApplyNonResident(NtfsLogRecord record, NtfsLogOperation op, ArraySe var bytes = new byte[byteCount]; _pages.ReadRaw(lcns, byteStart, bytes, 0, byteCount); + var before = (byte[])bytes.Clone(); NtfsLogActions.ChangeBits(bytes, (int)(firstBit & 7), (int)bits, op == NtfsLogOperation.SetBitsInNonresidentBitMap); + if (before.AsSpan().SequenceEqual(bytes)) + { + return false; + } + _pages.WriteRaw(lcns, byteStart, bytes, 0, byteCount); return true; } @@ -333,9 +354,14 @@ private bool PageNeedsAction(LogicalPage page, NtfsLogRecord record, NtfsLogOper private void Finish(LogicalPage page, NtfsLogRecord record, bool redo) { - page.Valid = true; + // An undo can turn a page back into "never written" (no signature); it is then written as it is. + var expected = page.Kind == PageKind.FileRecord ? SignatureFile : SignatureIndx; + page.Valid = page.Signature == expected && HasFixupLayout(page.Data, 0, page.Data.Length); page.Dirty = true; - page.Lsn = redo ? record.Lsn : _undoStamp; + if (page.Valid) + { + page.Lsn = redo ? record.Lsn : _undoStamp; + } } private int IndexBufferSize(NtfsLogRecord record) diff --git a/Library/DiscUtils.Ntfs/NtfsFileSystem.cs b/Library/DiscUtils.Ntfs/NtfsFileSystem.cs index f29e664df..8671b3a46 100644 --- a/Library/DiscUtils.Ntfs/NtfsFileSystem.cs +++ b/Library/DiscUtils.Ntfs/NtfsFileSystem.cs @@ -2189,7 +2189,8 @@ protected override void Dispose(bool disposing) _context.Mft = null; } - if (_context.Options.Compressor is IDisposable disposableCompressor) + // _context is null when the constructor threw (e.g. the journal needed a replay that was refused). + if (_context?.Options.Compressor is IDisposable disposableCompressor) { if (disposing) { diff --git a/Library/DiscUtils.Ntfs/NtfsFormatter.cs b/Library/DiscUtils.Ntfs/NtfsFormatter.cs index 35476ea27..2c212aa41 100644 --- a/Library/DiscUtils.Ntfs/NtfsFormatter.cs +++ b/Library/DiscUtils.Ntfs/NtfsFormatter.cs @@ -229,7 +229,8 @@ public NtfsFileSystem Format(Stream stream) } // XP-style security permissions setup - var ntfs = new NtfsFileSystem(stream); + // The volume is still being built; its journal is empty anyway. + var ntfs = new NtfsFileSystem(stream, NtfsJournalMode.Ignore); ntfs.SetSecurity(@"$MFT", new RawSecurityDescriptor($"O:{localAdminString}G:BAD:(A;;FR;;;SY)(A;;FR;;;BA)")); diff --git a/Library/DiscUtils.Ntfs/NtfsJournal.cs b/Library/DiscUtils.Ntfs/NtfsJournal.cs index a884a761c..a0a5e3f25 100644 --- a/Library/DiscUtils.Ntfs/NtfsJournal.cs +++ b/Library/DiscUtils.Ntfs/NtfsJournal.cs @@ -108,16 +108,19 @@ internal NtfsJournalInfo(NtfsJournalStatus status, string detail) /// Gets the log file service version, e.g. "2.0" (empty when there is no log). public string LogVersion { get; internal set; } = ""; + /// Gets the LSN of the last record in the log (0 when there is no log to read). + public ulong LastLsn { get; internal set; } + /// Gets the number of log records after the last checkpoint. public int RecordsAfterCheckpoint { get; internal set; } - /// Gets the number of log records whose redo action is (or was) missing on disk. + /// Gets the number of log records the redo pass applies (0 when replaying changes nothing). public int RecordsToRedo { get; internal set; } /// Gets the number of unfinished transactions to roll back. public int TransactionsToUndo { get; internal set; } - /// Gets the number of log records whose undo action is (or was) needed. + /// Gets the number of log records the undo pass applies. public int RecordsToUndo { get; internal set; } /// Gets the number of file records, index buffers and other pages the replay changes. @@ -235,6 +238,7 @@ private static NtfsJournalInfo Run(Stream volume, bool write, out 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Ɨui;qc7qtDbHUSN@CD@;``ePGvs7Ykw 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

_uXJkmEIit35=GB#Ex(!|55%4fr2nT(MPa#&9{Y z%PpikAy8?QorMM7xZEPWY;VHaM;k#`qg<#5$$>YYq>b$wz#rZH9o*65mmv#d< zUGKh`U}CRo^RcgL)7$~wv*z%X_)9PN#@{-Goq5{q41TTo-aQ+OUN}^`w3#>l+^BvnpZrjo{*OGNswz)k&u2^GwhrE|C3V!i%ip70ki?nW z^ZZQBPxIWXT%r-@U8=tC$X2!%laKjRgGe+mKQTw3OiCI*0S1d#VO9QxMERrOJ4 zloo9D`+qL^l|}qHHf>>I^_$n}9FQcfuOw9e@R-*a;AI-&?SLZOS0`PwRUT);G{9^b zZ~UbE8s*0YXR<~KE-oe!?pB)kc77V zF|lb+#Fk1Cx{c+xop@SS5HQ*23RITapQ9LZ6;@es#``yc1C}X-lmLLu9{DySOG}(7 zFF{}?meYb6afgirRaM@de2AmP=T)gBPI?s}Fu{=T3lZV?+6-hDL#h?3Cb2S>Jof+3I<%sZN- zww4S_;h^8zKp1L{)!lA2fQWBrB3#Cc5dG?2nq?EliW2x~%verA>zAh6-K|&46BVGi zvDa(F_0%^7_OGOXPUbemPuqJ>xpB% zFVqn-FrC%%wQ=f!jNLdwP~sAMoiHkfJ}NWK-1vf>`9I4YKBOLD>+IY1#{|%}Q3vmx zkX;{s7(*LuJki|`4v&|%2-(K{Y<*)#764g88=Mya+bM$#7o8S$+~hZX)xKnVY0CZc v_VQ3hlEo0bjxZ0O+iLF7`qIAuJGgj+ literal 0 HcmV?d00001 diff --git a/Tests/LibraryTests/Ntfs/Data/journal-s1k.windows.txt.gz b/Tests/LibraryTests/Ntfs/Data/journal-s1k.windows.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..c70becbaabc3c56cf025004333c3f423a1853429 GIT binary patch literal 68312 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%0D9q)P6K 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”ym*i!Z4_ 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�-D=sdoqcn5IODJLg_G-T1oniBp(^t7 z*+aa(w|SXPq^y|DpMrC>m#z0f1{NQ)LUFG5Mc0DC8t~O1u~2rd zVG)m-zitqd&4Rbzv9jbnjPUIXMO}Rxg(UFs?|Y3>I>nfiF_L|TJrRe6wTUnkD;7$ga+!AIYm5vgtbfXoX-(DqbW9+rH z(kqFn@vGK~TbMFKO0ksygbt`KmIViR0A$$S^A#5PJZ0yW>l@RuM9k4G2Y&i%f&Uy* zx)=r02($P8HREva7Z&zsS*=-WRL*u&n-|mddl!$w*W>n<3!f#=X%_MK&MVnsuE0U|%6VIl| ze-5U*Kpg)ycq56KiLnqPIMj4!GRa-^BIh}nXmC#@PGUJNBXI+8BH=ch>#!n1qT2c4 zQkPqJg%}AzHM(J=htK}tvG}~()-%9LU%qr){9U@~JI{YDOg8gm|FCyzV`>dDn)2VC zNBu){cg750`?bn>TtUtMjS8TNelV~d&qL2rwwsTs{c|b}tqFtOAfmX|#ii4VrT^$6 z{q3Bo%-LjfXkRA~Mj3tqkFs1 z-#M+h>p&sJBte}cS;*@cklchNyNVHpfGsFzYAfOlV+FOM#IRG&q)hVh zSV}q90HdZ2GO*k^2i4uNk=L(7WW1U%NlYKM8r97P@f}fj zZQMl(3i69)xu_4~t$~eWBY!h13x{bt4YS293GwCgdPc+|{|lV;MY^i`Yf+@%@V)U6 zT5q>-Qy7_*vJpT@fU1SChUV)LBm^Q^t_Q**@Z^wH!f11aj; zD+HoWUTYseB#QDhmC1{dPFN5HZ=foOmnR7O`Y;I-gz2O+6<$fpBNe)tH zGf7a`TmN+Gaq^aMTKA~4Z+7M0>iCvW0PyKt>;97)l2yPtumfrAG7Q@pX5L!~zIVN}Yc{#vvFJsnaDYg1k#J!3i1=7|Q$ zc9xerb0Dv-XJv}}DUA8)n@K^4axN~TGrm^#U#j~eLR7>rLWO_(NlO=r?$N`~M5uC^ zdeIBs9<$bGXy~vEFMY_RC7VVZv;Nl)%PmzZl;?ga+(z((jhfS*S}O-LjpZ_;*g+eM z$ezsQ>G9_s$dRdr)sljxewg{$;!Z~X;=T6l6WMb~axSQ;?j33VjkVhO2 zA{{v22wsKLFJ8#A1{L(}@r3peohbKu$axo5%NINoTo3SEMJRbeHDYklCEo@Xnewiq zwyMTt2vBBXrEt1e^D&7B2vup~+y?$0%tSVjFVQ7hWCm$XqC;jU#e3^ez`wlcH{~2* z{}kV5;^n+I^Kxr+7^;{bOaIk!7UR;3^wpSn+q&80(BJ9Oy?yDkzQ@i?U#RhWRQK5uw5%w?uUD9R4CF%l0Xl}Vi9Q8 zCoU=Q-_ZWr5Wc@1`u&L%m3v{HGd%`l=q=2C^6A@NRw$xPxgN3G1^|^l#mmJj_+5%V W1;3EKef#bl^(gr_c=dDAC7mNLG4kn<*u=;kkdvEvFQo`Ejdk!ZG_Tuh8mw1bm2v*jl zlTp^cjwLb2Q-t*f*bymS>Y1EGV$Mm2)U@@(-I_PSorQ@EhQUaS@N92Qj)SSppEtS! zrm?0As^5<