Commit Graph

317 Commits

Author SHA1 Message Date
Mounir IDRASSI
5627e7a738 Windows: Add CLI switches to control memory/screen protection features. Disable non-configurable settings in portable mode 2025-06-24 15:48:01 +09:00
Mounir IDRASSI
2b531dd113 Windows: Add an SDK for VeraCrypt Format that allows third-party application to create volumes 2025-06-13 21:12:14 +09:00
Mounir IDRASSI
08093f460a Windows: fix link error in custom EFI / VC_SKIP_OS_DRIVER_REQ_CHECK configuration 2025-06-09 11:41:12 +09:00
Mounir IDRASSI
9ea5ccc4aa Windows: Enable screen protection by default to block screenshots, recordings & Windows Recall. Add configurable setting in Preferences, Installer, and MSI.
This update introduces a screen protection mechanism that leverages the Windows Display Affinity API to prevent screen capture, screen recording, and inclusion in the Windows 11 Recall feature. By default, all VeraCrypt windows, menus, and tooltips are protected. Users can enable or disable this feature through a new setting available in the application Preferences, as well as in the installer and MSI configurations.

This enhances user privacy by mitigating potential leaks of sensitive interface content.

Note: Due to a regression in Windows 11 affecting layered windows, ComboBox dropdowns cannot currently be protected by this mechanism.
2025-05-24 15:28:39 +09:00
Mounir IDRASSI
44a9f8bcff Remove SM4 support! 2025-05-18 18:31:39 +09:00
Mounir IDRASSI
e1c7f2f043 Silence compiler warning in HasTranslatedDocumentation function 2025-05-15 10:29:59 +09:00
Mounir IDRASSI
b673901503 Move copyright and links to "AM Crypo", amcrypto.jp and veracrypt.jp 2025-05-11 16:02:20 +09:00
Mounir IDRASSI
7924f06e39 Initial support of SM4 cipher for normal volumes 2025-05-04 02:27:05 +09:00
Mounir IDRASSI
07b53541e0 Windows: reorganize localized documentation, each in a dedicated folder. Adapt installers and documentation URL logic.
Now we have 3 folders under html directory:en, ru, zh-cn. Similar separation exist in online version:
https://veracrypt.fr/en
https://veracrypt.fr/ru
https://veracrypt.fr/zh-cn
2025-04-27 23:33:08 +09:00
Mounir IDRASSI
7c13d21d96 Windows: Update code signing certificate after renewal of expired one 2025-04-27 22:11:16 +09:00
Mounir IDRASSI
a2f11e1102 Windows: Fix link error in 32-bit build by removing crypto.lib reference and implementing sha512 using BCrypt API. 2025-02-08 01:17:55 +01:00
Helmut K. C. Tessarek
498dff9013 refactor: use the term unmount instead of dismount (#1478)
* refactor: use UNMOUNT instead of DISMOUNT in code

This change updates the term DISMOUNT in constants to UNMOUNT.
Other occurrences (e.g. variable names) are left alone for now.

* refactor(ui): use unmount instead of dismount

This change updates the GUI text and replaces dismount with unmount.

* docs: update term dismount -> unmount

* refactor(cmdline): add unmount

This change adds an argument 'unmount' for command line usage, while
trying to deprecate the old disnount argument.
The current dismount argument/flag will still work to not introduce
a breaking change.

* docs: mention that /dismount is deprecated

This change fixes the shorthand version of the argument /unmount
It also adds back the info for /dismount and that it is deprecated.
2025-01-31 23:18:26 +01:00
Mounir IDRASSI
54bd819990 Windows/Linux/macOS: implement AES hardware support on ARM64 (ARMv8) 2025-01-17 00:58:54 +01:00
Mounir IDRASSI
1b35abb191 Increment version to 1.26.18. Update copyright date. Update Release Notes. Update Windows drivers. 2025-01-14 12:26:28 +01:00
Mounir IDRASSI
2aae142a2d Windows: Fix regression in Traveler Disk creation (#886)
Issue was caused by the fact that Microsoft signing certificate for driver file has changed.
We fix it by updating the SHA512 fingerprint of Microsoft code signing certificate.
2025-01-13 01:02:12 +01:00
Mounir IDRASSI
d9e17522ee Windows: Update Windows version check on startup to require Win10 1809 or later
- Add IsWin10BuildAtLeast() helper function to check Windows 10 build numbers
- Replace direct build number comparison with IsWin10BuildAtLeast() for ReflectDrivers check
- Update error message to be more specific about Windows version requirement
2024-12-25 17:00:37 +01:00
Mounir IDRASSI
c98fc900d8 Windows Setup: Fix the implementation of backup/restore of file permission during update 2024-11-27 01:04:55 +01:00
Mounir IDRASSI
0c5fcf2286 Windows Setup: Fix "Access Denied" issue during VeraCrypt update after a Windows upgrade
During a Windows upgrade, ownership of veracrypt.sys is set to TrustedInstaller, preventing VeraCrypt from accessing the file during an update.

This commit resolves the issue by temporarily taking ownership of the file to rename it, allowing the new file to be copied. The setup process now obtains additional privileges for this operation, which are properly dropped once the file copying is complete.
2024-11-25 00:05:50 +01:00
Mounir IDRASSI
c86577fc0e Windows: remove 32-bit logic from the code since we support only 64-bit. remove 32-bit EFI bootloader files.
We also fix intermediary files folder for Portable and Setup projects
2024-11-16 01:05:15 +01:00
Mounir IDRASSI
43ad4f93eb Windows: Fix various compiler warnings 2024-11-15 00:41:07 +01:00
Mounir IDRASSI
cb97351250 Windows: Remove support for 32-bit driver code. Set build target as Windows 10. Simplify code and fix all warnings in driver. 2024-11-13 02:08:51 +01:00
Mounir IDRASSI
68e2e01745 Windows: Fix EFI configuration editor various issues
We always using Unicode functions to interact with UI. We convert UTF8 string to UTF16 and vis-versa.
Overwrite input string instead of using resize that caused old test to remain.
Fix case of readOnly by using correct message.
change position of OK/cancel button to match other dialogs.
Activate translation on this dialog.
2024-09-19 00:36:31 +02:00
Mounir IDRASSI
0970a98c84 Windows: Fix bug in disabling of Windows privileges, they were completely removed instead
This started to cause issues after latest changes to disable privileges when they are no more needed.
Because of the bug, the privileges could not be enabled again because they were wrongly removed.
2024-09-02 14:08:26 +02:00
Mounir IDRASSI
81f7d9997c Revert changes mistakenly included in previous commit 2024-08-11 01:24:14 +02:00
Mounir IDRASSI
d0fdc29d25 Fix typo of "CPLC" is language files including English one. 2024-08-11 01:22:24 +02:00
Mounir IDRASSI
c8b9a73916 Windows: Fix rare cases being stuck in Secure Desktop after it is used for password entry
Cause seems to be IME as documented in KeePass project (https://keepass.info/help/kb/sec_desk.html#ime). We use the same approach as KeePass to disable IME in Secure Desktop.
This commit also add few changes:
  - we switch to secure desktop only if SetThreadDesktop succeeds
  - we call SwitchDesktop to switch to original desktop only if we actually succeeded in displaying secure desktop
2024-08-04 10:25:12 +02:00
Mounir IDRASSI
ed1263bf8c Implement detection of volumes with vulnerable XTS master key.
If vulnerability detected, a warning message is displayed during mount or backup/restore header, and changing the password is disallowed since it will not change the master key.
2024-08-02 00:20:53 +02:00
Mounir IDRASSI
423352056e Update copyright date in some files 2024-06-23 12:49:08 +02:00
Mounir IDRASSI
455a4f2176 Avoid conflict with C++17 features std::byte by using uint8 type instead of byte 2024-06-12 12:30:04 +02:00
Mounir IDRASSI
e96f3035d9 Windows: Enhance memory protection mechanism by preventing process owner from granting permissions to itself. 2024-05-08 17:31:57 +02:00
lealem47
9247ce1bb9 wolfCrypt as crypto backend for VeraCrypt (#1227)
* wolfCrypt as crypto backend for VeraCrypt

* Refactor to use EncryptionModeWolfCryptXTS class
2023-11-13 00:51:31 +01:00
Mounir IDRASSI
bfd1abcabb Windows: Don't close Setup when exiting VeraCrypt process through system tray Exit menu 2023-10-11 22:09:09 +02:00
Mounir IDRASSI
c91e5792ef Windows: Modified implementation for Secure Desktop handling to overcome Windows 11 issues
We use only alphanumeric characters for the name in addition to the '_' character
We ensure the random desktop name doesn't already exist
We create the random desktop on the Secure Desktop thread and we look over SwitchDesktop until it works.
We call SetThreadDesktop (hOriginalDesk) in main thread once we finish
2023-10-08 01:55:07 +02:00
Mounir IDRASSI
42857b4930 Update various copyright dates 2023-10-05 09:07:35 +02:00
Mounir IDRASSI
662b8d1b2f Windows: during Setup, and if VeraCrypt already installed, open online help only if PC connected to Internet 2023-09-26 01:22:24 +02:00
Mounir IDRASSI
937c5cd5cd Windows: always open online help in case of Setup because local help may be outdated 2023-09-24 01:41:35 +02:00
Mounir IDRASSI
76c64d49ea Windows: Add tooltip message and help button for new option to disable memory protection
Also a dedicated page in the documentation was added for it.
2023-09-24 01:26:02 +02:00
Mounir IDRASSI
81c87a8f0b Windows: Load Riched20.dll to use RichEdit control. Use InitCommonControlsEx instead of InitCommonControls 2023-09-21 22:42:35 +02:00
Mounir IDRASSI
6c7e055f3f Windows: use separate name for SetProcessMitigationPolicy function point. Remove unneeded boolean 2023-09-21 01:16:11 +02:00
Mounir IDRASSI
0f3ae268a4 Windows: Add setting in main UI and setup wizard to disable memory protection
This can be useful for users who need Accessibility software that may not work when memory protection is active in VeraCrypt
2023-09-20 09:39:22 +02:00
Mounir IDRASSI
b1657e88e4 Windows Security: make memory protection enabled by default. Add process mitigation (ASLR, Dynamic code, extension points)
Memory protection can be disabled using registry value "VeraCryptEnableMemoryProtection" under the key "HKLM\SYSTEM\CurrentControlSet\Services\veracrypt"
2023-09-18 00:13:52 +02:00
Mounir IDRASSI
d2f2defca9 Windows: replace CoInitialize calls with CoInitializeEx 2023-09-11 00:03:28 +02:00
Mounir IDRASSI
f15052e68d Windows: Add link in keyfiles dialog to documentation page for risks of third-party file extensions usage. 2023-09-08 09:38:51 +02:00
Mounir IDRASSI
2a6726b00e Windows: Replace legacy file/dir selection APIs with modern IFileDialog interface
We remove usage of GetOpenFileNameW/GetSaveFileNameW/SHBrowseForFolderW which are deprecated by Microsoft
2023-09-03 23:42:41 +02:00
Mounir IDRASSI
201d09ff5a Windows: remove legacy code (XP, Vista). Simplify code since Windows 7 is now minimal OS version. 2023-09-03 16:47:41 +02:00
Mounir IDRASSI
d68b9546bd Windows: simpler and more robust safe dll loading combined with delay loading thanks to Windows 7 being minimum supported version.
We also block execution on Windows versions older than Windows 7.
A lot of code was removed thanks to this.
2023-09-03 00:58:34 +02:00
Mounir IDRASSI
f84d235cf1 Windows: Implement support for mounting partially encrypted system partitions
For now, we force ReadOnly mounting for such partitions.
2023-08-13 22:50:37 +02:00
Mounir IDRASSI
8c7962bda7 Windows: Better way to enable required privileges for FastCreate Options
If we can set required privilege, we ask the user using UAC to enable them.
2023-08-13 00:56:49 +02:00
Mounir IDRASSI
c15b84b32d Windows: Fix failure creating Traveler Disk caused by outdated hardcoded value of MS certificate
We also rename the variables gpbSha256CodeSignCertFingerprint and gpbSha256MSCodeSignCertFingerprint to gpbSha512CodeSignCertFingerprint and gpbSha512MSCodeSignCertFingerprint respectively to reflect the fact that they are actually SHA512 hash values and not SHA256 ones.
2023-08-10 01:23:24 +02:00
Mounir IDRASSI
e8f83544ea Windows: Fix false positive detection of new device insertion when clear keys option is enable
When this option is enabled, we first build the list of currently inserted devices then we start listening to insertion events.
When a device insertion occurs, we check if this device is on our list and if yes, we ignore its insertion.
We also ignore devices whose Device ID starts with "SWD\" and "ROOT\" since these are not real devices.
2023-08-05 00:45:39 +02:00