TrueCrypt是一款開源的虛擬加密磁盤工具,目前最新版本是7.0a,本文以該版本源代碼為基礎(chǔ),介紹了如何在VC2008下進行編譯。
環(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. gzip 1.2.4 Win32 (02 Dec 97)
5. PKCS11頭文件
6. Windows Driver Develop Kit 7600.16385.1
7. TrueCrypt 7.0a Source.zip
準備步驟
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 7.0a源代碼(http://www.truecrypt.org/downloads2)
環(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 7.0a Source其中的Setup項目中的Setup.h文件,添加
/*---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)。
posted on 2010-11-01 19:12
水 閱讀(6373)
評論(29) 編輯 收藏 引用 所屬分類:
windows驅(qū)動