path: root/src/Format
AgeCommit message (Collapse)AuthorFilesLines
4 daysIncrement version to 1.26.7. Set release date to October 1st. Update Windows ↵Mounir IDRASSI1-4/+4
signed driver files.
13 daysUpdate Release Notes. Increment version to 1.26.6.Mounir IDRASSI1-4/+4
2023-09-18Windows Security: make memory protection enabled by default. Add process ↵Mounir IDRASSI1-1/+1
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-11Windows: replace CoInitialize calls with CoInitializeExMounir IDRASSI1-5/+5
2023-09-10Windows: Indicate in manifest files that support starts from Windows 7Mounir IDRASSI1-1/+7
2023-09-03Windows: Replace legacy file/dir selection APIs with modern IFileDialog ↵Mounir IDRASSI1-2/+2
interface We remove usage of GetOpenFileNameW/GetSaveFileNameW/SHBrowseForFolderW which are deprecated by Microsoft
2023-09-03Windows: remove legacy code (XP, Vista). Simplify code since Windows 7 is ↵Mounir IDRASSI1-61/+6
now minimal OS version.
2023-09-03Windows: simpler and more robust safe dll loading combined with delay ↵Mounir IDRASSI3-18/+17
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-08-20Windows: delay load bcrypt.dll to reduce startup dependency loading until ↵Mounir IDRASSI2-17/+17
setting safe dll loading
2023-08-14Increment version to 1.26.5. Update signed Windows drivers.Mounir IDRASSI1-4/+4
2023-08-13Windows: Better way to enable required privileges for FastCreate OptionsMounir IDRASSI3-0/+33
If we can set required privilege, we ask the user using UAC to enable them.
2023-08-05Windows: Fix false positive detection of new device insertion when clear ↵Mounir IDRASSI2-1/+7
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-07-22Windows: Remove TrueCrypt support. Increment version to 1.26.4.Mounir IDRASSI3-10/+10
2023-07-11Windows: when overwriting an existing file container, add its current size ↵Mounir IDRASSI1-0/+7
to the available free space
2023-07-01Windows: Use full list of supported cluster sizes for NTFS, ReFS and exFAT ↵Mounir IDRASSI1-6/+26
filesystems We keep FAT32 list of supported cluster sizes as it is today for compatibility with existing FAT code
2023-07-01Windows: Make API formatting fallback to in case of elevation. ↵Mounir IDRASSI1-4/+4
remove dead code from ExternalFormatFs We also modify UacFormatNtfs/UacFormatFs to return actual error code in case of failure
2023-06-29EMV keyfile support: Overall code improvements and bug fixesMounir IDRASSI4-11/+89
2023-06-28Add EMV functionality (#1080)mmauv3-6/+42
* Add basic strcture needed for EMV implementation * Add demo EMV functionality with C code pasted in a very dirty and unsafe way. NOT FINAL * Refactor IccExtractor Structure * Fix Makefile * fix include file * move global variables from h to c * revert to memcpy * fix icc data recovery functions * Add EMV functionalities on windows * Make EMVToken structures like SecurityToken * Define constants instead of hard coded values * Token structures created with inheritance * refactor TokenKeyfile to use inherit. + polymor. * add Token.h + Token.cpp in modules in VS2010 * Add a comment at each use of SecurityToken class or objects * SecurityTokenKeyfilesDialog preparation * Implemennt GetAvailableTokens in Token class on windows * merge * up (patching for Windows) * foreach Token.cpp corrected * Display EMV keyfiles on first window in graphic interface * Add token to Windows UI * EMVToken selection on OKButton on Linux * Keyfile.cpp optimization * Move getKeyfileData in the token class * EMV::Token GetAvailableKeyfiles() base * Move getKeyfileData in the token class on unix * Remove test comments * Warnings resolved * RemoveeSecurityTokenLibraryNotInitialized exception if at least one emv token is detected * Adding new files * Remove old files and add the new version to the windows project * Change make_shared to shared_ptr constructor * IccExtractor integration working on linux * Throwing card not EMV execption * catch error when not EMV type in EMVToken::GetAvailableKeyfiles * Change types to compile on windows * list all keyfiles, security keyfiles and emv keyfiles in command line * Change type to be coherent and remove old todo comments * Remove todo comments * Change indentation and resolve a bug from previous commit * Use polymorphism for GetKeyfileData and add export option for EMVTokens on Linux * Linux : Allow to export EMV Tokens in command lines, Windows : Disable the delete button when EMV Keyfiles are selected * Remove SlotId from TokenInfo as it is already in Token * Correct errors on Linux * Disable delete option if one EMV Token is selected on Linux * Fix bug enabling delete button if nothing is selected * emv data used as reference then burnt * use of normal files in linux corrected * help updated * help updated for export functionnality * option EMV added to graphic interface but not yet working * Bug fix : Allow to use multiple EMV on windows * EMV Option added to UserPreferences * EMV Option working for Linux * EMV option added to Windows (not working yet) * [NOT TESTED] EMV option for Windows * Working EMV option on Windows * EMV Option for data extraction working for volume creation * EMV Option for data extraction working for Mount * EMV Option for data extraction working for mounting favorites volumes * EMV Option for extraction working for Changing volume password, Set Derivation Key Algorithm and Add or remove keyfile from volume * Windows : re-checking EMV Option when getting data * Removing error catches in the IccDataExtractor classe (It only throws error now). Changing GetPan signature to resemble the other functions signatures more * Changing EMV errors - Only throwing ICCExtractionException from outside of the ICC module. - Catching all TLVExceptions and PCSCExceptions to throw the right ICCExtractionException - Deleting APDU exceptions. * First version of the documentation * Adding function pointers for winscard library (but it crashes VeraCrypt) * Debugging function pointers * The import of the library on windows work as expected now * Reverting EMVToken.cpp changes used to test to library import * Searching for the System32 path instead of hard codding it * Fixing the bug were VeraCrypt crashes if there is no readers when "add Token files" is clicked * Winscard library not initialized in object constructor anymore to delay it after EMVOption check * Remove winscard lib from windows dependencies * Properly displaying errors * Adding a dot in Language.xml * Catching TLVException * Removing unused code * Remove unusefull comments * Trying to fix 0x1f error * Update IccDataExtractor.cpp * Delete History.xml * Fix get data without get pan * Cleanup code * changes for linux compilation but linking not working * error handling for linux * erasing emv data * Burn PAN * Burn PAN from memory * Uncomment selfcheck before merging master * burn corrected * EMV errors handling for Linux * EMV working for Linux CLI * Doc : Winscard Linux package and VeraCrypt versions --------- Co-authored-by: doriandu45 <> Co-authored-by: red4game <> Co-authored-by: Brice.Namy <> Co-authored-by: vocthor <> Co-authored-by: vocthor <> Co-authored-by: Andrei COCAN <> Co-authored-by: AndreiCocan <> Co-authored-by: francoisLEROUX <>
2023-06-28Increment version to 1.26.3. Update Release NotesMounir IDRASSI1-4/+4
2023-06-28Windows: Add comboxbox to Format wizard to choose ↵Mounir IDRASSI3-22/+77
QuickFormat/FastCreate/FullFormat This required changes to internal logic and addition of new UI strings
2023-06-28Windows: Better handling of quick format for file containerMounir IDRASSI1-1/+0
We write a zeroed sector every 128 MiB, leaving other sectors untouched This helps users visualize the progress of actual file creation while forcing Windows to allocate the disk space of each 128 MiB chunk immediately, otherwise, Windows would delay the allocation until we write the backup header at the end of the volume which would make the user think that the format process has stalled after progress bar reaches 100%.
2023-06-04Increment version to 1.26.2. Update Release NotesMounir IDRASSI1-4/+4
2023-06-04Windows: Possible workaround for logarithmic slowdown for Encrypt-In-Place ↵Mounir IDRASSI2-21/+52
on large volumes (relates to #1063) We replace absolute file pointer moving by relative moving with respect to current position. This was implemented as a workaround to address the performance issues related to in-place encryption. When using SetFilePointerEx() with FILE_BEGIN as the reference point, reaching the end of large drives during in-place encryption can cause significant slowdowns. By moving the file pointer relatively, these performance issues are mitigated.
2022-12-11Revert "New sys enc wizard (#957)"Mounir IDRASSI4-1191/+243
This reverts commit c0ff7a7c521b1d658316d9a177383ab0c403007a.
2022-08-25New sys enc wizard (#957)SysEncWizardPR957Felix Reichmann4-243/+1191
* New VeraCrypt interface (for system encryption) with improved usability * System Encryption: translate password to US keyboard layout + improved new interface * Windows: Fix build error following merge * Windows: Remove unused variable * Windows: Add missing string in Language.xml * Windows: fix buffer overrun caused by wrong use of wmemset * Do not delete password file Since the file is only available in \Release\Setup Files\ it would be fully deleted after running this script the first time. * Correct return code Originally the function would have always returned the return-code 1 resulting that the user is not able to change the location for the rescue zip. * Added hint for sysenc Added a hint why the field for repeating the password is initially greyed out within the system encryption. * Corrected spelling mistake Corrected spelling mistake * Removed not working copy job The file to be copied was stored at the source location. Therefore the copyjob will not work. Instead the file is already in the target folder. * Removed RIPEMD-160 from Product64.wxs See commit from 21.03.2022 * Added german translation for new interface * Fixed PIM bug * Corrected translation file based on the guidelines within the pull request * Fixing merge conflicts * Fixed Compiling issues. Reverted keyboard translation * Removed artifacts of password translation * Corrected language.xml * Fixed order within german language file * Corrected positions Co-authored-by: Bruna2803 <> Co-authored-by: felixreichmann <> Co-authored-by: Mounir IDRASSI <>
2022-03-26Windows: Add various checks to address Coverity reported issues.Mounir IDRASSI2-5/+14
2022-03-21Increment version to 1.26 and update windows driver and MBR bootloader filesMounir IDRASSI1-4/+4
2022-03-08Implement support of Blake2s-256 hash algorithm and remove deprecated ↵Mounir IDRASSI1-6/+3
algorithms RIPEMD-160 and GOST89.
2022-02-19Increment version to 1.25.9 and update Release Notes.Mounir IDRASSI1-2/+2
2022-02-16Increment version to and update signed Windows driversMounir IDRASSI1-2/+2
2022-02-11Windows: Increment version to and update signed Windows driversMounir IDRASSI1-2/+2
2022-02-10Windows: Reduce the size of installers by almost 50% by using LZMA ↵Mounir IDRASSI2-25/+34
compression instead of DEFLATE
2022-02-05Increment version to 1.25.8Mounir IDRASSI1-2/+2
2022-01-07Increment version to 1.25.7 and update Release NotesMounir IDRASSI1-2/+2
2021-12-27Increment version to 1.25.6. Update Release Notes and add signed Windows driver.Mounir IDRASSI1-2/+2
2021-12-20Increment version to 1.25.5 and update release notesMounir IDRASSI1-2/+2
2021-12-04Windows: Implement TESTSIGNING build configuration that allows running under ↵Mounir IDRASSI1-0/+132
Windows Vista,7, 8 and 8.1.
2021-11-30Increment version to 1.25.4 and set release date to December 3rd 2021Mounir IDRASSI1-2/+2
2021-11-28Increment version to 1.25 (1.25.3)Mounir IDRASSI1-2/+2
2021-11-21Increment version to 1.25-RC2 and update release notesMounir IDRASSI1-2/+2
2021-09-05Increment version to 1.25-RC1Mounir IDRASSI1-2/+2
2021-08-30Increment version to 1.25Mounir IDRASSI1-4/+4
2021-08-15Windows: Increment version to and update signed Windows driverMounir IDRASSI1-2/+2
2021-08-02Windows: Increment version to and update signed Windows driverMounir IDRASSI1-2/+2
2021-07-13Windows: replace insecure wcscpy/wcscat/strcpy runtime functions with secure ↵Mounir IDRASSI1-6/+6
equivalents This fixed failure to build driver for ARM64 with latest VS 2019
2021-01-02Increment version to 1.24-Update9Mounir IDRASSI1-4/+4
2021-01-02Windows: Add support for ARM64 platform (e.g. Microsoft Surface Pro X). ↵Mounir IDRASSI2-0/+749
System encryption still not implemented on ARM64
2021-01-02Windows: Fix issue in preserving last access timestamp of file containers ↵Mounir IDRASSI1-2/+0
when creating hidden volumes in direct mode inside them
2020-11-29Increment version to 1.24-Update8Mounir IDRASSI1-4/+4
2020-08-06Increment internal version to 1.24.23 and update release notesMounir IDRASSI1-2/+2