Документация
Технические подробности
Сборка VeraCrypt из исходного кода
Руководство по сборке в Windows
C:\Program Files\NASM
(32-битный установщик NASM использует "C:\Program Files (x86)\nasm")where.exe nasm
nasm -v
C:\Program Files\YASM
where.exe yasm
yasm --version
Эти инструменты не требуются для компиляции стандартных двоичных файлов приложения VeraCrypt или драйвера Windows с помощью Visual Studio 2022 и текущего WDK. Устанавливайте их только если нужно пересобрать устаревший загрузчик BIOS в "src\Boot\Windows" или собрать конфигурации решения, включающие проект Boot, например "ReleaseCustomEFI".
nasm
gzip
upx
dd --help
Если вы установили Visual Studio 2022 с перечисленными выше компонентами, этот шаг можно пропустить. Устанавливайте Build Tools только если нужна среда сборки из командной строки без полного IDE Visual Studio.
msbuild src\VeraCrypt.sln /m /p:Configuration=Release /p:Platform=x64
msbuild src\VeraCrypt.sln /m /p:Configuration=Release /p:Platform=ARM64
msbuild src\VeraCrypt.sln /m /p:Configuration=Release /p:Platform=Win32
msbuild src\Driver\Driver.vcxproj /m /p:Configuration=Release /p:Platform=x64
msbuild src\Driver\Driver.vcxproj /m /p:Configuration=Release /p:Platform=ARM64
msbuild src\VeraCrypt.sln /m /p:Configuration=ReleaseCustomEFI /p:Platform=x64
msbuild src\VeraCrypt.sln /m /p:Configuration=ReleaseCustomEFI /p:Platform=ARM64
С помощью скрипта sign_test.bat вы только что подписали исполняемые файлы VeraCrypt. Это необходимо, поскольку Windows принимает только те драйверы, которым доверяет подписанный центр сертификации.
Поскольку вы использовали не официальный сертификат подписи VeraCrypt для подписи своего кода, а общедоступную версию для разработки, вы должны импортировать и, следовательно, доверять используемым сертификатам.
error MSB8040: Spectre-mitigated libraries are required for this project
В Visual Studio Installer на вкладке "Individual components" установите библиотеки MSVC v143 с защитой от Spectre, соответствующие версии набора инструментов и каждой целевой архитектуре (x64/x86 или ARM64), а также соответствующие компоненты ATL "with Spectre Mitigations".error C1083: Cannot open include file: 'atlbase.h' (or 'atlcomcli.h')
Компоненты ATL не установлены. В Visual Studio Installer на вкладке "Individual components" установите "C++ ATL for latest v143 build tools" (и вариант с защитой от Spectre) для каждой архитектуры, под которую выполняется сборка.error MSB8066: Custom build for 'Aes_hw_cpu.asm;...' exited with code 9009
Ассемблеры не найдены: "nasm.exe" и "yasm.exe" должны быть доступны через Path (код завершения 9009 означает "команда не найдена"). Командная строка или экземпляр Visual Studio, открытые до изменения переменной Path, не видят нового значения — откройте их заново и повторите сборку.
if (!IsOSAtLeast (WIN_10))
return TRUE;
return TRUE;