veracrypt/VeraCrypt

GitHub: veracrypt/VeraCrypt

VeraCrypt 是一款基于 TrueCrypt 开发的开源磁盘加密软件,通过创建加密卷或加密整个分区/系统来保障数据存储安全。

Stars: 9574 | Forks: 1165

此压缩包包含 VeraCrypt 的源代码。 它基于原始的 TrueCrypt 7.1a 版本,并进行了安全增强和修改。 # 重要提示 只有当您接受并同意本压缩包中包含的 'License.txt' 文件里规定的许可条款时,您才能使用此压缩包中包含的源代码。 请注意,许可条款规定,例如,衍生作品不得被称为 'TrueCrypt' 或 'VeraCrypt' # 目录 [I. Windows](#i-windows) [II. Linux 和 Mac OS X](#ii-linux-and-mac-os-x) [III. FreeBSD](#iii-freebsd) [IV. 第三方开发者(贡献者)](#iv-third-party-developers-contributors) [V. 法律信息](#v-legal-information) [VI. 更多信息](#vi-further-information) # 一、Windows ## 构建 Windows 版 VeraCrypt 的要求: 关于如何在 Windows 上构建 VeraCrypt 的详细指南可以在仓库中的 [文档](./doc/html/en/CompilingGuidelineWin.html) 中找到,同时也可以在 [线](https://veracrypt.jp/en/CompilingGuidelineWin.html) 或在 [镜像](https://veracrypt.io/en/CompilingGuidelineWin.html) 上查阅。 重要提示: Windows Vista 的 64 位版本及后续版本的 Windows,在某些情况下(例如播放 HD DVD 内容)也包括 32 位版本,不允许 VeraCrypt 驱动程序在没有适当数字签名的情况下运行。因此,官方 VeraCrypt 二进制包中的所有 .sys 文件都使用由 GlobalSign 认证机构颁发的 IDRIX 数字证书进行了数字签名。在每个官方 .exe 和 .sys 文件的末尾,都嵌入了数字签名和所有相关证书(即相关证书链中的所有证书,例如认证机构证书、CA-MS 交叉证书以及 IDRIX 证书)。 如果您编译 VeraCrypt 并将您的二进制文件与官方二进制文件进行比较,请记住这一点。如果您的二进制文件未签名,官方二进制文件的大小通常会比您的二进制文件大小大约 10 KiB(如果您使用了不同版本的编译器,或者安装了不同版本或未安装 Visual Studio 的 Service Pack,或者为其安装了不同的修补程序,或者使用了不同版本的所需 SDK,可能会存在更多差异)。 ## 签名和打包 Windows 版 VeraCrypt 的说明: 首先,创建一个指向 Windows SDK for Windows 8.1 安装目录的环境变量 'WSDK81'。 "Signing" 文件夹包含一个批处理文件 (sign.bat),它将使用证书存储中存在的代码签名证书对所有 VeraCrypt 组件进行签名,并构建最终的安装设置和 MSI 包。该批处理文件假定代码签名证书由 GlobalSign 颁发。IDRIX 的证书就是这种情况。如果您的证书由其他 CA 颁发,那么您应该将其中间证书放在 "Signing" 文件夹中,并相应地修改 sign.bat。 要生成 MSI 包,必须安装 WiX Toolset v3.11。 ## VeraCrypt EFI 引导加载程序: VeraCrypt 源代码在 src\Boot\EFI 下包含预构建的 EFI 二进制文件。 VeraCrypt EFI 引导加载程序的源代码根据 LGPL 许可证授权,可通过 https://github.com/veracrypt/VeraCrypt-DCS 获取。 有关构建说明,请参阅文件 src\Boot\EFI\Readme.txt。 # II. Linux 和 Mac OS X 关于如何在 Linux 上构建 VeraCrypt 的详细指南可以在仓库中的 [文档](./doc/html/en/CompilingGuidelineLinux.html) 中找到,同时也可以在 [线](https://veracrypt.jp/en/CompilingGuidelineLinux.html) 或在 [镜像](https://veracrypt.io/en/CompilingGuidelineLinux.html) 上查阅。 ## 构建 Linux 和 Mac OS X 版 VeraCrypt 的要求: - GNU Make - GNU C++ Compiler 4.0 或兼容版本 - Apple Xcode 或 Xcode 命令行工具(仅限 Mac OS X) - YASM 1.3.0 或更新版本(仅限 Linux,仅限 x86/x64 架构) - pkg-config - 已安装 wxWidgets 3.0 共享库和头文件,或 wxWidgets 3.0 库源代码(可从 https://www.wxwidgets.org 获取) - FUSE 库和头文件(可从 https://github.com/libfuse/libfuse 和 https://macfuse.github.io/ 获取) - PCSC-lite 库和头文件(可从 https://github.com/LudovicRousseau/PCSC 获取) ## 构建 Linux 和 Mac OS X 版 VeraCrypt 的说明: 1. 将当前目录更改为 VeraCrypt 源代码的根目录。 2. 如果您没有安装 wxWidgets 共享库,请运行以下命令来为 VeraCrypt 配置 wxWidgets 静态库并构建它: `$ make WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild` 变量 `WX_ROOT` 必须指向 wxWidgets 库源代码的位置。输出文件将放在 './wxrelease/' 目录中。 3. 要构建 VeraCrypt,请运行以下命令: `$ make` 或者如果您没有安装 wxWidgets 共享库: `$ make WXSTATIC=1` 4. 如果成功,VeraCrypt 可执行文件应位于 'Main' 目录中。 默认情况下,构建的是支持图形用户界面和文本用户界面(通过开关 --text)的通用可执行文件。 在 Linux 上,可以使用 'NOGUI' 参数构建仅控制台的可执行文件,该文件不需要 GUI 库: `$ make NOGUI=1 WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild` `$ make NOGUI=1 WXSTATIC=1` 在 MacOSX 上,不支持构建仅控制台的可执行文件。 ## Mac OS X 特定说明: 在 MacOSX 下,默认使用最新安装的 SDK。要在使用 make 构建时使用不同版本的 SDK,您可以导出环境变量 VC_OSX_SDK: `$ export VC_OSX_SDK=13.0` 对于开发依赖项管理,您可以使用 [homebrew](https://brew.sh)。 `$ brew install pkg-config yasm wxwidgets` 您还需要系统依赖项 `$ brew install --cask macfuse packages` 通过 brew 安装依赖项后,您可以构建本地开发版本 `$ ./src/Build/build_veracrypt_macosx.sh -b` 如果您想构建软件包,必须将 `-p` 传递给上述构建脚本。构建的可执行文件将位于 `.src/Main` 中 如果您更喜欢从源代码构建,或者不使用 homebrew,则必须安装 pkg-config 和 packages。 从 https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz 获取 pkg-config 并使用以下命令进行编译: `$ CFLAGS="-Wno-int-conversion" CXXFLAGS="-Wno-int-conversion" ./configure --with-internal-glib` `$ make` `$ sudo make install` 确保 pkg-config 可用后,从 https://macfuse.github.io/ 下载并安装 macFUSE [build_veracrypt_macosx.sh](./src/Build/build_veracrypt_macosx.sh) 脚本执行 VeraCrypt 的完整构建,包括创建安装程序 pkg。它期望在您放置 VeraCrypt 源代码的同一级别找到 wxWidgets 3.2.5 源代码(即,如果 "src" 路径是 "/Users/joe/Projects/VeraCrypt/src",那么 wxWidgets 应该位于 "/Users/joe/Projects/wxWidgets-3.2.5") Make 构建过程使用代码签名证书,其 ID 在 src/Main/Main.make 中指定(查找包含 "Developer ID Application" 和 "Developer ID Installer" 的行)。您必须修改这些行以放入您的代码签名证书的 ID,如果您没有,则将其注释掉。 由于与 macFUSE 的兼容性问题,SDK 10.9 生成的 VeraCrypt 二进制文件在与 macFUSE 内核扩展通信时存在问题。因此,我们建议使用不同的 macOS SDK 版本来构建 VeraCrypt。 用于 VeraCrypt 官方构建的 Packages 安装程序已由 IDRIX 公证,可从以下地址获取 https://github.com/idrassi/packages/releases # 三、FreeBSD FreeBSD 支持从版本 11 开始。 构建要求和说明与 Linux 相同,但应使用 gmake 代替 make。 # IV. 第三方开发者(贡献者) 如果您打算实现某个功能,请先联系我们以确保: 1. 该功能尚未实现(我们可能已经实现了它,但尚未发布代码)。 2. 该功能是可接受的。 3. 我们是否需要第三方开发者的帮助来实现该功能。 有关如何联系我们的信息可在以下地址找到: https://veracrypt.jp/ https://veracrypt.io/ (镜像) # V. 法律信息 ## 版权信息 本软件作为一个整体: 版权所有 (c) 2025 AM Crypto。保留所有权利。 本软件的部分内容: 版权所有 (c) 2025 AM Crypto。保留所有权利。 版权所有 (c) 2013-2025 IDRIX。保留所有权利。 版权所有 (c) 2003-2012 TrueCrypt Developers Association。保留所有权利。 版权所有 (c) 1998-2000 Paul Le Roux。保留所有权利。 版权所有 (c) 1998-2008 Brian Gladman, Worcester, UK。保留所有权利。 版权所有 (c) 1995-2023 Jean-loup Gailly 和 Mark Adler。 版权所有 (c) 2016 Disk Cryptography Services for EFI (DCS), Alex Kolotnikov 版权所有 (c) 1999-2023 Dieter Baron 和 Thomas Klausner。 版权所有 (c) 2013, Alexey Degtyarev。保留所有权利。 版权所有 (c) 1999-2016 Jack Lloyd。保留所有权利。 版权所有 (c) 2013-2019 Stephan Mueller 版权所有 (c) 1999-2023 Igor Pavlov 有关更多信息,请参阅附加在部分源代码上的法律声明。 ## 商标信息 源代码、二进制文件和/或文档中包含的任何商标均为其各自所有者的唯一财产。 # VI. 更多信息 https://veracrypt.jp https://veracrypt.io (镜像)
标签:CVE, FreeBSD, IDRIX, Mac OS X, TrueCrypt, VeraCrypt, 全盘加密, 加密工具, 安全增强, 客户端加密, 数字签名, 文件加密, 源代码, 磁盘加密, 编译指南, 网络安全, 虚拟磁盘, 隐私保护, 驱动程序