veracry windows版源码编译
1、VeraCrypt 编译环境准备:
- Windows 7/8/10
- SQL Server 2008 R2
- Microsoft Visual Studio C++ 2010
- Microsoft Visual C++ 2010 SP1 (Professional Edition or compatible)
- Microsoft Visual C++ 1.52 (available from MSDN Subscriber Downloads)
- Microsoft Windows SDK for Windows 7.1 (configured for Visual C++ 2010)
- Microsoft Windows SDK for Windows 8.1 (needed for SHA-256 code signing)
- Microsoft Windows Driver Kit 7.1.0 (build 7600.16385.1)
- NASM assembler 2.14.02 or compatible
- YASM 1.3.0 or newer.
- gzip compressor
- upx packer
2、安装步骤
-
安装SQL Server 2008 R2,参考 SQL Server 2008 R2 超详细安装图文教程
-
vs2010安装,参考Visual Studio(VS)2010安装教程内含安装包
-
vc152直接解压后,双击选择解压目录即可。配置环境变量。
-
sdk7.1和vs2010 sp1的安装注意点,参考VS2010 sp1 & Windows SDK 7.1 正确安装步骤。百度上说的那些错误我都没遇到,如果有遇到,请自行百度解决。现提供下载地址:sdk7.1补丁下载地址
-
GRMWDK_EN_7600_1.ISO(wdk7.1)解压后,双击KitSetup.exe。
-
后面一路默认安装即可。然后,配置环境变量
-
nasm目前最新稳定版是2.14.02(下载地址),解压后,将nasm.exe复制到C:\Windows目录下面.
-
解压vsyasm-1.3.0-win64.zip,将vsyasm.exe复制到C:\Windows目录下面。
-
解压gzip-1.3.12-1-bin.zip,将bin/gzip.exe复制到C:\Windows目录下面。
-
解压upx-3.95-win32.zip,将upx.exe复制到C:\Windows目录下面。
(后面sdk8.1安装是为了签名和打包,只是编译的话,不需要进行操作。)
- 安装sdk8.1。
至此Veracrypt环境安装准备完毕
3、编译项目
-
创建一个环境变量“MSVC16_ROOT”,指向从 Visual C++ 1.52 自解压包中提取的文件夹“MSVC15”。
-
注意:16 位安装程序 MSVC15\SETUP.EXE 无法在 64 位 Windows 上运行,但实际上没有必要运行它。您只需要提取文件夹“MSVC15”,其中包含构建 VeraCrypt 引导加载程序所需的 32 位二进制文件。
-
如果您已将 Windows 驱动程序开发工具包安装在 ‘%SYSTEMDRIVE%\WinDDK’ 以外的其他目录中,请创建指向 DDK 安装目录的环境变量 ‘WINDDK_ROOT’。
-
在 Microsoft Visual Studio 2010 中打开解决方案文件“VeraCrypt.sln”。
-
选择“全部”作为活动解决方案配置。
-
构建解决方案。
-
如果成功,“src\Release\Setup Files”文件夹中应该有新建的 VeraCrypt 二进制文件。
4、遇到的问题
-
编译x64版本点时候,可能会提示yasm.exe找不到,可以复制一个vsyasm.exe,将其命名为yasm.exe
-
若提示fatal error C1083: 无法打开包括文件:“ammintrin.h”: No such file or directory,可以打开C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include,放一个ammintrin.h进去。
-
点击VeraCrypt.exe文件出现签名异常DIST_PACKAGE_CORRUPTED,这是因为release版本的exe需要签名后才能运行,debug没关系。具体代码在src\common\dlgcode.c里,可以先将其注释。