For Windows 10 — Zed Note Drivers

Let’s crack open the engine. Before discussing drivers, understand what a ZED note actually is. Unlike a typical text file, a ZED note is stored as a structured binary blob inside an NTFS alternate data stream named :ZED:$DATA . The parent file is usually a zero-byte placeholder with a .zed extension, located in:

return FLT_PREOP_SUCCESS_NO_CALLBACK; The driver maintains a small cache of decrypted buffers per file object. Reads are satisfied from this cache when possible. On cache miss, the driver reads the ciphertext from the ADS, calls BCryptDecrypt (via the CNG runtime), and copies plaintext to the user buffer.

When a read request flows down the stack: zed note drivers for windows 10

Next time you double-click a .zed file and see plain text appear, remember: beneath that simple act lies a kernel driver, a filter manager, DPAPI, and the NTFS $DATA stream, all working in silent coordination. Have you encountered ZED notes in your forensic work or endpoint management? Share your experiences in the comments below.

But what drives ZED notes? How do they persist across reboots, user sessions, and even OS repairs? The answer lies not in a single driver, but in a complex interplay of , NTFS alternate data streams (ADS) , and a largely undocumented kernel-mode component called ZedDriver.sys . Let’s crack open the engine

User App → NTOSKRNL I/O Manager → FltMgr → ZedDriver (decrypt) → NTFS → Disk Let’s examine pseudocode for the key handlers inside ZedDriver.sys (reverse-engineered for research purposes—no Microsoft NDA was violated). IRP_MJ_CREATE (Opening a ZED note) NTSTATUS ZedPreCreate(PFLT_CALLBACK_DATA Data) PFLT_FILE_NAME_INFORMATION nameInfo; FltGetFileNameInformation(Data, FLT_FILE_NAME_NORMALIZED, &nameInfo); if (IsZedNotePath(nameInfo->Name)) // Redirect to ADS ReplaceWithAdsPath(nameInfo); // Check zone policy if (GetZoneIdentifier(nameInfo) == ZONE_RESTRICTED && !SeSinglePrivilegeCheck(SeTcbPrivilege, UserMode)) return STATUS_ACCESS_DENIED; // Set a context on the file object to mark it as decrypted FltAllocateContext(Data->Instance, &zedContext, ...);

In the world of digital forensics, incident response, and enterprise endpoint management, few artifacts are as simultaneously valuable and overlooked as . While Microsoft’s Sticky Notes are the more famous cousin, ZED notes—short for Zone Identifier Encrypted Data notes —represent a lower-level, more persistent form of user-created text snippets tied directly to the Windows 10 file system and security zone metadata. The parent file is usually a zero-byte placeholder with a

Crucially, —the driver marks its working buffers as non-pageable and zeroes them on cleanup. Why a Driver? Why Not a User-Mode Service? This is the most common question. Couldn’t Microsoft have implemented ZED notes as a user-mode service that simply reads/writes ADS files?