TrueCrypt是一款開源的虛擬加密磁盤工具,目前最新版本是
環(huán)境配置
1. Microsoft Visual Studio 2008 SP1 (VC++ 2008)
2. Microsoft Visual Studio VC++ 1.52
3. NASM version 2.07 compiled on Jul 19 2009
4. gzi
5. PKCS11頭文件
6. Windows Driver Develop Kit 7600.16385.1
7. TrueCrypt
準(zhǔn)備步驟
1. Microsoft Visual Studio 2008 SP1 (VC++ 2008) ,這個是必需的了
2. 安裝Microsoft Visual Studio VC++ 1.52,(這里為了方便管理編譯TrueCrypt所需要的lib,我們可以在c盤建立一個目錄,就命名為TrueCrypt)把MSVC++ 1.52安裝在C:\TrueCrypt\MSVC\
3. 下載NASM,解壓縮到C:\TrueCrypt\ NASM\
4. 下載gzip,解壓縮到C:\TrueCrypt\ gzip\
5. 下載PKCS11頭文件,解壓縮到C:\TrueCrypt\PKCS11_INC\
6. 下載WDK7600.16385.1(這個是目前最新的,更新消息參考微軟官網(wǎng)),安裝到E:\WinDDK\7600.16385.1\(這個目錄是我這邊這么設(shè)置的,在下面環(huán)境變量設(shè)置需要注意)
7. 下載TrueCrypt
環(huán)境變量設(shè)置
右鍵我的電腦——屬性——高級——環(huán)境變量,添加下面幾個系統(tǒng)變量:
1. 變量名MSVC16_ROOT,變量值C:\TrueCrypt\MSVC
2. 變量名PKCS11_INC,變量值C:\TrueCrypt\PKCS11_INC
3. 變量名WINDDK_ROOT,變量值E:\WinDDK\7600.16385.1
4. 修改系統(tǒng)Path,在末尾增加C:\TrueCrypt\NASM;C:\TrueCrypt\gzip
環(huán)境變量設(shè)置完畢后需要重啟電腦
源代碼修改
1. 修改C:\TrueCrypt\PKCS11_INC\ pkcs11.h,添加
#define CKR_NEW_PIN_MODE 0x000001B0
#define CKR_NEXT_OTP 0x000001B1
可以直接添加在#define __PASTE(x,y) x##y后面一行
2. 修改TrueCrypt
/*---region add by gc---*/
#include "wtypes.h"
const PROPERTYKEY PKEY_AppUserModel_ID = {
{
(unsigned long)2009,/*unsigned long Data1;*/
(unsigned short)12,/*unsigned short Data2;*/
(unsigned short)23,/*unsigned short Data3;*/
0x44,0x55,0x55,0x55,0x55,0x55,0x55,0x55
},/*GUID fmtid;*/
(DWORD)PID_FIRST_USABLE /*DWORD pid;*/
};
/*---endregion---*/
添加在文件的開始處,即
#ifdef __cplusplus
extern "C" {
#endif
后面一行即可。
到此為止,所有配置均設(shè)置完畢,打開TrueCrypt.sln解決方案,Build Solution就可以在Debug目錄生成Setup Files目錄,其下至少可以看到TrueCrypt.exe,truecrypt.sys,truecrypt-x64.sys這個三個文件了。
我這邊已經(jīng)有配置好了的所需的lib和源代碼,由于比較大,cppblog不能上傳大附件,如有配置不成功的,可以Email我(zhangqiushui@qq.com)。