diff options
Diffstat (limited to 'src/Mount')
-rw-r--r-- | src/Mount/MainCom.cpp | 42 | ||||
-rw-r--r-- | src/Mount/MainCom.idl | 12 | ||||
-rw-r--r-- | src/Mount/Mount.c | 235 | ||||
-rw-r--r-- | src/Mount/Mount.h | 9 | ||||
-rw-r--r-- | src/Mount/Mount.rc | 76 | ||||
-rw-r--r-- | src/Mount/Mount.vcxproj | 445 | ||||
-rw-r--r-- | src/Mount/Mount.vcxproj.filters | 368 | ||||
-rw-r--r-- | src/Mount/Mount.vcxproj.user | 3 | ||||
-rw-r--r-- | src/Mount/Resource.h | 10 |
9 files changed, 1088 insertions, 112 deletions
diff --git a/src/Mount/MainCom.cpp b/src/Mount/MainCom.cpp index 8f3927ad..6056697c 100644 --- a/src/Mount/MainCom.cpp +++ b/src/Mount/MainCom.cpp @@ -3,7 +3,7 @@ Copyright (c) 2008-2012 TrueCrypt Developers Association and which is governed by the TrueCrypt License 3.0. - Modifications and additions to the original source code (contained in this file) + Modifications and additions to the original source code (contained in this file) and all other portions of this file are Copyright (c) 2013-2016 IDRIX and are governed by the Apache License 2.0 the full text of which is contained in the file License.txt included in VeraCrypt binary and source @@ -158,6 +158,46 @@ public: return ::ChangePwd (volumePath, oldPassword, old_pkcs5, old_pim, truecryptMode, newPassword, pkcs5, pim, wipePassCount, (HWND) hWnd); } + virtual DWORD STDMETHODCALLTYPE GetFileSize (BSTR filePath, unsigned __int64 *pSize) + { + return BaseCom::GetFileSize (filePath, pSize); + } + + virtual DWORD STDMETHODCALLTYPE DeviceIoControl (BOOL readOnly, BOOL device, BSTR filePath, DWORD dwIoControlCode, BSTR input, BSTR *output) + { + return BaseCom::DeviceIoControl (readOnly, device, filePath, dwIoControlCode, input, output); + } + + virtual DWORD STDMETHODCALLTYPE InstallEfiBootLoader (BOOL preserveUserConfig, BOOL hiddenOSCreation, int pim, int hashAlg) + { + return BaseCom::InstallEfiBootLoader (preserveUserConfig, hiddenOSCreation, pim, hashAlg); + } + + virtual DWORD STDMETHODCALLTYPE BackupEfiSystemLoader () + { + return BaseCom::BackupEfiSystemLoader (); + } + + virtual DWORD STDMETHODCALLTYPE RestoreEfiSystemLoader () + { + return BaseCom::RestoreEfiSystemLoader (); + } + + virtual DWORD STDMETHODCALLTYPE GetEfiBootDeviceNumber (BSTR* pSdn) + { + return BaseCom::GetEfiBootDeviceNumber (pSdn); + } + + virtual DWORD STDMETHODCALLTYPE ReadEfiConfig (BSTR* pContent, DWORD *pcbRead) + { + return BaseCom::ReadEfiConfig (pContent, pcbRead); + } + + virtual DWORD STDMETHODCALLTYPE WriteEfiBootSectorUserConfig (DWORD userConfig, BSTR customUserMessage, int pim, int hashAlg) + { + return BaseCom::WriteEfiBootSectorUserConfig (userConfig, customUserMessage,pim, hashAlg); + } + protected: DWORD MessageThreadId; LONG RefCount; diff --git a/src/Mount/MainCom.idl b/src/Mount/MainCom.idl index 9362fd42..9c3ef372 100644 --- a/src/Mount/MainCom.idl +++ b/src/Mount/MainCom.idl @@ -3,7 +3,7 @@ Copyright (c) 2008-2012 TrueCrypt Developers Association and which is governed by the TrueCrypt License 3.0. - Modifications and additions to the original source code (contained in this file) + Modifications and additions to the original source code (contained in this file) and all other portions of this file are Copyright (c) 2013-2016 IDRIX and are governed by the Apache License 2.0 the full text of which is contained in the file License.txt included in VeraCrypt binary and source @@ -16,7 +16,7 @@ import "..\Common\Password.h"; [ uuid(9ACF6176-5FC4-4690-A025-B3306A50EB6A), helpstring("VeraCrypt Main UAC Support Library"), - version(2.7) // Update ComSetup.cpp when changing version number + version(2.8) // Update ComSetup.cpp when changing version number ] library TrueCryptMainCom { @@ -44,6 +44,14 @@ library TrueCryptMainCom int ChangePasswordEx (BSTR volumePath, Password *oldPassword, int old_pkcs5, Password *newPassword, int pkcs5, int wipePassCount, LONG_PTR hWnd); int ChangePasswordEx2 (BSTR volumePath, Password *oldPassword, int old_pkcs5, BOOL truecryptMode, Password *newPassword, int pkcs5, int wipePassCount, LONG_PTR hWnd); int ChangePasswordEx3 (BSTR volumePath, Password *oldPassword, int old_pkcs5, int old_pim, BOOL truecryptMode, Password *newPassword, int pkcs5, int pim, int wipePassCount, LONG_PTR hWnd); + DWORD GetFileSize (BSTR filePath, unsigned __int64* pSize); + DWORD DeviceIoControl (BOOL readOnly, BOOL device, BSTR filePath, DWORD dwIoControlCode, BSTR input, BSTR *output); + DWORD InstallEfiBootLoader (BOOL preserveUserConfig, BOOL hiddenOSCreation, int pim, int hashAlg); + DWORD BackupEfiSystemLoader (); + DWORD RestoreEfiSystemLoader (); + DWORD GetEfiBootDeviceNumber (BSTR* pSdn); + DWORD ReadEfiConfig (BSTR* pContent, DWORD *pcbRead); + DWORD WriteEfiBootSectorUserConfig (DWORD userConfig, BSTR customUserMessage, int pim, int hashAlg); }; [ diff --git a/src/Mount/Mount.c b/src/Mount/Mount.c index 62ac5e0f..f725d32b 100644 --- a/src/Mount/Mount.c +++ b/src/Mount/Mount.c @@ -121,6 +121,10 @@ BOOL ComServerMode = FALSE; BOOL ServiceMode = FALSE; BOOL UsePreferences = TRUE; +BOOL bSystemIsGPT = FALSE; +wchar_t szDefaultRescueDiskName[TC_MAX_PATH+1]; +wchar_t szRescueDiskExtension[4]; + int HiddenSysLeakProtectionNotificationStatus = TC_HIDDEN_OS_READ_ONLY_NOTIF_MODE_NONE; int MaxVolumeIdleTime = -120; int nCurrentShowType = 0; /* current display mode, mount, unmount etc */ @@ -129,7 +133,6 @@ int nSelectedDriveIndex = -1; /* Item number of selected drive */ int cmdUnmountDrive = -2; /* Volume drive letter to unmount (-1 = all) */ Password VolumePassword; /* Password used for mounting volumes */ Password CmdVolumePassword; /* Password passed from command line */ -char CmdTokenPin [SecurityToken::MaxPasswordLength + 1] = {0}; int VolumePkcs5 = 0; int CmdVolumePkcs5 = 0; int VolumePim = -1; @@ -238,7 +241,6 @@ static void localcleanup (void) burn (&mountOptions, sizeof (mountOptions)); burn (&defaultMountOptions, sizeof (defaultMountOptions)); burn (szFileName, sizeof(szFileName)); - burn (&CmdTokenPin, sizeof (CmdTokenPin)); /* Cleanup common code resources */ cleanup (); @@ -348,6 +350,14 @@ static void InitMainDialog (HWND hwndDlg) SetMenuItemInfoW (GetMenu (hwndDlg), i, TRUE, &info); } + { + // disable hidden OS creation for GPT system encryption + if (bSystemIsGPT) + { + EnableMenuItem (GetMenu (hwndDlg), IDM_CREATE_HIDDEN_OS, MF_GRAYED); + } + } + // Disable menu item for changing system header key derivation algorithm until it's implemented EnableMenuItem (GetMenu (hwndDlg), IDM_CHANGE_SYS_HEADER_KEY_DERIV_ALGO, MF_GRAYED); @@ -1083,9 +1093,11 @@ unsigned __int64 GetSysEncDeviceEncryptedPartSize (BOOL bSilent) static void PopulateSysEncContextMenu (HMENU popup, BOOL bToolsOnly) { + SystemDriveConfiguration config; try { BootEncStatus = BootEncObj->GetStatus(); + config = BootEncObj->GetSystemDriveConfiguration(); } catch (Exception &e) { @@ -1316,7 +1328,7 @@ BOOL SelectItem (HWND hTree, wchar_t nLetter) } -static void LaunchVolCreationWizard (HWND hwndDlg, const wchar_t *arg) +static void LaunchVolCreationWizard (HWND hwndDlg, const wchar_t *arg, BOOL bElevation) { wchar_t t[TC_MAX_PATH + 1024] = {L'"',0}; wchar_t *tmp; @@ -1350,21 +1362,30 @@ static void LaunchVolCreationWizard (HWND hwndDlg, const wchar_t *arg) if (!FileExists(t)) Error ("VOL_CREATION_WIZARD_NOT_FOUND", hwndDlg); // Display a user-friendly error message and advise what to do - - if (wcslen (arg) > 0) - { - StringCbCatW (t, sizeof(t), L" "); - StringCbCatW (t, sizeof(t), arg); - } - - if (!CreateProcess (NULL, (LPWSTR) t, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi)) - { - handleWin32Error (hwndDlg, SRC_POS); - } else { - CloseHandle (pi.hProcess); - CloseHandle (pi.hThread); + + if (bElevation && !IsAdmin() && IsUacSupported()) + { + LaunchElevatedProcess (hwndDlg, t, arg); + } + else + { + if (wcslen (arg) > 0) + { + StringCbCatW (t, sizeof(t), L" "); + StringCbCatW (t, sizeof(t), arg); + } + if (!CreateProcess (NULL, (LPWSTR) t, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi)) + { + handleWin32Error (hwndDlg, SRC_POS); + } + else + { + CloseHandle (pi.hProcess); + CloseHandle (pi.hThread); + } + } } } } @@ -2428,10 +2449,10 @@ BOOL CALLBACK PasswordChangeDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPAR case IDC_PKCS5_PRF_ID: if (bSysEncPwdChangeDlgMode) { - int new_hash_algo_id = (int) SendMessage (GetDlgItem (hwndDlg, IDC_PKCS5_PRF_ID), CB_GETITEMDATA, + int new_hash_algo_id = (int) SendMessage (GetDlgItem (hwndDlg, IDC_PKCS5_PRF_ID), CB_GETITEMDATA, SendMessage (GetDlgItem (hwndDlg, IDC_PKCS5_PRF_ID), CB_GETCURSEL, 0, 0), 0); - if (new_hash_algo_id != 0 && !HashForSystemEncryption(new_hash_algo_id)) + if (new_hash_algo_id != 0 && !bSystemIsGPT && !HashForSystemEncryption(new_hash_algo_id)) { int new_hash_algo_id = DEFAULT_HASH_ALGORITHM_BOOT; Info ("ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION", hwndDlg); @@ -2765,7 +2786,7 @@ BOOL CALLBACK PasswordDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPa for (i = FIRST_PRF_ID; i <= LAST_PRF_ID; i++) { - if (HashForSystemEncryption(i)) + if (bSystemIsGPT || HashForSystemEncryption(i)) { nIndex = (int) SendMessage (hComboBox, CB_ADDSTRING, 0, (LPARAM) get_pkcs5_prf_name(i)); SendMessage (hComboBox, CB_SETITEMDATA, nIndex, (LPARAM) i); @@ -5471,16 +5492,18 @@ static void ChangeSysEncPassword (HWND hwndDlg, BOOL bOnlyChangeKDF) // Initiates or resumes encryption of the system partition/drive static void EncryptSystemDevice (HWND hwndDlg) { + SystemDriveConfiguration config; try { BootEncStatus = BootEncObj->GetStatus(); + config = BootEncObj->GetSystemDriveConfiguration (); } catch (Exception &e) { e.Show (MainDlg); } - if (!BootEncStatus.DriveEncrypted + if (!BootEncStatus.DriveEncrypted && !BootEncStatus.DriveMounted && !SysEncryptionOrDecryptionRequired ()) { @@ -5488,7 +5511,7 @@ static void EncryptSystemDevice (HWND hwndDlg) if (!MutexExistsOnSystem (TC_MUTEX_NAME_SYSENC)) // If no instance of the wizard is currently taking care of system encryption { - LaunchVolCreationWizard (hwndDlg, L"/sysenc"); + LaunchVolCreationWizard (hwndDlg, L"/sysenc", FALSE); } else Warning ("SYSTEM_ENCRYPTION_IN_PROGRESS_ELSEWHERE", hwndDlg); @@ -5502,7 +5525,7 @@ static void EncryptSystemDevice (HWND hwndDlg) if (!MutexExistsOnSystem (TC_MUTEX_NAME_SYSENC)) // If no instance of the wizard is currently taking care of system encryption { - LaunchVolCreationWizard (hwndDlg, L"/sysenc"); + LaunchVolCreationWizard (hwndDlg, L"/sysenc",FALSE); } else Warning ("SYSTEM_ENCRYPTION_IN_PROGRESS_ELSEWHERE", hwndDlg); @@ -5518,9 +5541,11 @@ static void EncryptSystemDevice (HWND hwndDlg) // Initiates decryption of the system partition/drive static void DecryptSystemDevice (HWND hwndDlg) { + SystemDriveConfiguration config; try { BootEncStatus = BootEncObj->GetStatus(); + config = BootEncObj->GetSystemDriveConfiguration (); } catch (Exception &e) { @@ -5581,8 +5606,8 @@ static void DecryptSystemDevice (HWND hwndDlg) return; } - CloseSysEncMutex (); - LaunchVolCreationWizard (hwndDlg, L"/dsysenc"); + CloseSysEncMutex (); + LaunchVolCreationWizard (hwndDlg, L"/dsysenc", FALSE); } else Warning ("SYSTEM_ENCRYPTION_IN_PROGRESS_ELSEWHERE", hwndDlg); @@ -5597,7 +5622,7 @@ static void CreateHiddenOS (HWND hwndDlg) // such information, but will exit (displaying only an error meessage). Info("HIDDEN_OS_PREINFO", hwndDlg); - LaunchVolCreationWizard (hwndDlg, L"/isysenc"); + LaunchVolCreationWizard (hwndDlg, L"/isysenc", FALSE); } static void DecryptNonSysDevice (HWND hwndDlg, BOOL bResolveAmbiguousSelection, BOOL bUseDriveListSel) @@ -5708,7 +5733,7 @@ static void DecryptNonSysDevice (HWND hwndDlg, BOOL bResolveAmbiguousSelection, if (AskWarnNoYes ("CONFIRM_DECRYPT_NON_SYS_DEVICE_CAUTION", hwndDlg) == IDNO) return; - LaunchVolCreationWizard (hwndDlg, (wstring (L"/inplacedec \"") + scPath + L"\"").c_str ()); + LaunchVolCreationWizard (hwndDlg, (wstring (L"/inplacedec \"") + scPath + L"\"").c_str (), FALSE); } // Blindly attempts (without any checks) to instruct the wizard to resume whatever system encryption process @@ -5717,7 +5742,17 @@ static void ResumeInterruptedSysEncProcess (HWND hwndDlg) { if (!MutexExistsOnSystem (TC_MUTEX_NAME_SYSENC)) // If no instance of the wizard is currently taking care of system encryption { - LaunchVolCreationWizard (MainDlg, L"/csysenc"); + SystemDriveConfiguration config; + try + { + config = BootEncObj->GetSystemDriveConfiguration (); + } + catch (Exception &e) + { + e.Show (MainDlg); + } + + LaunchVolCreationWizard (MainDlg, L"/csysenc", FALSE); } else Warning ("SYSTEM_ENCRYPTION_IN_PROGRESS_ELSEWHERE", hwndDlg); @@ -5772,7 +5807,7 @@ void CreateRescueDisk (HWND hwndDlg) wchar_t initialDir[MAX_PATH]; SHGetFolderPath (NULL, CSIDL_MYDOCUMENTS, NULL, 0, initialDir); - if (!BrowseFilesInDir (hwndDlg, "OPEN_TITLE", initialDir, szRescueDiskISO, FALSE, TRUE, NULL, L"VeraCrypt Rescue Disk.iso", L"iso")) + if (!BrowseFilesInDir (hwndDlg, "OPEN_TITLE", initialDir, szRescueDiskISO, FALSE, TRUE, NULL, szDefaultRescueDiskName, szRescueDiskExtension)) { CloseSysEncMutex (); return; @@ -5781,17 +5816,25 @@ void CreateRescueDisk (HWND hwndDlg) WaitCursor(); BootEncObj->CreateRescueIsoImage (false, szRescueDiskISO); - StringCbPrintfW (szTmp, sizeof szTmp, - GetString (IsWindowsIsoBurnerAvailable() ? "RESCUE_DISK_NON_WIZARD_CREATION_WIN_ISOBURN" : "RESCUE_DISK_NON_WIZARD_CREATION_BURN"), - szRescueDiskISO); - - if (IsWindowsIsoBurnerAvailable()) + if (bSystemIsGPT) { - if (AskYesNoString (szTmp, hwndDlg) == IDYES) - LaunchWindowsIsoBurner (MainDlg, szRescueDiskISO); + StringCbPrintfW (szTmp, sizeof szTmp, GetString ("RESCUE_DISK_EFI_NON_WIZARD_CREATION"), szRescueDiskISO); + InfoDirect (szTmp, hwndDlg); } else - InfoDirect (szTmp, hwndDlg); + { + StringCbPrintfW (szTmp, sizeof szTmp, + GetString (IsWindowsIsoBurnerAvailable() ? "RESCUE_DISK_NON_WIZARD_CREATION_WIN_ISOBURN" : "RESCUE_DISK_NON_WIZARD_CREATION_BURN"), + szRescueDiskISO); + + if (IsWindowsIsoBurnerAvailable()) + { + if (AskYesNoString (szTmp, hwndDlg) == IDYES) + LaunchWindowsIsoBurner (MainDlg, szRescueDiskISO); + } + else + InfoDirect (szTmp, hwndDlg); + } } catch (Exception &e) { @@ -5806,7 +5849,7 @@ void CreateRescueDisk (HWND hwndDlg) Warning ("SYSTEM_ENCRYPTION_IN_PROGRESS_ELSEWHERE", hwndDlg); } -static void VerifyRescueDisk (HWND hwndDlg, bool checkIsoFile) +static void VerifyRescueDisk (HWND hwndDlg, bool checkImageFile) { try { @@ -5837,7 +5880,7 @@ static void VerifyRescueDisk (HWND hwndDlg, bool checkIsoFile) { try { - if (!checkIsoFile && (AskOkCancel ("RESCUE_DISK_NON_WIZARD_CHECK_INSERT", hwndDlg) != IDOK)) + if (!checkImageFile && (AskOkCancel ("RESCUE_DISK_NON_WIZARD_CHECK_INSERT", hwndDlg) != IDOK)) { CloseSysEncMutex (); return; @@ -5847,20 +5890,20 @@ static void VerifyRescueDisk (HWND hwndDlg, bool checkIsoFile) BootEncObj->CreateRescueIsoImage (false, L""); - if (checkIsoFile) + if (checkImageFile) { - wchar_t szRescueDiskISO [TC_MAX_PATH+1]; + wchar_t szRescueDiskImage [TC_MAX_PATH+1]; wchar_t initialDir[MAX_PATH]; SHGetFolderPath (NULL, CSIDL_MYDOCUMENTS, NULL, 0, initialDir); - if (!BrowseFilesInDir (hwndDlg, "OPEN_TITLE", initialDir, szRescueDiskISO, FALSE, FALSE, NULL, L"VeraCrypt Rescue Disk.iso", L"iso")) + if (!BrowseFilesInDir (hwndDlg, "OPEN_TITLE", initialDir, szRescueDiskImage, FALSE, FALSE, NULL,szDefaultRescueDiskName, szRescueDiskExtension)) { CloseSysEncMutex (); return; } WaitCursor(); - if (!BootEncObj->VerifyRescueDiskIsoImage (szRescueDiskISO)) + if (!BootEncObj->VerifyRescueDiskImage (szRescueDiskImage)) Error ("RESCUE_DISK_ISO_IMAGE_CHECK_FAILED", hwndDlg); else Info ("RESCUE_DISK_ISO_IMAGE_CHECK_PASSED", hwndDlg); @@ -5869,7 +5912,7 @@ static void VerifyRescueDisk (HWND hwndDlg, bool checkIsoFile) { WaitCursor(); if (!BootEncObj->VerifyRescueDisk ()) - Error ("RESCUE_DISK_NON_WIZARD_CHECK_FAILED", hwndDlg); + Error (bSystemIsGPT? "RESCUE_DISK_EFI_NON_WIZARD_CHECK_FAILED" : "RESCUE_DISK_NON_WIZARD_CHECK_FAILED", hwndDlg); else Info ("RESCUE_DISK_NON_WIZARD_CHECK_PASSED", hwndDlg); } @@ -5877,7 +5920,7 @@ static void VerifyRescueDisk (HWND hwndDlg, bool checkIsoFile) catch (Exception &e) { e.Show (MainDlg); - Error ("RESCUE_DISK_NON_WIZARD_CHECK_FAILED", hwndDlg); + Error (bSystemIsGPT? "RESCUE_DISK_EFI_NON_WIZARD_CHECK_FAILED" : "RESCUE_DISK_NON_WIZARD_CHECK_FAILED", hwndDlg); } CloseSysEncMutex (); @@ -5938,7 +5981,7 @@ static void ResumeInterruptedNonSysInplaceEncProcess (BOOL bDecrypt) // IMPORTANT: This function must not check any config files! Otherwise, if a config file was lost or corrupt, // the user would not be able resume encryption and the data on the volume would be inaccessible. - LaunchVolCreationWizard (MainDlg, bDecrypt? L"/resumeinplacedec" : L"/zinplace"); + LaunchVolCreationWizard (MainDlg, bDecrypt? L"/resumeinplacedec" : L"/zinplace", FALSE); } BOOL SelectContainer (HWND hwndDlg) @@ -5991,8 +6034,9 @@ static void WipeCache (HWND hwndDlg, BOOL silent) static void Benchmark (HWND hwndDlg) { + DialogBoxParamW (hInst, MAKEINTRESOURCEW (IDD_BENCHMARK_DLG), hwndDlg, - (DLGPROC) BenchmarkDlgProc, (LPARAM) NULL); + (DLGPROC) BenchmarkDlgProc, (LPARAM) bSystemIsGPT); } @@ -6389,12 +6433,21 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa BootEncObj->SetParentWindow (hwndDlg); BootEncStatus = BootEncObj->GetStatus(); RecentBootEncStatus = BootEncStatus; + bSystemIsGPT = BootEncObj->GetSystemDriveConfiguration().SystemPartition.IsGPT; } catch (...) { // NOP } + if (bSystemIsGPT) + StringCbCopyW (szRescueDiskExtension, sizeof (szRescueDiskExtension), L"zip"); + else + StringCbCopyW (szRescueDiskExtension, sizeof (szRescueDiskExtension), L"iso"); + + StringCbCopyW (szDefaultRescueDiskName, sizeof (szDefaultRescueDiskName), L"VeraCrypt Rescue Disk."); + StringCbCatW (szDefaultRescueDiskName, sizeof (szDefaultRescueDiskName), szRescueDiskExtension); + if (UsePreferences) { // General preferences @@ -6513,7 +6566,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa BOOL reportBadPasswd = CmdVolumePassword.Length > 0; if (FirstCmdKeyFile) - KeyFilesApplyWithPin (hwndDlg, &CmdVolumePassword, CmdTokenPin, FirstCmdKeyFile, szFileName); + KeyFilesApply (hwndDlg, &CmdVolumePassword, FirstCmdKeyFile, szFileName); mounted = MountVolume (hwndDlg, szDriveLetter[0] - L'A', szFileName, &CmdVolumePassword, EffectiveVolumePkcs5, CmdVolumePim, EffectiveVolumeTrueCryptMode, bCacheInDriver, bIncludePimInCache, bForceMount, @@ -6558,7 +6611,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa WaitCursor (); if (KeyFilesEnable && FirstKeyFile) - KeyFilesApplyWithPin (hwndDlg, &VolumePassword, CmdTokenPin, FirstKeyFile, szFileName); + KeyFilesApply (hwndDlg, &VolumePassword, FirstKeyFile, szFileName); mounted = MountVolume (hwndDlg, szDriveLetter[0] - L'A', szFileName, &VolumePassword, VolumePkcs5, VolumePim, VolumeTrueCryptMode, bCacheInDriver, bIncludePimInCache, bForceMount, &mountOptions, FALSE, TRUE); @@ -6743,9 +6796,17 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa { // The wizard was not launched during the system startup seq, or the user may have forgotten // to resume the encryption/decryption process. + SystemDriveConfiguration config; + try + { + config = BootEncObj->GetSystemDriveConfiguration (); + } + catch (Exception &e) + { + e.Show (MainDlg); + } - - LaunchVolCreationWizard (hwndDlg, L"/csysenc"); + LaunchVolCreationWizard (hwndDlg, L"/csysenc", FALSE); } } } @@ -7725,7 +7786,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa if (lw == IDC_CREATE_VOLUME || lw == IDM_CREATE_VOLUME || lw == IDM_VOLUME_WIZARD) { - LaunchVolCreationWizard (hwndDlg, L""); + LaunchVolCreationWizard (hwndDlg, L"", FALSE); return 1; } @@ -8015,7 +8076,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa if (lw == IDM_SYSENC_SETTINGS || lw == IDM_SYS_ENC_SETTINGS) { - DialogBoxParamW (hInst, MAKEINTRESOURCEW (IDD_SYSENC_SETTINGS), hwndDlg, (DLGPROC) BootLoaderPreferencesDlgProc, 0); + DialogBoxParamW (hInst, MAKEINTRESOURCEW (bSystemIsGPT? IDD_EFI_SYSENC_SETTINGS : IDD_SYSENC_SETTINGS), hwndDlg, (DLGPROC) BootLoaderPreferencesDlgProc, 0); return 1; } @@ -8695,7 +8756,7 @@ void ExtractCommandLine (HWND hwndDlg, wchar_t *lpszCommandLine) wchar_t szTmp[SecurityToken::MaxPasswordLength + 1] = {0}; if (GetArgumentValue (lpszCommandLineArgs, &i, nNoCommandLineArgs, szTmp, ARRAYSIZE (szTmp)) == HAS_ARGUMENT) { - if (0 == WideCharToMultiByte (CP_UTF8, 0, szTmp, -1, CmdTokenPin, array_capacity (CmdTokenPin), nullptr, nullptr)) + if (0 == WideCharToMultiByte (CP_UTF8, 0, szTmp, -1, CmdTokenPin, TC_MAX_PATH, nullptr, nullptr)) AbortProcess ("COMMAND_LINE_ERROR"); } else @@ -8924,7 +8985,6 @@ int WINAPI wWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, wchar_t *lpsz VirtualLock (&mountOptions, sizeof (mountOptions)); VirtualLock (&defaultMountOptions, sizeof (defaultMountOptions)); VirtualLock (&szFileName, sizeof(szFileName)); - VirtualLock (&CmdTokenPin, sizeof (CmdTokenPin)); DetectX86Features (); @@ -9649,8 +9709,8 @@ int BackupVolumeHeader (HWND hwndDlg, BOOL bRequireConfirmation, const wchar_t * OpenVolumeContext hiddenVolume; Password hiddenVolPassword; int hiddenVolPkcs5 = 0, hiddenVolPim = 0; - byte temporaryKey[MASTER_KEYDATA_SIZE]; - byte originalK2[MASTER_KEYDATA_SIZE]; + CRYPTOPP_ALIGN_DATA(16) byte temporaryKey[MASTER_KEYDATA_SIZE]; + CRYPTOPP_ALIGN_DATA(16) byte originalK2[MASTER_KEYDATA_SIZE]; int EffectiveVolumePkcs5 = CmdVolumePkcs5; int EffectiveVolumePim = CmdVolumePim; @@ -10433,16 +10493,17 @@ static BOOL CALLBACK PerformanceSettingsDlgProc (HWND hwndDlg, UINT msg, WPARAM } catch (...) { - BootEncStatus.DriveMounted = false; + BootEncStatus.DriveMounted = false; } - if (BootEncStatus.DriveMounted) + if (BootEncStatus.DriveMounted && !bSystemIsGPT) { byte userConfig; string customUserMessage; uint16 bootLoaderVersion; - BootEncObj->ReadBootSectorConfig (nullptr, 0, &userConfig, &customUserMessage, &bootLoaderVersion); + if (!BootEncObj->ReadBootSectorConfig (nullptr, 0, &userConfig, &customUserMessage, &bootLoaderVersion)) + return 1; if (bootLoaderVersion != VERSION_NUM) Warning ("BOOT_LOADER_VERSION_INCORRECT_PREFERENCES", hwndDlg); @@ -10452,7 +10513,7 @@ static BOOL CALLBACK PerformanceSettingsDlgProc (HWND hwndDlg, UINT msg, WPARAM else userConfig &= ~TC_BOOT_USER_CFG_FLAG_DISABLE_HW_ENCRYPTION; - BootEncObj->WriteBootSectorUserConfig (userConfig, customUserMessage, prop.volumePim); + BootEncObj->WriteBootSectorUserConfig (userConfig, customUserMessage, prop.volumePim, prop.pkcs5); } SetDriverConfigurationFlag (TC_DRIVER_CONFIG_DISABLE_HARDWARE_ENCRYPTION, disableHW); @@ -10766,7 +10827,8 @@ static BOOL CALLBACK BootLoaderPreferencesDlgProc (HWND hwndDlg, UINT msg, WPARA { case WM_INITDIALOG: { - if (!BootEncObj->GetStatus().DriveMounted) + BootEncryptionStatus BootEncStatus = BootEncObj->GetStatus(); + if (!BootEncStatus.DriveMounted) { Warning ("SYS_DRIVE_NOT_ENCRYPTED", hwndDlg); EndDialog (hwndDlg, IDCANCEL); @@ -10780,27 +10842,38 @@ static BOOL CALLBACK BootLoaderPreferencesDlgProc (HWND hwndDlg, UINT msg, WPARA uint32 driverConfig = ReadDriverConfigurationFlags(); byte userConfig; string customUserMessage; - uint16 bootLoaderVersion; + uint16 bootLoaderVersion = 0; BOOL bPasswordCacheEnabled = (driverConfig & TC_DRIVER_CONFIG_CACHE_BOOT_PASSWORD)? TRUE : FALSE; BOOL bPimCacheEnabled = (driverConfig & TC_DRIVER_CONFIG_CACHE_BOOT_PIM)? TRUE : FALSE; - BootEncObj->ReadBootSectorConfig (nullptr, 0, &userConfig, &customUserMessage, &bootLoaderVersion); + if (!BootEncObj->ReadBootSectorConfig (nullptr, 0, &userConfig, &customUserMessage, &bootLoaderVersion)) + { + // operations canceled + EndDialog (hwndDlg, IDCANCEL); + return 1; + } if (bootLoaderVersion != VERSION_NUM) Warning ("BOOT_LOADER_VERSION_INCORRECT_PREFERENCES", hwndDlg); - SendMessage (GetDlgItem (hwndDlg, IDC_CUSTOM_BOOT_LOADER_MESSAGE), EM_LIMITTEXT, TC_BOOT_SECTOR_USER_MESSAGE_MAX_LENGTH, 0); - SetDlgItemTextA (hwndDlg, IDC_CUSTOM_BOOT_LOADER_MESSAGE, customUserMessage.c_str()); + if (bSystemIsGPT) + { + CheckDlgButton (hwndDlg, IDC_DISABLE_BOOT_LOADER_HASH_PROMPT, (userConfig & TC_BOOT_USER_CFG_FLAG_STORE_HASH) ? BST_CHECKED : BST_UNCHECKED); + } + else + { + SendMessage (GetDlgItem (hwndDlg, IDC_CUSTOM_BOOT_LOADER_MESSAGE), EM_LIMITTEXT, TC_BOOT_SECTOR_USER_MESSAGE_MAX_LENGTH, 0); + SetDlgItemTextA (hwndDlg, IDC_CUSTOM_BOOT_LOADER_MESSAGE, customUserMessage.c_str()); + CheckDlgButton (hwndDlg, IDC_DISABLE_BOOT_LOADER_OUTPUT, (userConfig & TC_BOOT_USER_CFG_FLAG_SILENT_MODE) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton (hwndDlg, IDC_ALLOW_ESC_PBA_BYPASS, (userConfig & TC_BOOT_USER_CFG_FLAG_DISABLE_ESC) ? BST_UNCHECKED : BST_CHECKED); + CheckDlgButton (hwndDlg, IDC_DISABLE_EVIL_MAID_ATTACK_DETECTION, (driverConfig & TC_DRIVER_CONFIG_DISABLE_EVIL_MAID_ATTACK_DETECTION) ? BST_CHECKED : BST_UNCHECKED); + SetWindowTextW (GetDlgItem (hwndDlg, IDC_CUSTOM_BOOT_LOADER_MESSAGE_HELP), GetString("CUSTOM_BOOT_LOADER_MESSAGE_HELP")); + } CheckDlgButton (hwndDlg, IDC_DISABLE_BOOT_LOADER_PIM_PROMPT, (userConfig & TC_BOOT_USER_CFG_FLAG_DISABLE_PIM) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton (hwndDlg, IDC_DISABLE_BOOT_LOADER_OUTPUT, (userConfig & TC_BOOT_USER_CFG_FLAG_SILENT_MODE) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton (hwndDlg, IDC_ALLOW_ESC_PBA_BYPASS, (userConfig & TC_BOOT_USER_CFG_FLAG_DISABLE_ESC) ? BST_UNCHECKED : BST_CHECKED); CheckDlgButton (hwndDlg, IDC_BOOT_LOADER_CACHE_PASSWORD, bPasswordCacheEnabled ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton (hwndDlg, IDC_DISABLE_EVIL_MAID_ATTACK_DETECTION, (driverConfig & TC_DRIVER_CONFIG_DISABLE_EVIL_MAID_ATTACK_DETECTION) ? BST_CHECKED : BST_UNCHECKED); EnableWindow (GetDlgItem (hwndDlg, IDC_BOOT_LOADER_CACHE_PIM), bPasswordCacheEnabled); CheckDlgButton (hwndDlg, IDC_BOOT_LOADER_CACHE_PIM, (bPasswordCacheEnabled && bPimCacheEnabled)? BST_CHECKED : BST_UNCHECKED); - - SetWindowTextW (GetDlgItem (hwndDlg, IDC_CUSTOM_BOOT_LOADER_MESSAGE_HELP), GetString("CUSTOM_BOOT_LOADER_MESSAGE_HELP")); } catch (Exception &e) { @@ -10840,13 +10913,15 @@ static BOOL CALLBACK BootLoaderPreferencesDlgProc (HWND hwndDlg, UINT msg, WPARA return 1; } - char customUserMessage[TC_BOOT_SECTOR_USER_MESSAGE_MAX_LENGTH + 1]; - GetDlgItemTextA (hwndDlg, IDC_CUSTOM_BOOT_LOADER_MESSAGE, customUserMessage, sizeof (customUserMessage)); + char customUserMessage[TC_BOOT_SECTOR_USER_MESSAGE_MAX_LENGTH + 1] = {0}; + if (!bSystemIsGPT) + GetDlgItemTextA (hwndDlg, IDC_CUSTOM_BOOT_LOADER_MESSAGE, customUserMessage, sizeof (customUserMessage)); byte userConfig; try { - BootEncObj->ReadBootSectorConfig (nullptr, 0, &userConfig); + if (!BootEncObj->ReadBootSectorConfig (nullptr, 0, &userConfig)) + return 1; } catch (Exception &e) { @@ -10859,7 +10934,16 @@ static BOOL CALLBACK BootLoaderPreferencesDlgProc (HWND hwndDlg, UINT msg, WPARA else userConfig &= ~TC_BOOT_USER_CFG_FLAG_DISABLE_PIM; - if (IsDlgButtonChecked (hwndDlg, IDC_DISABLE_BOOT_LOADER_OUTPUT)) + if (bSystemIsGPT) + { + if (IsDlgButtonChecked (hwndDlg, IDC_DISABLE_BOOT_LOADER_HASH_PROMPT)) + userConfig |= TC_BOOT_USER_CFG_FLAG_STORE_HASH; + else + userConfig &= ~TC_BOOT_USER_CFG_FLAG_STORE_HASH; + } + else + { + if (IsDlgButtonChecked (hwndDlg, IDC_DISABLE_BOOT_LOADER_OUTPUT)) userConfig |= TC_BOOT_USER_CFG_FLAG_SILENT_MODE; else userConfig &= ~TC_BOOT_USER_CFG_FLAG_SILENT_MODE; @@ -10868,12 +10952,13 @@ static BOOL CALLBACK BootLoaderPreferencesDlgProc (HWND hwndDlg, UINT msg, WPARA userConfig |= TC_BOOT_USER_CFG_FLAG_DISABLE_ESC; else userConfig &= ~TC_BOOT_USER_CFG_FLAG_DISABLE_ESC; + } try { BOOL bPasswordCacheEnabled = IsDlgButtonChecked (hwndDlg, IDC_BOOT_LOADER_CACHE_PASSWORD); BOOL bPimCacheEnabled = IsDlgButtonChecked (hwndDlg, IDC_BOOT_LOADER_CACHE_PIM); - BootEncObj->WriteBootSectorUserConfig (userConfig, customUserMessage, prop.volumePim); + BootEncObj->WriteBootSectorUserConfig (userConfig, customUserMessage, prop.volumePim, prop.pkcs5); SetDriverConfigurationFlag (TC_DRIVER_CONFIG_CACHE_BOOT_PASSWORD, bPasswordCacheEnabled); SetDriverConfigurationFlag (TC_DRIVER_CONFIG_CACHE_BOOT_PIM, (bPasswordCacheEnabled && bPimCacheEnabled)? TRUE : FALSE); SetDriverConfigurationFlag (TC_DRIVER_CONFIG_DISABLE_EVIL_MAID_ATTACK_DETECTION, IsDlgButtonChecked (hwndDlg, IDC_DISABLE_EVIL_MAID_ATTACK_DETECTION)); diff --git a/src/Mount/Mount.h b/src/Mount/Mount.h index 3a2a4056..4a50ef3c 100644 --- a/src/Mount/Mount.h +++ b/src/Mount/Mount.h @@ -1,11 +1,11 @@ /* Legal Notice: Some portions of the source code contained in this file were - derived from the source code of TrueCrypt 7.1a, which is - Copyright (c) 2003-2012 TrueCrypt Developers Association and which is + derived from the source code of TrueCrypt 7.1a, which is + Copyright (c) 2003-2012 TrueCrypt Developers Association and which is governed by the TrueCrypt License 3.0, also from the source code of Encryption for the Masses 2.02a, which is Copyright (c) 1998-2000 Paul Le Roux - and which is governed by the 'License Agreement for Encryption for the Masses' - Modifications and additions to the original source code (contained in this file) + and which is governed by the 'License Agreement for Encryption for the Masses' + Modifications and additions to the original source code (contained in this file) and all other portions of this file are Copyright (c) 2013-2016 IDRIX and are governed by the Apache License 2.0 the full text of which is contained in the file License.txt included in VeraCrypt binary and source @@ -99,7 +99,6 @@ static BOOL CheckMountList (HWND hwndDlg, BOOL bForceTaskBarUpdate); int GetCipherBlockSizeByDriveNo (int nDosDriveNo); int GetModeOfOperationByDriveNo (int nDosDriveNo); void ChangeMainWindowVisibility (); -void LaunchVolCreationWizard (HWND hwndDlg); BOOL WholeSysDriveEncryption (BOOL bSilent); BOOL CheckSysEncMountWithoutPBA (HWND hwndDlg, const wchar_t *devicePath, BOOL quiet); BOOL TCBootLoaderOnInactiveSysEncDrive (wchar_t *szDevicePath); diff --git a/src/Mount/Mount.rc b/src/Mount/Mount.rc index 6aa544fa..e5d90214 100644 --- a/src/Mount/Mount.rc +++ b/src/Mount/Mount.rc @@ -283,30 +283,23 @@ BEGIN LTEXT "",IDT_PKCS11_LIB_HELP,16,63,286,65 END -IDD_SYSENC_SETTINGS DIALOGEX 0, 0, 370, 286 +IDD_EFI_SYSENC_SETTINGS DIALOGEX 0, 0, 370, 139 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "VeraCrypt - System Encryption Settings" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - CONTROL "Do not &show any texts in the pre-boot authentication screen (except the below custom message)",IDC_DISABLE_BOOT_LOADER_OUTPUT, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,37,339,9 - EDITTEXT IDC_CUSTOM_BOOT_LOADER_MESSAGE,18,67,216,14,ES_AUTOHSCROLL CONTROL "&Cache pre-boot authentication password in driver memory (for mounting of non-system volumes)",IDC_BOOT_LOADER_CACHE_PASSWORD, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,192,339,10 - CONTROL "Allow pre-boot &authentication to be bypassed by pressing the Esc key (enables boot manager)",IDC_ALLOW_ESC_PBA_BYPASS, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,222,340,10 - DEFPUSHBUTTON "OK",IDOK,257,262,50,14 - PUSHBUTTON "Cancel",IDCANCEL,313,262,50,14 - LTEXT "Display this custom message in the pre-boot authentication screen (24 characters maximum):",IDT_CUSTOM_BOOT_LOADER_MESSAGE,18,56,337,8 - GROUPBOX "Boot Loader Screen Options",IDT_BOOT_LOADER_SCREEN_OPTIONS,8,7,355,165 - GROUPBOX "Security Options",IDT_SECURITY_OPTIONS,8,177,355,75 - LTEXT "",IDC_CUSTOM_BOOT_LOADER_MESSAGE_HELP,18,89,337,73 - CONTROL "Disable ""Evil Maid"" attack detection",IDC_DISABLE_EVIL_MAID_ATTACK_DETECTION, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,237,340,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,79,339,10 + DEFPUSHBUTTON "OK",IDOK,257,115,50,14 + PUSHBUTTON "Cancel",IDCANCEL,313,115,50,14 + GROUPBOX "Boot Loader Screen Options",IDT_BOOT_LOADER_SCREEN_OPTIONS,8,7,355,53 + GROUPBOX "Security Options",IDT_SECURITY_OPTIONS,8,64,355,44 CONTROL "Include PIM when caching pre-boot authentication password",IDC_BOOT_LOADER_CACHE_PIM, - "Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,18,207,340,10 + "Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,18,94,340,10 CONTROL "Do not request PIM in the pre-boot authentication screen (PIM value is stored unencrypted on disk)",IDC_DISABLE_BOOT_LOADER_PIM_PROMPT, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,20,339,9 + CONTROL "Do not request Hash algorithm in the pre-boot authentication screen",IDC_DISABLE_BOOT_LOADER_HASH_PROMPT, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,35,339,9 END IDD_PERFORMANCE_SETTINGS DIALOGEX 0, 0, 370, 248 @@ -386,6 +379,31 @@ BEGIN CONTROL "TrueCrypt Mode",IDC_TRUECRYPT_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,76,10 END +IDD_SYSENC_SETTINGS DIALOGEX 0, 0, 370, 286 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "VeraCrypt - System Encryption Settings" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + CONTROL "Do not &show any texts in the pre-boot authentication screen (except the below custom message)",IDC_DISABLE_BOOT_LOADER_OUTPUT, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,37,339,9 + EDITTEXT IDC_CUSTOM_BOOT_LOADER_MESSAGE,18,67,216,14,ES_AUTOHSCROLL + CONTROL "&Cache pre-boot authentication password in driver memory (for mounting of non-system volumes)",IDC_BOOT_LOADER_CACHE_PASSWORD, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,192,339,10 + CONTROL "Allow pre-boot &authentication to be bypassed by pressing the Esc key (enables boot manager)",IDC_ALLOW_ESC_PBA_BYPASS, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,222,340,10 + DEFPUSHBUTTON "OK",IDOK,257,262,50,14 + PUSHBUTTON "Cancel",IDCANCEL,313,262,50,14 + LTEXT "Display this custom message in the pre-boot authentication screen (24 characters maximum):",IDT_CUSTOM_BOOT_LOADER_MESSAGE,18,56,337,8 + GROUPBOX "Boot Loader Screen Options",IDT_BOOT_LOADER_SCREEN_OPTIONS,8,7,355,165 + GROUPBOX "Security Options",IDT_SECURITY_OPTIONS,8,177,355,75 + LTEXT "",IDC_CUSTOM_BOOT_LOADER_MESSAGE_HELP,18,89,337,73 + CONTROL "Disable ""Evil Maid"" attack detection",IDC_DISABLE_EVIL_MAID_ATTACK_DETECTION, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,237,340,10 + CONTROL "Include PIM when caching pre-boot authentication password",IDC_BOOT_LOADER_CACHE_PIM, + "Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,18,207,340,10 + CONTROL "Do not request PIM in the pre-boot authentication screen (PIM value is stored unencrypted on disk)",IDC_DISABLE_BOOT_LOADER_PIM_PROMPT, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,20,339,9 +END ///////////////////////////////////////////////////////////////////////////// // @@ -393,7 +411,7 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO +GUIDELINES DESIGNINFO BEGIN IDD_PREFERENCES_DLG, DIALOG BEGIN @@ -455,12 +473,12 @@ BEGIN BOTTOMMARGIN, 192 END - IDD_SYSENC_SETTINGS, DIALOG + IDD_EFI_SYSENC_SETTINGS, DIALOG BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 363 TOPMARGIN, 7 - BOTTOMMARGIN, 276 + BOTTOMMARGIN, 129 END IDD_PERFORMANCE_SETTINGS, DIALOG @@ -486,6 +504,14 @@ BEGIN TOPMARGIN, 7 BOTTOMMARGIN, 58 END + + IDD_SYSENC_SETTINGS, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 363 + TOPMARGIN, 7 + BOTTOMMARGIN, 276 + END END #endif // APSTUDIO_INVOKED @@ -534,19 +560,19 @@ END // TEXTINCLUDE // -1 TEXTINCLUDE +1 TEXTINCLUDE BEGIN "resource.h\0" END -2 TEXTINCLUDE +2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" "#include ""..\\\\common\\\\resource.h""\r\n" "\0" END -3 TEXTINCLUDE +3 TEXTINCLUDE BEGIN "#include ""..\\\\common\\\\common.rc""\r\n" "\0" @@ -572,7 +598,7 @@ IDB_SYS_DRIVEICON_MASK BITMAP "System_drive_icon_mask_96dpi.bm // Menu // -IDR_MENU MENU +IDR_MENU MENU BEGIN POPUP "&Volumes" BEGIN @@ -607,7 +633,7 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Create Rescue Disk...", IDM_CREATE_RESCUE_DISK MENUITEM "Verify Rescue Disk", IDM_VERIFY_RESCUE_DISK - MENUITEM "Verify Rescue Disk ISO Image", IDM_VERIFY_RESCUE_DISK_ISO + MENUITEM "Verify Rescue Disk Image", IDM_VERIFY_RESCUE_DISK_ISO MENUITEM SEPARATOR MENUITEM "Mount Without Pre-Boot &Authentication...", IDM_MOUNT_SYSENC_PART_WITHOUT_PBA MENUITEM SEPARATOR @@ -691,7 +717,7 @@ END // String Table // -STRINGTABLE +STRINGTABLE BEGIN IDS_UACSTRING "VeraCrypt" END diff --git a/src/Mount/Mount.vcxproj b/src/Mount/Mount.vcxproj new file mode 100644 index 00000000..8e7d894d --- /dev/null +++ b/src/Mount/Mount.vcxproj @@ -0,0 +1,445 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{E4C40F94-E7F9-4981-86E4-186B46F993F3}</ProjectGuid> + <RootNamespace>Mount</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>Windows7.1SDK</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>Windows7.1SDK</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>Windows7.1SDK</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>Windows7.1SDK</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</GenerateManifest> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</GenerateManifest> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">VeraCrypt</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">VeraCrypt</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">VeraCrypt</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">VeraCrypt</TargetName> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Midl> + <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <TypeLibraryName>$(SolutionDir)/$(ProjectName)/$(ProjectName).tlb</TypeLibraryName> + <OutputDirectory> + </OutputDirectory> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..\Common;..\Crypto;..\;..\PKCS11;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>TCMOUNT;WIN32;DEBUG;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <ExceptionHandling>Sync</ExceptionHandling> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <BufferSecurityCheck>true</BufferSecurityCheck> + <FunctionLevelLinking>false</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <BrowseInformation> + </BrowseInformation> + <BrowseInformationFile> + </BrowseInformationFile> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <DisableSpecificWarnings>4057;4100;4127;4201;4701;4706;%(DisableSpecificWarnings)</DisableSpecificWarnings> + </ClCompile> + <Link> + <AdditionalDependencies>..\Crypto\Debug\crypto.lib;mpr.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(OutDir)VeraCrypt.exe</OutputFile> + <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries> + <DelayLoadDLLs>mpr.dll;%(DelayLoadDLLs)</DelayLoadDLLs> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(OutDir)Mount.pdb</ProgramDatabaseFile> + <SubSystem>Windows</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention>true</DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Manifest> + <AdditionalManifestFiles>Mount.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles> + </Manifest> + <PostBuildEvent> + <Command>md "..\Debug\Setup Files" 2>NUL: +copy Debug\VeraCrypt.exe "..\Debug\Setup Files" >NUL: +</Command> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <TargetEnvironment>X64</TargetEnvironment> + <TypeLibraryName>$(SolutionDir)/$(ProjectName)/$(ProjectName).tlb</TypeLibraryName> + <OutputDirectory> + </OutputDirectory> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..\Common;..\Crypto;..\;..\PKCS11;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>TCMOUNT;WIN32;DEBUG;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <ExceptionHandling>Sync</ExceptionHandling> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <BufferSecurityCheck>true</BufferSecurityCheck> + <FunctionLevelLinking>false</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <BrowseInformation> + </BrowseInformation> + <BrowseInformationFile> + </BrowseInformationFile> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4057;4100;4127;4201;4701;4706;%(DisableSpecificWarnings)</DisableSpecificWarnings> + </ClCompile> + <Link> + <AdditionalDependencies>..\Crypto\x64\Debug\crypto.lib;mpr.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(OutDir)VeraCrypt.exe</OutputFile> + <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries> + <DelayLoadDLLs>mpr.dll;%(DelayLoadDLLs)</DelayLoadDLLs> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(OutDir)Mount.pdb</ProgramDatabaseFile> + <SubSystem>Windows</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention>true</DataExecutionPrevention> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Manifest> + <AdditionalManifestFiles>Mount.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles> + </Manifest> + <PostBuildEvent> + <Command>md "..\Debug\Setup Files" 2>NUL: +copy $(TargetPath) "..\Debug\Setup Files\VeraCrypt-x64.exe" >NUL: +</Command> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Midl> + <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <TypeLibraryName>$(SolutionDir)/$(ProjectName)/$(ProjectName).tlb</TypeLibraryName> + <OutputDirectory> + </OutputDirectory> + </Midl> + <ClCompile> + <AdditionalOptions>/w34189 %(AdditionalOptions)</AdditionalOptions> + <Optimization>MaxSpeed</Optimization> + <AdditionalIncludeDirectories>..\Common;..\Crypto;..\;..\PKCS11;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>TCMOUNT;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <BufferSecurityCheck>true</BufferSecurityCheck> + <PrecompiledHeader> + </PrecompiledHeader> + <AssemblerOutput>All</AssemblerOutput> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat> + </DebugInformationFormat> + <DisableSpecificWarnings>4057;4100;4127;4201;4701;4706;%(DisableSpecificWarnings)</DisableSpecificWarnings> + </ClCompile> + <Link> + <AdditionalDependencies>..\Crypto\Release\crypto.lib;mpr.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(OutDir)VeraCrypt.exe</OutputFile> + <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries> + <DelayLoadDLLs>mpr.dll;%(DelayLoadDLLs)</DelayLoadDLLs> + <GenerateDebugInformation>false</GenerateDebugInformation> + <GenerateMapFile>true</GenerateMapFile> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention>true</DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <Manifest> + <AdditionalManifestFiles>Mount.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles> + </Manifest> + <PostBuildEvent> + <Command>copy Release\VeraCrypt.exe "..\Release\Setup Files"</Command> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <TargetEnvironment>X64</TargetEnvironment> + <TypeLibraryName>$(SolutionDir)/$(ProjectName)/$(ProjectName).tlb</TypeLibraryName> + <OutputDirectory> + </OutputDirectory> + </Midl> + <ClCompile> + <AdditionalOptions>/w34189 %(AdditionalOptions)</AdditionalOptions> + <Optimization>MaxSpeed</Optimization> + <AdditionalIncludeDirectories>..\Common;..\Crypto;..\;..\PKCS11;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>TCMOUNT;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <BufferSecurityCheck>true</BufferSecurityCheck> + <PrecompiledHeader> + </PrecompiledHeader> + <AssemblerOutput>All</AssemblerOutput> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <WarningLevel>Level4</WarningLevel> + <DebugInformationFormat> + </DebugInformationFormat> + <DisableSpecificWarnings>4057;4100;4127;4201;4701;4706;%(DisableSpecificWarnings)</DisableSpecificWarnings> + </ClCompile> + <Link> + <AdditionalDependencies>..\Crypto\x64\Release\crypto.lib;mpr.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(OutDir)VeraCrypt.exe</OutputFile> + <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries> + <DelayLoadDLLs>mpr.dll;%(DelayLoadDLLs)</DelayLoadDLLs> + <GenerateDebugInformation>false</GenerateDebugInformation> + <GenerateMapFile>true</GenerateMapFile> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention>true</DataExecutionPrevention> + <TargetMachine>MachineX64</TargetMachine> + </Link> + <Manifest> + <AdditionalManifestFiles>Mount.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles> + </Manifest> + <PostBuildEvent> + <Command>copy $(TargetPath) "..\Release\Setup Files\VeraCrypt-x64.exe"</Command> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\Common\XUnzip.cpp" /> + <ClCompile Include="..\Common\XZip.cpp" /> + <ClCompile Include="Favorites.cpp" /> + <ClCompile Include="Hotkeys.c" /> + <ClCompile Include="MainCom.cpp" /> + <ClCompile Include="Mount.c"> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs> + </ClCompile> + <ClCompile Include="..\Common\BaseCom.cpp" /> + <ClCompile Include="..\Common\BootEncryption.cpp" /> + <ClCompile Include="..\Common\Cmdline.c" /> + <ClCompile Include="..\Common\Combo.c" /> + <ClCompile Include="..\Common\Crc.c" /> + <ClCompile Include="..\Common\Crypto.c" /> + <ClCompile Include="..\Common\Dictionary.c"> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs> + </ClCompile> + <ClCompile Include="..\Common\Dlgcode.c"> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs> + </ClCompile> + <ClCompile Include="..\Common\EncryptionThreadPool.c" /> + <ClCompile Include="..\Common\Endian.c" /> + <ClCompile Include="..\Common\GfMul.c" /> + <ClCompile Include="..\Common\Keyfiles.c"> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs> + <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs> + </ClCompile> + <ClCompile Include="..\Common\Language.c" /> + <ClCompile Include="..\Common\Password.c" /> + <ClCompile Include="..\Common\Pkcs5.c" /> + <ClCompile Include="..\Common\Random.c" /> + <ClCompile Include="..\Common\Registry.c" /> + <ClCompile Include="..\Common\SecurityToken.cpp" /> + <ClCompile Include="..\Common\Tests.c" /> + <ClCompile Include="..\Common\Volumes.c" /> + <ClCompile Include="..\Common\Wipe.c" /> + <ClCompile Include="..\Common\Xml.c" /> + <ClCompile Include="..\Common\Xts.c" /> + </ItemGroup> + <ItemGroup> + <Midl Include="MainCom.idl" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\Common\Wipe.h" /> + <ClInclude Include="..\Common\Apidrvr.h" /> + <ClInclude Include="..\Common\BaseCom.h" /> + <ClInclude Include="..\Common\BootEncryption.h" /> + <ClInclude Include="..\Common\Cmdline.h" /> + <ClInclude Include="..\Common\Combo.h" /> + <ClInclude Include="..\Common\Common.h" /> + <ClInclude Include="..\Common\Crc.h" /> + <ClInclude Include="..\Common\Crypto.h" /> + <ClInclude Include="..\Common\Dictionary.h" /> + <ClInclude Include="..\Common\Dlgcode.h" /> + <ClInclude Include="..\Common\EncryptionThreadPool.h" /> + <ClInclude Include="..\Common\Exception.h" /> + <ClInclude Include="..\Common\XUnzip.h" /> + <ClInclude Include="..\Common\XZip.h" /> + <ClInclude Include="Favorites.h" /> + <ClInclude Include="..\Common\GfMul.h" /> + <ClInclude Include="Hotkeys.h" /> + <ClInclude Include="..\Common\Keyfiles.h" /> + <ClInclude Include="..\Common\Language.h" /> + <ClInclude Include="MainCom.h" /> + <ClInclude Include="Mount.h" /> + <ClInclude Include="..\Common\Password.h" /> + <ClInclude Include="..\Common\Pkcs5.h" /> + <ClInclude Include="..\Common\Random.h" /> + <ClInclude Include="..\Common\Registry.h" /> + <ClInclude Include="..\Common\Resource.h" /> + <ClInclude Include="resource.h" /> + <ClInclude Include="..\Common\SecurityToken.h" /> + <ClInclude Include="..\Common\Tcdefs.h" /> + <ClInclude Include="..\Common\Tests.h" /> + <ClInclude Include="..\Common\Volumes.h" /> + <ClInclude Include="..\Common\Xml.h" /> + <ClInclude Include="..\Common\Xts.h" /> + </ItemGroup> + <ItemGroup> + <None Include="..\Boot\Windows\Release_Camellia\BootSector.bin" /> + <None Include="..\Boot\Windows\Release_Camellia_SHA2\BootSector.bin" /> + <None Include="..\Boot\Windows\Rescue_Camellia\BootSector.bin" /> + <None Include="..\Boot\Windows\Rescue_Camellia_SHA2\BootSector.bin" /> + <None Include="..\Boot\Windows\Rescue_Serpent_SHA2\BootSector.bin" /> + <None Include="..\Boot\Windows\Rescue_AES_SHA2\BootSector.bin" /> + <None Include="..\Boot\Windows\Rescue_SHA2\BootSector.bin" /> + <None Include="..\Boot\Windows\Release_Twofish_SHA2\BootSector.bin" /> + <None Include="..\Boot\Windows\Release_Serpent_SHA2\BootSector.bin" /> + <None Include="..\Boot\Windows\Release_AES_SHA2\BootSector.bin" /> + <None Include="..\Boot\Windows\Release_SHA2\BootSector.bin" /> + <None Include="..\Boot\Windows\Rescue_Twofish_SHA2\BootSector.bin" /> + <None Include="Drive_icon_96dpi.bmp" /> + <None Include="Drive_icon_mask_96dpi.bmp" /> + <None Include="Logo_288dpi.bmp" /> + <None Include="Logo_96dpi.bmp" /> + <None Include="Mount.tlb" /> + <None Include="System_drive_icon_96dpi.bmp" /> + <None Include="System_drive_icon_mask_96dpi.bmp" /> + <None Include="..\Common\VeraCrypt_mounted.ico" /> + <None Include="..\Common\VeraCrypt_volume.ico" /> + <None Include="..\Boot\Windows\Release_Serpent\BootLoader.com.gz" /> + <None Include="..\Boot\Windows\Release_AES\BootLoader.com.gz" /> + <None Include="..\Boot\Windows\Release\BootLoader.com.gz" /> + <None Include="..\Boot\Windows\Release_Twofish\BootLoader.com.gz" /> + <None Include="..\Boot\Windows\Rescue_Serpent\BootLoader.com.gz" /> + <None Include="..\Boot\Windows\Rescue_AES\BootLoader.com.gz" /> + <None Include="..\Boot\Windows\Rescue\BootLoader.com.gz" /> + <None Include="..\Boot\Windows\Rescue_Twofish\BootLoader.com.gz" /> + <None Include="..\Boot\Windows\Rescue\BootSector.bin" /> + <None Include="..\Boot\Windows\Release_Twofish\BootSector.bin" /> + <None Include="..\Boot\Windows\Release_Serpent\BootSector.bin" /> + <None Include="..\Boot\Windows\Rescue_Serpent\BootSector.bin" /> + <None Include="..\Boot\Windows\Rescue_AES\BootSector.bin" /> + <None Include="..\Boot\Windows\Release\BootSector.bin" /> + <None Include="..\Boot\Windows\Rescue_Twofish\BootSector.bin" /> + <None Include="..\Boot\Windows\Release_AES\BootSector.bin" /> + <None Include="..\Boot\Windows\Release\Decompressor.com" /> + <None Include="..\Common\Language.xml" /> + <None Include="..\Resources\Texts\License.rtf" /> + <None Include="..\Common\Textual_logo_288dpi.bmp" /> + <None Include="..\Common\Textual_logo_96dpi.bmp" /> + <None Include="..\Common\Textual_logo_background.bmp" /> + <None Include="..\Common\VeraCrypt.ico" /> + </ItemGroup> + <ItemGroup> + <Manifest Include="Mount.manifest" /> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="Mount.rc" /> + <ResourceCompile Include="..\Common\Common.rc"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + </ResourceCompile> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\Boot\Windows\Boot.vcxproj"> + <Project>{8b7f059f-e4c7-4e11-88f5-ee8b8433072e}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\Crypto\Crypto.vcxproj"> + <Project>{993245cf-6b70-47ee-91bb-39f8fc6dc0e7}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\Driver\Driver.vcxproj"> + <Project>{ef5ef444-18d0-40d7-8dfa-775ec4448602}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\Format\Format.vcxproj"> + <Project>{9dc1abe2-d18b-48fb-81d2-8c50adc57bcf}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/Mount/Mount.vcxproj.filters b/src/Mount/Mount.vcxproj.filters new file mode 100644 index 00000000..fcc9445e --- /dev/null +++ b/src/Mount/Mount.vcxproj.filters @@ -0,0 +1,368 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Source Files\Common"> + <UniqueIdentifier>{8f7b640f-31e5-4198-be7c-09501ffebedf}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions> + </Filter> + <Filter Include="Resource Files\Common"> + <UniqueIdentifier>{f805ede6-c210-4210-95ce-e33edb12bc27}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="Favorites.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="Hotkeys.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="MainCom.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="Mount.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\Common\BaseCom.cpp"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\BootEncryption.cpp"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Cmdline.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Combo.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Crc.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Crypto.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Dictionary.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Dlgcode.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\EncryptionThreadPool.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Endian.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\GfMul.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Keyfiles.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Language.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Password.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Pkcs5.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Random.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Registry.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\SecurityToken.cpp"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Tests.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Volumes.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Wipe.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Xml.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\Xts.c"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\XZip.cpp"> + <Filter>Source Files\Common</Filter> + </ClCompile> + <ClCompile Include="..\Common\XUnzip.cpp"> + <Filter>Source Files\Common</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <Midl Include="MainCom.idl"> + <Filter>Source Files</Filter> + </Midl> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\Common\Wipe.h"> + <Filter>Source Files\Common</Filter> + </ClInclude> + <ClInclude Include="..\Common\Apidrvr.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\BaseCom.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\BootEncryption.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Cmdline.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Combo.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Common.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Crc.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Crypto.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Dictionary.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Dlgcode.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\EncryptionThreadPool.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Exception.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="Favorites.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\GfMul.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="Hotkeys.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Keyfiles.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Language.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="MainCom.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="Mount.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Password.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Pkcs5.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Random.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Registry.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Resource.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="resource.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\SecurityToken.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Tcdefs.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Tests.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Volumes.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Xml.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\Xts.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\XZip.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Common\XUnzip.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <None Include="..\Boot\Windows\Rescue_Serpent_SHA2\BootSector.bin"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\Boot\Windows\Rescue_AES_SHA2\BootSector.bin"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\Boot\Windows\Rescue_SHA2\BootSector.bin"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\Boot\Windows\Release_Twofish_SHA2\BootSector.bin"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\Boot\Windows\Release_Serpent_SHA2\BootSector.bin"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\Boot\Windows\Release_AES_SHA2\BootSector.bin"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\Boot\Windows\Release_SHA2\BootSector.bin"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\Boot\Windows\Rescue_Twofish_SHA2\BootSector.bin"> + <Filter>Resource Files</Filter> + </None> + <None Include="Drive_icon_96dpi.bmp"> + <Filter>Resource Files</Filter> + </None> + <None Include="Drive_icon_mask_96dpi.bmp"> + <Filter>Resource Files</Filter> + </None> + <None Include="Logo_288dpi.bmp"> + <Filter>Resource Files</Filter> + </None> + <None Include="Logo_96dpi.bmp"> + <Filter>Resource Files</Filter> + </None> + <None Include="Mount.tlb"> + <Filter>Resource Files</Filter> + </None> + <None Include="System_drive_icon_96dpi.bmp"> + <Filter>Resource Files</Filter> + </None> + <None Include="System_drive_icon_mask_96dpi.bmp"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\Common\VeraCrypt_mounted.ico"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\Common\VeraCrypt_volume.ico"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\Boot\Windows\Release_Serpent\BootLoader.com.gz"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Release_AES\BootLoader.com.gz"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Release\BootLoader.com.gz"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Release_Twofish\BootLoader.com.gz"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Rescue_Serpent\BootLoader.com.gz"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Rescue_AES\BootLoader.com.gz"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Rescue\BootLoader.com.gz"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Rescue_Twofish\BootLoader.com.gz"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Rescue\BootSector.bin"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Release_Twofish\BootSector.bin"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Release_Serpent\BootSector.bin"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Rescue_Serpent\BootSector.bin"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Rescue_AES\BootSector.bin"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Release\BootSector.bin"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Rescue_Twofish\BootSector.bin"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Release_AES\BootSector.bin"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Release\Decompressor.com"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Common\Language.xml"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Resources\Texts\License.rtf"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Common\Textual_logo_288dpi.bmp"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Common\Textual_logo_96dpi.bmp"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Common\Textual_logo_background.bmp"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Common\VeraCrypt.ico"> + <Filter>Resource Files\Common</Filter> + </None> + <None Include="..\Boot\Windows\Release_Camellia\BootSector.bin"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\Boot\Windows\Release_Camellia_SHA2\BootSector.bin"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\Boot\Windows\Rescue_Camellia\BootSector.bin"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\Boot\Windows\Rescue_Camellia_SHA2\BootSector.bin"> + <Filter>Resource Files</Filter> + </None> + </ItemGroup> + <ItemGroup> + <Manifest Include="Mount.manifest"> + <Filter>Resource Files</Filter> + </Manifest> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="Mount.rc"> + <Filter>Resource Files</Filter> + </ResourceCompile> + <ResourceCompile Include="..\Common\Common.rc"> + <Filter>Resource Files\Common</Filter> + </ResourceCompile> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/src/Mount/Mount.vcxproj.user b/src/Mount/Mount.vcxproj.user new file mode 100644 index 00000000..ace9a86a --- /dev/null +++ b/src/Mount/Mount.vcxproj.user @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +</Project>
\ No newline at end of file diff --git a/src/Mount/Resource.h b/src/Mount/Resource.h index 3d93d81f..12860915 100644 --- a/src/Mount/Resource.h +++ b/src/Mount/Resource.h @@ -21,6 +21,7 @@ #define IDD_SYSENC_SETTINGS 116 #define IDD_FAVORITE_VOLUMES 117 #define IDD_DEFAULT_MOUNT_PARAMETERS 118 +#define IDD_EFI_SYSENC_SETTINGS 119 #define IDC_PREF_MOUNT_READONLY 1000 #define IDC_PREF_MOUNT_REMOVABLE 1001 #define IDC_VERIFY 1002 @@ -179,8 +180,9 @@ #define IDT_VOLUME_ID 1157 #define IDC_FAVORITE_VOLUME_ID 1158 #define IDC_FAVORITE_USE_VOLUME_ID 1159 -#define IDC_DISABLE_BOOT_LOADER_PIM_PROMPT 1160 +#define IDC_DISABLE_BOOT_LOADER_PIM_PROMPT 1160 #define IDC_HIDE_WAITING_DIALOG 1161 +#define IDC_DISABLE_BOOT_LOADER_HASH_PROMPT 1162 #define IDM_HELP 40001 #define IDM_ABOUT 40002 #define IDM_UNMOUNT_VOLUME 40003 @@ -251,13 +253,13 @@ #define IDM_VERIFY_RESCUE_DISK_ISO 40068 // Next default values for new objects -// +// #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NO_MFC 1 -#define _APS_NEXT_RESOURCE_VALUE 119 +#define _APS_NEXT_RESOURCE_VALUE 120 #define _APS_NEXT_COMMAND_VALUE 40069 -#define _APS_NEXT_CONTROL_VALUE 1162 +#define _APS_NEXT_CONTROL_VALUE 1163 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif |