mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2025-11-11 11:08:02 -06:00
Windows Driver: enhance detection of FAT volumes.
This commit is contained in:
@@ -1353,12 +1353,14 @@ NTSTATUS ProcessMainDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION Ex
|
||||
switch (BE64 (*(uint64 *) readBuffer))
|
||||
{
|
||||
case 0xEB52904E54465320: // NTFS
|
||||
case 0xEB3C904D53444F53: // FAT16
|
||||
case 0xEB3C904D53444F53: // FAT16/FAT32
|
||||
case 0xEB58904D53444F53: // FAT32
|
||||
case 0xEB76904558464154: // exFAT
|
||||
case 0x0000005265465300: // ReFS
|
||||
case 0xEB58906D6B66732E: // FAT by mkfs.fat
|
||||
case 0xEB58906D6B646F73: // FAT by mkfs.vfat/mkdosfs
|
||||
case 0xEB58906D6B66732E: // FAT32 mkfs.fat
|
||||
case 0xEB58906D6B646F73: // FAT32 mkfs.vfat/mkdosfs
|
||||
case 0xEB3C906D6B66732E: // FAT16/FAT12 mkfs.fat
|
||||
case 0xEB3C906D6B646F73: // FAT16/FAT12 mkfs.vfat/mkdosfs
|
||||
opentest->FilesystemDetected = TRUE;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -739,7 +739,9 @@ NTSTATUS TCOpenVolume (PDEVICE_OBJECT DeviceObject,
|
||||
|
||||
switch (fsId)
|
||||
{
|
||||
case 0xEB3C904D53444F53: // FAT16
|
||||
case 0xEB3C904D53444F53: // FAT16/FAT12
|
||||
case 0xEB3C906D6B66732E: // mkfs.fat
|
||||
case 0xEB3C906D6B646F73: // mkfs.vfat/mkdosfs
|
||||
// workaround for FAT32 formatting by TrueCrypt/VeraCrypt
|
||||
if (memcmp (readBuffer + 0x52, "FAT32 ", 8) == 0)
|
||||
{
|
||||
@@ -747,10 +749,18 @@ NTSTATUS TCOpenVolume (PDEVICE_OBJECT DeviceObject,
|
||||
Dump ("FAT32 detected with FAT16 header\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (memcmp (readBuffer + 0x36, "FAT12 ", 8) == 0)
|
||||
{
|
||||
Extension->PartitionType = PARTITION_FAT_12;
|
||||
Dump ("FAT12 detected\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
Extension->PartitionType = PARTITION_FAT_16;
|
||||
Dump ("FAT16 detected\n");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 0xEB58906D6B66732E: // mkfs.fat
|
||||
case 0xEB58906D6B646F73: // mkfs.vfat/mkdosfs
|
||||
|
||||
Reference in New Issue
Block a user