环境准备:
1、windows7 旗舰版 64位
2、vs2010专业版(VS2010 旗舰版和专业版 下载)
3、Microsoft Visual C++ 1.52(microsoft visual c++ 1.52(编译16位程序VC版本)16位/32位英文版)
4、Microsoft Windows SDK for Windows 7.1(Windows SDK 7.1 32bits、Windows SDK 7.1 64bits)
5、Microsoft Windows Driver Kit 7.1.0(下载地址)
6、NASM(官网)
7、YASM(下载地址)
8.、gzip(下载地址)
9、upx(官网)
10、Microsoft Windows SDK for Windows 8.1(下载地址)
11、7z(下载地址)
12、veracrypt(官网下载)
安装步骤:
1、vs2010安装,参考Visual Studio(VS)2010安装教程内含安装包
2、vc152直接解压后,双击选择解压目录即可。配置环境变量。
3、sdk7.1和vs2010 sp1的安装注意点,参考VS2010 sp1 & Windows SDK 7.1 正确安装步骤。百度上说的那些错误我都没遇到,如果有遇到,请自行百度解决。现提供下载地址:sdk7.1补丁下载地址,vs2010 sp1下载地址
4、GRMWDK_EN_7600_1.ISO(wdk7.1)解压后,双击KitSetup.exe。
后面一路默认安装即可。然后,配置环境变量
5、nasm目前最新稳定版是2.14.02(下载地址),解压后,将nasm.exe复制到C:\Windows目录下面。
6、解压vsyasm-1.3.0-win64.zip,将vsyasm.exe复制到C:\Windows目录下面。
7、解压gzip-1.3.12-1-bin.zip,将bin/gzip.exe复制到C:\Windows目录下面。
8、解压upx-3.95-win32.zip,将upx.exe复制到C:\Windows目录下面。
(后面两项安装是为了签名和打包,只是编译的话,不需要进行操作。)
9、安装sdk8.1。
10、安装7z。
至此环境准备完毕。
从官网下载veracrypt的源代码。解压后,找到src/VeraCrypt.sln。用vs2010打开。将配置项从debug改为All。右键解决方案,生成解决方案。编译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进去。或者百度找下这个文件(本人没积分,对csdn提供的下载,深感无奈)
除了驱动编译失败外,其他都成功。因为目前我只需要用官方提供的驱动,暂时就不处理驱动编译失败的问题了。
最后提一嘴。在src\Release\Setup Files目录下,双击exe提示如下:
这是因为release版本的exe需要签名后才能运行,debug没关系。具体代码在src\common\dlgcode.c里。
#if !defined(SETUP)
if (!VerifyModuleSignature (modPath))
AbortProcess ("DIST_PACKAGE_CORRUPTED");
#endif