VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Driver
diff options
context:
space:
mode:
Diffstat (limited to 'src/Driver')
-rw-r--r--src/Driver/DriveFilter.c6
-rw-r--r--src/Driver/DriveFilter.h2
-rw-r--r--src/Driver/Driver.rc8
-rw-r--r--src/Driver/Driver.vcxproj28
-rw-r--r--src/Driver/Driver.vcxproj.filters6
-rw-r--r--src/Driver/Driver.vcxproj.user3
-rw-r--r--src/Driver/DumpFilter.c2
-rw-r--r--src/Driver/DumpFilter.h2
-rw-r--r--src/Driver/EncryptedIoQueue.c86
-rw-r--r--src/Driver/EncryptedIoQueue.h2
-rw-r--r--src/Driver/Fuse/FuseService.cpp2
-rw-r--r--src/Driver/Fuse/FuseService.h2
-rw-r--r--src/Driver/Ntdriver.c38
-rw-r--r--src/Driver/Ntdriver.h2
-rw-r--r--src/Driver/Ntvol.c2
-rw-r--r--src/Driver/Ntvol.h2
-rw-r--r--src/Driver/VolumeFilter.c2
-rw-r--r--src/Driver/VolumeFilter.h2
-rw-r--r--src/Driver/veracrypt.Inf2
19 files changed, 137 insertions, 62 deletions
diff --git a/src/Driver/DriveFilter.c b/src/Driver/DriveFilter.c
index a280d20e..f8f06b37 100644
--- a/src/Driver/DriveFilter.c
+++ b/src/Driver/DriveFilter.c
@@ -6,3 +6,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
@@ -289,3 +289,3 @@ static void DismountDrive (DriveFilterExtension *Extension, BOOL stopIoQueue)
{
- Dump ("Dismounting drive\n");
+ Dump ("Unmounting drive\n");
ASSERT (Extension->DriveMounted);
@@ -303,3 +303,3 @@ static void DismountDrive (DriveFilterExtension *Extension, BOOL stopIoQueue)
- Dump ("Drive dismount done!\n");
+ Dump ("Drive unmount done!\n");
}
diff --git a/src/Driver/DriveFilter.h b/src/Driver/DriveFilter.h
index 307880fb..60ec9a05 100644
--- a/src/Driver/DriveFilter.h
+++ b/src/Driver/DriveFilter.h
@@ -6,3 +6,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
diff --git a/src/Driver/Driver.rc b/src/Driver/Driver.rc
index 6d9bad20..928ce1c3 100644
--- a/src/Driver/Driver.rc
+++ b/src/Driver/Driver.rc
@@ -29,4 +29,4 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,26,17,2
- PRODUCTVERSION 1,26,17,2
+ FILEVERSION 1,26,20,0
+ PRODUCTVERSION 1,26,20,0
FILEFLAGSMASK 0x17L
@@ -47,3 +47,3 @@ BEGIN
VALUE "FileDescription", "VeraCrypt Driver"
- VALUE "FileVersion", "1.26.17"
+ VALUE "FileVersion", "1.26.20"
VALUE "LegalTrademarks", "VeraCrypt"
@@ -51,3 +51,3 @@ BEGIN
VALUE "ProductName", "VeraCrypt"
- VALUE "ProductVersion", "1.26.17"
+ VALUE "ProductVersion", "1.26.20"
END
diff --git a/src/Driver/Driver.vcxproj b/src/Driver/Driver.vcxproj
index 7f135b35..17fbfa43 100644
--- a/src/Driver/Driver.vcxproj
+++ b/src/Driver/Driver.vcxproj
@@ -39,3 +39,3 @@
<DriverTargetPlatform>Universal</DriverTargetPlatform>
- <_NT_TARGET_VERSION>0xA000008</_NT_TARGET_VERSION>
+ <_NT_TARGET_VERSION>0xA000006</_NT_TARGET_VERSION>
</PropertyGroup>
@@ -48,3 +48,3 @@
<DriverTargetPlatform>Universal</DriverTargetPlatform>
- <_NT_TARGET_VERSION>0xA000008</_NT_TARGET_VERSION>
+ <_NT_TARGET_VERSION>0xA000006</_NT_TARGET_VERSION>
</PropertyGroup>
@@ -57,3 +57,3 @@
<DriverTargetPlatform>Universal</DriverTargetPlatform>
- <_NT_TARGET_VERSION>0xA000008</_NT_TARGET_VERSION>
+ <_NT_TARGET_VERSION>0xA000006</_NT_TARGET_VERSION>
</PropertyGroup>
@@ -66,3 +66,3 @@
<DriverTargetPlatform>Universal</DriverTargetPlatform>
- <_NT_TARGET_VERSION>0xA000008</_NT_TARGET_VERSION>
+ <_NT_TARGET_VERSION>0xA000006</_NT_TARGET_VERSION>
</PropertyGroup>
@@ -112,3 +112,4 @@
</ProviderName>
- <TimeStamp>1.26.17.2</TimeStamp>
+ <TimeStamp>1.26.20.0</TimeStamp>
+ <DateStamp>02/03/2025</DateStamp>
</Inf>
@@ -138,3 +139,4 @@ copy $(OutDir)veracrypt.inf "$(SolutionDir)Debug\Setup Files\veracrypt.inf"</Com
</ProviderName>
- <TimeStamp>1.26.17.2</TimeStamp>
+ <TimeStamp>1.26.20.0</TimeStamp>
+ <DateStamp>02/03/2025</DateStamp>
</Inf>
@@ -164,3 +166,4 @@ copy $(OutDir)veracrypt.inf "$(SolutionDir)Release\Setup Files\veracrypt.inf"</C
</ProviderName>
- <TimeStamp>1.26.17.2</TimeStamp>
+ <TimeStamp>1.26.20.0</TimeStamp>
+ <DateStamp>02/03/2025</DateStamp>
</Inf>
@@ -190,3 +193,4 @@ copy $(OutDir)veracrypt.inf "$(SolutionDir)Release\Setup Files\veracrypt.inf"</C
</ProviderName>
- <TimeStamp>1.26.17.2</TimeStamp>
+ <TimeStamp>1.26.20.0</TimeStamp>
+ <DateStamp>02/03/2025</DateStamp>
</Inf>
@@ -226,2 +230,6 @@ copy $(OutDir)veracrypt.inf "$(SolutionDir)Debug\Setup Files\veracrypt.inf"</Com
<ClCompile Include="..\Crypto\Aestab.c" />
+ <ClCompile Include="..\Crypto\Aes_hw_armv8.c">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
<ClCompile Include="..\Crypto\blake2s.c" />
@@ -266,2 +274,6 @@ copy $(OutDir)veracrypt.inf "$(SolutionDir)Debug\Setup Files\veracrypt.inf"</Com
<ClCompile Include="..\Crypto\Sha2.c" />
+ <ClCompile Include="..\Crypto\sha256_armv8.c">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
<ClCompile Include="..\Crypto\Sha2Intel.c" />
diff --git a/src/Driver/Driver.vcxproj.filters b/src/Driver/Driver.vcxproj.filters
index 478432fa..3c427dad 100644
--- a/src/Driver/Driver.vcxproj.filters
+++ b/src/Driver/Driver.vcxproj.filters
@@ -167,2 +167,8 @@
</ClCompile>
+ <ClCompile Include="..\Crypto\Aes_hw_armv8.c">
+ <Filter>Crypto\Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\Crypto\sha256_armv8.c">
+ <Filter>Crypto\Source Files</Filter>
+ </ClCompile>
</ItemGroup>
diff --git a/src/Driver/Driver.vcxproj.user b/src/Driver/Driver.vcxproj.user
index 9724a753..f5bd9cdc 100644
--- a/src/Driver/Driver.vcxproj.user
+++ b/src/Driver/Driver.vcxproj.user
@@ -18,2 +18,5 @@
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+ </PropertyGroup>
</Project> \ No newline at end of file
diff --git a/src/Driver/DumpFilter.c b/src/Driver/DumpFilter.c
index f858bb7c..4105b116 100644
--- a/src/Driver/DumpFilter.c
+++ b/src/Driver/DumpFilter.c
@@ -6,3 +6,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
diff --git a/src/Driver/DumpFilter.h b/src/Driver/DumpFilter.h
index c72115a2..88091bd4 100644
--- a/src/Driver/DumpFilter.h
+++ b/src/Driver/DumpFilter.h
@@ -6,3 +6,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
diff --git a/src/Driver/EncryptedIoQueue.c b/src/Driver/EncryptedIoQueue.c
index 91399c47..c39941e6 100644
--- a/src/Driver/EncryptedIoQueue.c
+++ b/src/Driver/EncryptedIoQueue.c
@@ -6,3 +6,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
@@ -227,10 +227,11 @@ static void ReleaseFragmentBuffer (EncryptedIoQueue *queue, uint8 *buffer)
-BOOL
+BOOL
UpdateBuffer(
- uint8* buffer,
- uint8* secRegion,
- uint64 bufferDiskOffset,
- uint32 bufferLength,
- BOOL doUpadte
- )
+ uint8* buffer,
+ uint8* secRegion,
+ SIZE_T secRegionSize,
+ uint64 bufferDiskOffset,
+ uint32 bufferLength,
+ BOOL doUpadte
+)
{
@@ -239,23 +240,62 @@ UpdateBuffer(
uint32 i;
- DCS_DISK_ENTRY_LIST *DeList = (DCS_DISK_ENTRY_LIST*)(secRegion + 512);
+ DCS_DISK_ENTRY_LIST *DeList = NULL;
BOOL updated = FALSE;
- if (secRegion == NULL) return FALSE;
+ if (secRegion == NULL)
+ return FALSE;
+
+ // Check if secRegion is large enough to hold the DCS_DISK_ENTRY_LIST structure
+ // starting at offset 512
+ if (secRegionSize < (512 + sizeof(DCS_DISK_ENTRY_LIST)))
+ return FALSE;
+
+ DeList = (DCS_DISK_ENTRY_LIST*)(secRegion + 512);
+
+ // Ensure Count doesn't exceed the fixed array size
+ if (DeList->Count > 15)
+ return FALSE;
+
for (i = 0; i < DeList->Count; ++i) {
if (DeList->DE[i].Type == DE_Sectors) {
+ uint64 sectorStart = DeList->DE[i].Sectors.Start;
+ uint64 sectorLength = DeList->DE[i].Sectors.Length;
+ uint64 sectorOffset = DeList->DE[i].Sectors.Offset;
+
+ // Check that sectorOffset and sectorLength are valid within secRegion
+ if (sectorOffset > secRegionSize ||
+ sectorLength == 0 ||
+ (sectorOffset + sectorLength) > secRegionSize)
+ {
+ // Invalid entry - skip
+ continue;
+ }
+
GetIntersection(
bufferDiskOffset, bufferLength,
- DeList->DE[i].Sectors.Start, DeList->DE[i].Sectors.Start + DeList->DE[i].Sectors.Length - 1,
+ sectorStart, sectorStart + sectorLength - 1,
&intersectStart, &intersectLength
- );
+ );
+
if (intersectLength != 0) {
+ uint64 bufferPos = intersectStart - bufferDiskOffset;
+ uint64 regionPos = sectorOffset + (intersectStart - sectorStart);
+
+ // Check buffer boundaries
+ if (bufferPos + intersectLength > bufferLength)
+ continue; // Intersection out of buffer range
+
+ // Check secRegion boundaries
+ if (regionPos + intersectLength > secRegionSize)
+ continue; // Intersection out of secRegion range
+
updated = TRUE;
- if(doUpadte && buffer != NULL) {
-// Dump("Subst data\n");
+ if (doUpadte && buffer != NULL) {
memcpy(
- buffer + (intersectStart - bufferDiskOffset),
- secRegion + DeList->DE[i].Sectors.Offset + (intersectStart - DeList->DE[i].Sectors.Start),
+ buffer + bufferPos,
+ secRegion + regionPos,
intersectLength
- );
- } else {
+ );
+ }
+ else {
+ // If no update is needed but intersection found
return TRUE;
@@ -289,3 +329,3 @@ static VOID CompleteIrpWorkItemRoutine(PDEVICE_OBJECT DeviceObject, PVOID Contex
{
- KeSetEvent(&queue->NoActiveWorkItemsEvent, IO_NO_INCREMENT, FALSE);
+ KeSetEvent(&queue->NoActiveWorkItemsEvent, IO_DISK_INCREMENT, FALSE);
}
@@ -298,3 +338,3 @@ static VOID CompleteIrpWorkItemRoutine(PDEVICE_OBJECT DeviceObject, PVOID Contex
// Release the semaphore to signal that a work item is available
- KeReleaseSemaphore(&queue->WorkItemSemaphore, IO_NO_INCREMENT, 1, FALSE);
+ KeReleaseSemaphore(&queue->WorkItemSemaphore, IO_DISK_INCREMENT, 1, FALSE);
@@ -380,3 +420,3 @@ static VOID CompletionThreadProc(PVOID threadArg)
if((queue->SecRegionData != NULL) && (queue->SecRegionSize > 512)) {
- UpdateBuffer(request->Data, queue->SecRegionData, request->Offset.QuadPart, request->Length, TRUE);
+ UpdateBuffer(request->Data, queue->SecRegionData, queue->SecRegionSize, request->Offset.QuadPart, request->Length, TRUE);
}
@@ -733,3 +773,3 @@ static VOID MainThreadProc (PVOID threadArg)
if((queue->SecRegionData != NULL) && (queue->SecRegionSize > 512)) {
- UpdateBuffer(buffer, queue->SecRegionData, alignedOffset.QuadPart, alignedLength, TRUE);
+ UpdateBuffer(buffer, queue->SecRegionData, queue->SecRegionSize, alignedOffset.QuadPart, alignedLength, TRUE);
}
@@ -826,3 +866,3 @@ static VOID MainThreadProc (PVOID threadArg)
&& (queue->SecRegionData != NULL) && (queue->SecRegionSize > 512)
- && UpdateBuffer (NULL, queue->SecRegionData, item->OriginalOffset.QuadPart, (uint32)(item->OriginalOffset.QuadPart + item->OriginalLength - 1), FALSE))
+ && UpdateBuffer (NULL, queue->SecRegionData, queue->SecRegionSize, item->OriginalOffset.QuadPart, (uint32)(item->OriginalOffset.QuadPart + item->OriginalLength - 1), FALSE))
{
diff --git a/src/Driver/EncryptedIoQueue.h b/src/Driver/EncryptedIoQueue.h
index 3738065a..82cc76cd 100644
--- a/src/Driver/EncryptedIoQueue.h
+++ b/src/Driver/EncryptedIoQueue.h
@@ -6,3 +6,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
diff --git a/src/Driver/Fuse/FuseService.cpp b/src/Driver/Fuse/FuseService.cpp
index 5b12ba4d..5fe9f6fe 100644
--- a/src/Driver/Fuse/FuseService.cpp
+++ b/src/Driver/Fuse/FuseService.cpp
@@ -6,3 +6,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
diff --git a/src/Driver/Fuse/FuseService.h b/src/Driver/Fuse/FuseService.h
index d09a40db..1e4ffc6c 100644
--- a/src/Driver/Fuse/FuseService.h
+++ b/src/Driver/Fuse/FuseService.h
@@ -6,3 +6,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
diff --git a/src/Driver/Ntdriver.c b/src/Driver/Ntdriver.c
index 12943dc8..148f88b8 100644
--- a/src/Driver/Ntdriver.c
+++ b/src/Driver/Ntdriver.c
@@ -8,3 +8,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
@@ -234,3 +234,3 @@ void GetDriverRandomSeed (unsigned char* pbRandSeed, size_t cbRandSeed)
}
-
+#ifndef _M_ARM64
// use RDSEED or RDRAND from CPU as source of entropy if enabled
@@ -243,2 +243,3 @@ void GetDriverRandomSeed (unsigned char* pbRandSeed, size_t cbRandSeed)
}
+#endif
WHIRLPOOL_finalize (&tctx, digest);
@@ -268,3 +269,7 @@ NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
+#ifndef _M_ARM64
DetectX86Features();
+#else
+ DetectArmFeatures();
+#endif
@@ -295,3 +300,7 @@ NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
// features and try again in order to workaround faulty configurations
+#ifndef _M_ARM64
DisableCPUExtendedFeatures();
+#else
+ EnableHwEncryption(FALSE);
+#endif
SelfTestsPassed = AutoTestAlgorithms();
@@ -1221,3 +1230,3 @@ NTSTATUS ProcessVolumeDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION
outputBuffer->PartitionNumber = 1;
- outputBuffer->HiddenSectors = 0;
+ outputBuffer->HiddenSectors = BYTES_PER_MB / Extension->BytesPerSector;
Irp->IoStatus.Status = STATUS_SUCCESS;
@@ -1241,3 +1250,3 @@ NTSTATUS ProcessVolumeDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION
outputBuffer->Mbr.RecognizedPartition = TRUE;
- outputBuffer->Mbr.HiddenSectors = 0;
+ outputBuffer->Mbr.HiddenSectors = BYTES_PER_MB / Extension->BytesPerSector;
Irp->IoStatus.Status = STATUS_SUCCESS;
@@ -1265,3 +1274,3 @@ NTSTATUS ProcessVolumeDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION
outputBuffer->PartitionEntry->PartitionNumber = 1;
- outputBuffer->PartitionEntry->HiddenSectors = 0;
+ outputBuffer->PartitionEntry->HiddenSectors = BYTES_PER_MB / Extension->BytesPerSector;
@@ -1300,3 +1309,3 @@ NTSTATUS ProcessVolumeDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION
outputBuffer->PartitionEntry->PartitionNumber = 1;
- outputBuffer->PartitionEntry->Mbr.HiddenSectors = 0;
+ outputBuffer->PartitionEntry->Mbr.HiddenSectors = BYTES_PER_MB / Extension->BytesPerSector;
outputBuffer->PartitionEntry->Mbr.PartitionType = Extension->PartitionType;
@@ -1439,3 +1448,8 @@ NTSTATUS ProcessVolumeDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION
// Vista's, Windows 8.1 and later filesystem defragmenter fails if IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS does not succeed.
- if (ValidateIOBufferSize(Irp, sizeof(VOLUME_DISK_EXTENTS), ValidateOutput))
+ if (!AllowWindowsDefrag || !Extension->bRawDevice) // We don't support defragmentation for file-hosted volumes
+ {
+ Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
+ Irp->IoStatus.Information = 0;
+ }
+ else if (ValidateIOBufferSize(Irp, sizeof(VOLUME_DISK_EXTENTS), ValidateOutput))
{
@@ -2588,3 +2602,3 @@ NTSTATUS ProcessMainDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION Ex
- case TC_IOCTL_DISMOUNT_VOLUME:
+ case TC_IOCTL_UNMOUNT_VOLUME:
if (ValidateIOBufferSize (Irp, sizeof (UNMOUNT_STRUCT), ValidateInputOutput))
@@ -2616,3 +2630,3 @@ NTSTATUS ProcessMainDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION Ex
- case TC_IOCTL_DISMOUNT_ALL_VOLUMES:
+ case TC_IOCTL_UNMOUNT_ALL_VOLUMES:
if (ValidateIOBufferSize (Irp, sizeof (UNMOUNT_STRUCT), ValidateInputOutput))
@@ -3175,4 +3189,4 @@ LPWSTR TCTranslateCode (ULONG ulCode)
TC_CASE_RET_NAME (TC_IOCTL_BOOT_ENCRYPTION_SETUP);
- TC_CASE_RET_NAME (TC_IOCTL_DISMOUNT_ALL_VOLUMES);
- TC_CASE_RET_NAME (TC_IOCTL_DISMOUNT_VOLUME);
+ TC_CASE_RET_NAME (TC_IOCTL_UNMOUNT_ALL_VOLUMES);
+ TC_CASE_RET_NAME (TC_IOCTL_UNMOUNT_VOLUME);
TC_CASE_RET_NAME (TC_IOCTL_GET_BOOT_DRIVE_VOLUME_PROPERTIES);
@@ -3373,3 +3387,3 @@ void OnShutdownPending ()
- while (SendDeviceIoControlRequest (RootDeviceObject, TC_IOCTL_DISMOUNT_ALL_VOLUMES, &unmount, sizeof (unmount), &unmount, sizeof (unmount)) == STATUS_INSUFFICIENT_RESOURCES || unmount.HiddenVolumeProtectionTriggered)
+ while (SendDeviceIoControlRequest (RootDeviceObject, TC_IOCTL_UNMOUNT_ALL_VOLUMES, &unmount, sizeof (unmount), &unmount, sizeof (unmount)) == STATUS_INSUFFICIENT_RESOURCES || unmount.HiddenVolumeProtectionTriggered)
unmount.HiddenVolumeProtectionTriggered = FALSE;
diff --git a/src/Driver/Ntdriver.h b/src/Driver/Ntdriver.h
index b03b5e93..c23bbfe3 100644
--- a/src/Driver/Ntdriver.h
+++ b/src/Driver/Ntdriver.h
@@ -8,3 +8,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
diff --git a/src/Driver/Ntvol.c b/src/Driver/Ntvol.c
index 0376033f..9856fc2b 100644
--- a/src/Driver/Ntvol.c
+++ b/src/Driver/Ntvol.c
@@ -8,3 +8,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
diff --git a/src/Driver/Ntvol.h b/src/Driver/Ntvol.h
index 1d80b7de..a1051e94 100644
--- a/src/Driver/Ntvol.h
+++ b/src/Driver/Ntvol.h
@@ -8,3 +8,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
diff --git a/src/Driver/VolumeFilter.c b/src/Driver/VolumeFilter.c
index b4bc8d2e..f4fc9610 100644
--- a/src/Driver/VolumeFilter.c
+++ b/src/Driver/VolumeFilter.c
@@ -6,3 +6,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
diff --git a/src/Driver/VolumeFilter.h b/src/Driver/VolumeFilter.h
index f3e53237..e318e99d 100644
--- a/src/Driver/VolumeFilter.h
+++ b/src/Driver/VolumeFilter.h
@@ -6,3 +6,3 @@
Modifications and additions to the original source code (contained in this file)
- and all other portions of this file are Copyright (c) 2013-2017 IDRIX
+ and all other portions of this file are Copyright (c) 2013-2025 IDRIX
and are governed by the Apache License 2.0 the full text of which is
diff --git a/src/Driver/veracrypt.Inf b/src/Driver/veracrypt.Inf
index d2cef1b4..c5751ac2 100644
--- a/src/Driver/veracrypt.Inf
+++ b/src/Driver/veracrypt.Inf
@@ -4,3 +4,3 @@
;;;
-;;; Copyright (c) 2024, IDRIX
+;;; Copyright (c) 2025, IDRIX
;;;