From cf5729d4e184831d8d1a9bb3a83db9b645f96c24 Mon Sep 17 00:00:00 2001 From: kavsrf Date: Sun, 26 Feb 2017 10:48:24 +0300 Subject: Beta2 patch 1 Edit DcsProp and PlatformInfo from System->Settings EFI loader updated --- src/Boot/EFI/DcsCfg.efi | Bin 882656 -> 883104 bytes src/Boot/EFI/DcsCfg32.efi | Bin 764224 -> 764608 bytes src/Boot/EFI/DcsInt.efi | Bin 847200 -> 847712 bytes src/Boot/EFI/DcsInt32.efi | Bin 748160 -> 748480 bytes src/Boot/EFI/DcsRe.efi | Bin 18688 -> 18688 bytes src/Boot/EFI/DcsRe32.efi | Bin 14752 -> 14752 bytes src/Boot/EFI/Readme.txt | 9 +++-- src/Common/BootEncryption.cpp | 64 ++++++++++++++++++++++++++++----- src/Common/BootEncryption.h | 8 +++-- src/Common/Common.rc | 17 +++++++++ src/Common/Dlgcode.c | 74 +++++++++++++++++++++++++++++++++++++++ src/Common/Dlgcode.h | 1 + src/Common/Resource.h | 15 ++++---- src/Common/Tcdefs.h | 8 ++--- src/Driver/Driver.rc | 4 +-- src/ExpandVolume/ExpandVolume.rc | 4 +-- src/Format/Format.rc | 4 +-- src/Mount/Mount.c | 57 +++++++++++++++++++++++------- src/Mount/Mount.rc | 25 ++++++------- src/Mount/Resource.h | 4 +-- src/Setup/Setup.rc | 4 +-- src/VeraCrypt.sln | 6 ++-- 22 files changed, 240 insertions(+), 64 deletions(-) (limited to 'src') diff --git a/src/Boot/EFI/DcsCfg.efi b/src/Boot/EFI/DcsCfg.efi index 7d69a534..d0641c15 100644 Binary files a/src/Boot/EFI/DcsCfg.efi and b/src/Boot/EFI/DcsCfg.efi differ diff --git a/src/Boot/EFI/DcsCfg32.efi b/src/Boot/EFI/DcsCfg32.efi index 4be6abc7..ef652c47 100644 Binary files a/src/Boot/EFI/DcsCfg32.efi and b/src/Boot/EFI/DcsCfg32.efi differ diff --git a/src/Boot/EFI/DcsInt.efi b/src/Boot/EFI/DcsInt.efi index 5759f3ff..8c6e4623 100644 Binary files a/src/Boot/EFI/DcsInt.efi and b/src/Boot/EFI/DcsInt.efi differ diff --git a/src/Boot/EFI/DcsInt32.efi b/src/Boot/EFI/DcsInt32.efi index c49afb10..2cb57b56 100644 Binary files a/src/Boot/EFI/DcsInt32.efi and b/src/Boot/EFI/DcsInt32.efi differ diff --git a/src/Boot/EFI/DcsRe.efi b/src/Boot/EFI/DcsRe.efi index ab7a387c..c5b6dd5a 100644 Binary files a/src/Boot/EFI/DcsRe.efi and b/src/Boot/EFI/DcsRe.efi differ diff --git a/src/Boot/EFI/DcsRe32.efi b/src/Boot/EFI/DcsRe32.efi index 7a4cb844..a31ba834 100644 Binary files a/src/Boot/EFI/DcsRe32.efi and b/src/Boot/EFI/DcsRe32.efi differ diff --git a/src/Boot/EFI/Readme.txt b/src/Boot/EFI/Readme.txt index f396b324..9ba94023 100644 --- a/src/Boot/EFI/Readme.txt +++ b/src/Boot/EFI/Readme.txt @@ -17,19 +17,18 @@ Here the steps to build VeraCrypt-DCS (Visual Studio 2010 SP1 should be installe * After the build is finished, EFI bootloader files will be present at edk2\Build\DcsPkg\RELEASE_VS2010x86\X64 Secure Boot: -In order to allow VeraCrypt EFI bootloader to run when EFI Secure Boot is enabled, VeraCrypt EFI bootloader files are signed -using a custom key whose public part can be loader into Secure Boot to allow the verification of VeraCrypt EFI files. +In order to allow VeraCrypt EFI bootloader to run when EFI Secure Boot is enabled, VeraCrypt EFI bootloader files are signed by custom key(DCS_sign) whose public part can be loaded into Secure Boot to allow verification of VeraCrypt EFI files. -below are instruction to update Secure Boot configuration: +to update Secure Boot configuration steps: 1. Enter BIOS configuration 2. Switch Secure boot to setup mode (or custom mode). It deletes PK (platform certificate) and allows to load DCS platform key. 3. Boot Windows 4. execute from admin command prompt - powershell -File sb_set_siglists.ps1 + powershell -ExecutionPolicy Bypass -File sb_set_siglists.ps1 It sets in PK (platform key) - DCS_platform It sets in KEK (key exchange key) - DCS_key_exchange It sets in db - DCS_sign MicWinProPCA2011_2011-10-19 MicCorUEFCA2011_2011-06-27 All DCS modules are protected by DCS_sign. All Windows modules are protected by MicWinProPCA2011_2011-10-19 -All SHIM(linux) modules are protected by MicCorUEFCA2011_2011-06-27 \ No newline at end of file +All SHIM(linux) modules are protected by MicCorUEFCA2011_2011-06-27 \ No newline at end of file diff --git a/src/Common/BootEncryption.cpp b/src/Common/BootEncryption.cpp index 6dc2c979..a8481f3b 100644 --- a/src/Common/BootEncryption.cpp +++ b/src/Common/BootEncryption.cpp @@ -1565,7 +1565,7 @@ namespace VeraCrypt { if (GetSystemDriveConfiguration().SystemPartition.IsGPT) { - byte confContent[4096]; + byte confContent[4096*8]; DWORD dwSize; // for now, we don't support any boot config flags, like hidden OS one @@ -2032,13 +2032,17 @@ namespace VeraCrypt BOOL EfiBootConf::Save (const wchar_t* fileName, HWND hwnd) { - FILE *configFile = _wfopen (fileName, L"w,ccs=UTF-8"); - if (configFile == NULL) - return FALSE; BOOL bRet = FALSE; DWORD size = 0; char* configContent = LoadFile (fileName, &size); + + FILE *configFile = _wfopen (fileName, L"w,ccs=UTF-8"); + if (configFile == NULL) { + burn (configContent, size); + free (configContent); + return FALSE; + } XmlWriteHeader (configFile); @@ -2088,15 +2092,43 @@ namespace VeraCrypt static const wchar_t* EfiVarGuid = L"{8BE4DF61-93CA-11D2-AA0D-00E098032B8C}"; + void + GetVolumeESP(wstring& path) + { + ULONG len; + NTSTATUS res; + WCHAR tempBuf[1024]; + memset(tempBuf, 0, sizeof(tempBuf)); + + // Load NtQuerySystemInformation function point + if (!NtQuerySystemInformationPtr) + { + NtQuerySystemInformationPtr = (NtQuerySystemInformationFn) GetProcAddress (GetModuleHandle (L"ntdll.dll"), "NtQuerySystemInformation"); + if (!NtQuerySystemInformationPtr) + throw SystemException (SRC_POS); + } + + res = NtQuerySystemInformationPtr((SYSTEM_INFORMATION_CLASS)SYSPARTITIONINFORMATION, tempBuf, sizeof(tempBuf), &len); + if (res != S_OK) + { + SetLastError (res); + throw SystemException (SRC_POS); + } + + PUNICODE_STRING pStr = (PUNICODE_STRING) tempBuf; + path = L"\\\\?"; + path += &pStr->Buffer[7]; + } + EfiBoot::EfiBoot() { ZeroMemory(EfiBootPartPath, sizeof(EfiBootPartPath)); - ZeroMemory (systemPartitionPath, sizeof (systemPartitionPath)); + ZeroMemory (BootVolumePath, sizeof (BootVolumePath)); ZeroMemory (&sdn, sizeof (sdn)); ZeroMemory (&partInfo, sizeof (partInfo)); m_bMounted = false; } - void EfiBoot::MountBootPartition(WCHAR letter) { + void EfiBoot::SelectBootVolumeESP() { NTSTATUS res; ULONG len; memset(tempBuf, 0, sizeof(tempBuf)); @@ -2117,7 +2149,23 @@ namespace VeraCrypt } PUNICODE_STRING pStr = (PUNICODE_STRING) tempBuf; - memcpy (systemPartitionPath, pStr->Buffer, min (pStr->Length, (sizeof (systemPartitionPath) - 2))); + memcpy (BootVolumePath, pStr->Buffer, min (pStr->Length, (sizeof (BootVolumePath) - 2))); + bBootVolumePathSelected = TRUE; + } + + void EfiBoot::SelectBootVolume(WCHAR* bootVolumePath) { + wstring str; + str = bootVolumePath; + memcpy (BootVolumePath, &str[0], min (str.length() * 2, (sizeof (BootVolumePath) - 2))); + bBootVolumePathSelected = TRUE; + } + + void EfiBoot::MountBootPartition(WCHAR letter) { + NTSTATUS res; + ULONG len; + if (!bBootVolumePathSelected) { + SelectBootVolumeESP(); + } if (!letter) { if (!GetFreeDriveLetter(&EfiBootPartPath[0])) { @@ -2128,7 +2176,7 @@ namespace VeraCrypt } EfiBootPartPath[1] = ':'; EfiBootPartPath[2] = 0; - throw_sys_if(!DefineDosDevice(DDD_RAW_TARGET_PATH, EfiBootPartPath, systemPartitionPath)); + throw_sys_if(!DefineDosDevice(DDD_RAW_TARGET_PATH, EfiBootPartPath, BootVolumePath)); Device dev(EfiBootPartPath, TRUE); diff --git a/src/Common/BootEncryption.h b/src/Common/BootEncryption.h index c63aa80e..80ca3b52 100644 --- a/src/Common/BootEncryption.h +++ b/src/Common/BootEncryption.h @@ -186,6 +186,8 @@ namespace VeraCrypt BOOL Save (const wchar_t* fileName, HWND hwnd); }; + void GetVolumeESP(wstring& path); + class EfiBoot { public: EfiBoot(); @@ -208,7 +210,8 @@ namespace VeraCrypt BOOL UpdateConfig (const wchar_t* name, int pim, int hashAlgo, HWND hwndDlg); BOOL WriteConfig (const wchar_t* name, bool preserveUserConfig, int pim, int hashAlgo, const char* passPromptMsg, HWND hwndDlg); BOOL DelDir(const wchar_t* name); - + void SelectBootVolumeESP(); + void SelectBootVolume(WCHAR* bootVolumePath); PSTORAGE_DEVICE_NUMBER GetStorageDeviceNumber () { return &sdn;} protected: @@ -217,7 +220,8 @@ namespace VeraCrypt STORAGE_DEVICE_NUMBER sdn; PARTITION_INFORMATION_EX partInfo; WCHAR tempBuf[1024]; - WCHAR systemPartitionPath[MAX_PATH]; + bool bBootVolumePathSelected; + WCHAR BootVolumePath[MAX_PATH]; }; class BootEncryption diff --git a/src/Common/Common.rc b/src/Common/Common.rc index 91c77a58..a9313f1a 100644 --- a/src/Common/Common.rc +++ b/src/Common/Common.rc @@ -335,6 +335,15 @@ BEGIN CONTROL "",IDC_WAIT_PROGRESS_BAR,"msctls_progress32",WS_BORDER,7,49,278,14 END +IDD_TEXT_EDIT_DLG DIALOGEX 0, 0, 372, 220 +STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + DEFPUSHBUTTON "OK",IDOK,306,201,58,14 + CONTROL "",IDC_INFO_BOX_TEXT,"RichEdit20W",ES_MULTILINE | ES_NUMBER | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP,5,6,361,188 + DEFPUSHBUTTON "Cancel",IDCANCEL,240,201,58,14 +END + ///////////////////////////////////////////////////////////////////////////// // @@ -478,6 +487,14 @@ BEGIN TOPMARGIN, 7 BOTTOMMARGIN, 67 END + + IDD_TEXT_EDIT_DLG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 365 + TOPMARGIN, 7 + BOTTOMMARGIN, 213 + END END #endif // APSTUDIO_INVOKED diff --git a/src/Common/Dlgcode.c b/src/Common/Dlgcode.c index eea34b82..67e6b379 100644 --- a/src/Common/Dlgcode.c +++ b/src/Common/Dlgcode.c @@ -3360,6 +3360,80 @@ wstring GetDecoyOsInstructionsString (void) + GetString ("DECOY_OS_INSTRUCTIONS_PORTION_18")); } +struct _TEXT_EDIT_DIALOG_PARAM { + int Type; + std::string& Text; + const WCHAR* Title; + HWND Parent; + _TEXT_EDIT_DIALOG_PARAM(int _type, const WCHAR* title, std::string& _text) : Title(title), Text(_text), Type(_type) {} + _TEXT_EDIT_DIALOG_PARAM& operator=( const _TEXT_EDIT_DIALOG_PARAM& other) { + Type = other.Type; + Text = other.Text; + Title = other.Title; + return *this; +} +}; +typedef struct _TEXT_EDIT_DIALOG_PARAM TEXT_INFO_DIALOG_PARAM,*TEXT_INFO_DIALOG_PARAM_PTR; + +INT_PTR TextEditDialogBox (int type, HWND parent, const WCHAR* Title, std::string& text) +{ + TEXT_INFO_DIALOG_PARAM pm(type, Title, text); + return DialogBoxParamW (hInst, MAKEINTRESOURCEW (IDD_TEXT_EDIT_DLG), parent, (DLGPROC) TextEditDlgProc, (LPARAM) &pm); +} + +BOOL CALLBACK TextEditDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) +{ + WORD lw = LOWORD (wParam); + static int nID = 0; + static TEXT_INFO_DIALOG_PARAM_PTR prm; + switch (msg) + { + case WM_INITDIALOG: + { + prm = (TEXT_INFO_DIALOG_PARAM_PTR)lParam; + // increase size limit of rich edit control + SendMessage(GetDlgItem (hwndDlg, IDC_INFO_BOX_TEXT), EM_EXLIMITTEXT, 0, -1); + + SetWindowTextW (hwndDlg, prm->Title); + // Left margin for rich edit text field + SendMessage (GetDlgItem (hwndDlg, IDC_INFO_BOX_TEXT), EM_SETMARGINS, (WPARAM) EC_LEFTMARGIN, (LPARAM) CompensateXDPI (4)); + + SendMessage (hwndDlg, TC_APPMSG_LOAD_TEXT_BOX_CONTENT, 0, 0); + } + return 0; + + case WM_COMMAND: + if (lw == IDOK ) + { + prm->Text.resize(GetWindowTextLengthA (GetDlgItem (hwndDlg, IDC_INFO_BOX_TEXT)) + 1); + GetWindowTextA (GetDlgItem (hwndDlg, IDC_INFO_BOX_TEXT), &(prm->Text)[0], prm->Text.size()); + NormalCursor (); + EndDialog (hwndDlg, IDOK); + return 1; + } + + if (lw == IDCANCEL ) + { + NormalCursor (); + EndDialog (hwndDlg, IDCANCEL); + return 1; + } + return 0; + + case TC_APPMSG_LOAD_TEXT_BOX_CONTENT: + { + SetWindowTextA (GetDlgItem (hwndDlg, IDC_INFO_BOX_TEXT), prm->Text.c_str()); + } + return 0; + + case WM_CLOSE: + NormalCursor (); + EndDialog (hwndDlg, 0); + return 1; + } + + return 0; +} INT_PTR TextInfoDialogBox (int nID) { diff --git a/src/Common/Dlgcode.h b/src/Common/Dlgcode.h index 75196f84..1a66e102 100644 --- a/src/Common/Dlgcode.h +++ b/src/Common/Dlgcode.h @@ -313,6 +313,7 @@ int GetAvailableRemovables ( HWND hComboBox , char *lpszRootPath ); int IsSystemDevicePath (const wchar_t *path, HWND hwndDlg, BOOL bReliableRequired); int IsNonSysPartitionOnSysDrive (const wchar_t *path); BOOL CALLBACK RawDevicesDlgProc ( HWND hwndDlg , UINT msg , WPARAM wParam , LPARAM lParam ); +BOOL CALLBACK TextEditDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); INT_PTR TextInfoDialogBox (int nID); BOOL CALLBACK TextInfoDialogBoxDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); char * GetLegalNotices (); diff --git a/src/Common/Resource.h b/src/Common/Resource.h index 0862a05d..7106b3b8 100644 --- a/src/Common/Resource.h +++ b/src/Common/Resource.h @@ -59,14 +59,14 @@ #define IDR_RESCUE_LOADER_AES_SHA2 555 #define IDR_RESCUE_LOADER_SERPENT_SHA2 556 #define IDR_RESCUE_LOADER_TWOFISH_SHA2 557 -#define IDR_BOOT_SECTOR_CAMELLIA 558 -#define IDR_BOOT_LOADER_CAMELLIA 559 -#define IDR_RESCUE_BOOT_SECTOR_CAMELLIA 560 -#define IDR_RESCUE_LOADER_CAMELLIA 561 -#define IDR_BOOT_SECTOR_CAMELLIA_SHA2 562 -#define IDR_BOOT_LOADER_CAMELLIA_SHA2 563 +#define IDR_BOOT_SECTOR_CAMELLIA 558 +#define IDR_BOOT_LOADER_CAMELLIA 559 +#define IDR_RESCUE_BOOT_SECTOR_CAMELLIA 560 +#define IDR_RESCUE_LOADER_CAMELLIA 561 +#define IDR_BOOT_SECTOR_CAMELLIA_SHA2 562 +#define IDR_BOOT_LOADER_CAMELLIA_SHA2 563 #define IDR_RESCUE_BOOT_SECTOR_CAMELLIA_SHA2 564 -#define IDR_RESCUE_LOADER_CAMELLIA_SHA2 565 +#define IDR_RESCUE_LOADER_CAMELLIA_SHA2 565 #define IDR_EFI_DCSBOOT 566 #define IDR_EFI_DCSINT 567 #define IDR_EFI_DCSCFG 568 @@ -222,6 +222,7 @@ #define IDT_BENCHMARK 5138 #define IDC_BENCHMARK_LIST 5139 #define IDC_BENCHMARK_PREBOOT 5140 +#define IDD_TEXT_EDIT_DLG 5141 // Next default values for new objects // diff --git a/src/Common/Tcdefs.h b/src/Common/Tcdefs.h index bcf2928e..149603a2 100644 --- a/src/Common/Tcdefs.h +++ b/src/Common/Tcdefs.h @@ -55,15 +55,15 @@ extern unsigned short _rotl16(unsigned short value, unsigned char shift); #define TC_APP_NAME "VeraCrypt" // Version displayed to user -#define VERSION_STRING "1.20-BETA2" +#define VERSION_STRING "1.20-BETA2p1" // Version number to compare against driver #define VERSION_NUM 0x0120 // Release date -#define TC_STR_RELEASE_DATE L"December 30th, 2016" -#define TC_RELEASE_DATE_YEAR 2016 -#define TC_RELEASE_DATE_MONTH 12 +#define TC_STR_RELEASE_DATE L"February 25, 2017" +#define TC_RELEASE_DATE_YEAR 2017 +#define TC_RELEASE_DATE_MONTH 02 #define BYTES_PER_KB 1024LL #define BYTES_PER_MB 1048576LL diff --git a/src/Driver/Driver.rc b/src/Driver/Driver.rc index c8cd3298..991775f7 100644 --- a/src/Driver/Driver.rc +++ b/src/Driver/Driver.rc @@ -45,11 +45,11 @@ BEGIN BEGIN VALUE "CompanyName", "IDRIX" VALUE "FileDescription", "VeraCrypt Driver" - VALUE "FileVersion", "1.20-BETA2" + VALUE "FileVersion", "1.20-BETA2p1" VALUE "LegalTrademarks", "VeraCrypt" VALUE "OriginalFilename", "veracrypt.sys" VALUE "ProductName", "VeraCrypt" - VALUE "ProductVersion", "1.20-BETA2" + VALUE "ProductVersion", "1.20-BETA2p1" END END BLOCK "VarFileInfo" diff --git a/src/ExpandVolume/ExpandVolume.rc b/src/ExpandVolume/ExpandVolume.rc index 3183c209..11f0b362 100644 --- a/src/ExpandVolume/ExpandVolume.rc +++ b/src/ExpandVolume/ExpandVolume.rc @@ -210,11 +210,11 @@ BEGIN BEGIN VALUE "CompanyName", "IDRIX" VALUE "FileDescription", "VeraCrypt Expander" - VALUE "FileVersion", "1.20-BETA2" + VALUE "FileVersion", "1.20-BETA2p1" VALUE "LegalTrademarks", "VeraCrypt" VALUE "OriginalFilename", "VeraCryptExpander.exe" VALUE "ProductName", "VeraCrypt" - VALUE "ProductVersion", "1.20-BETA2" + VALUE "ProductVersion", "1.20-BETA2p1" END END BLOCK "VarFileInfo" diff --git a/src/Format/Format.rc b/src/Format/Format.rc index 6b1578fd..1207c010 100644 --- a/src/Format/Format.rc +++ b/src/Format/Format.rc @@ -46,11 +46,11 @@ BEGIN BEGIN VALUE "CompanyName", "IDRIX" VALUE "FileDescription", "VeraCrypt Format" - VALUE "FileVersion", "1.20-BETA2" + VALUE "FileVersion", "1.20-BETA2p1" VALUE "LegalTrademarks", "VeraCrypt" VALUE "OriginalFilename", "VeraCrypt Format.exe" VALUE "ProductName", "VeraCrypt" - VALUE "ProductVersion", "1.20-BETA2" + VALUE "ProductVersion", "1.20-BETA2p1" END END BLOCK "VarFileInfo" diff --git a/src/Mount/Mount.c b/src/Mount/Mount.c index 6c1aeedf..32f57a4e 100644 --- a/src/Mount/Mount.c +++ b/src/Mount/Mount.c @@ -10899,6 +10899,7 @@ void SecurityTokenPreferencesDialog (HWND hwndDlg) DialogBoxParamW (hInst, MAKEINTRESOURCEW (IDD_TOKEN_PREFERENCES), hwndDlg, (DLGPROC) SecurityTokenPreferencesDlgProc, 0); } +INT_PTR TextEditDialogBox (int type, HWND parent, const WCHAR* Title, std::string& text); static BOOL CALLBACK BootLoaderPreferencesDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { @@ -10916,21 +10917,9 @@ static BOOL CALLBACK BootLoaderPreferencesDlgProc (HWND hwndDlg, UINT msg, WPARA return 1; } - byte platforminfo[10*1024]; - platforminfo[0] = 0; - DWORD cbread; - try - { - BootEncObj->ReadEfiConfig(L"\\EFI\\VeraCrypt\\PlatformInfo", platforminfo, 10*1024 - 1, &cbread); - platforminfo[cbread - 1] = 0; - } - catch (Exception &e) { } - SetDlgItemTextA (hwndDlg, IDC_PLATFORMINFO, (char*)platforminfo); - try { LocalizeDialog (hwndDlg, "IDD_SYSENC_SETTINGS"); - uint32 driverConfig = ReadDriverConfigurationFlags(); byte userConfig; string customUserMessage; @@ -10983,6 +10972,50 @@ static BOOL CALLBACK BootLoaderPreferencesDlgProc (HWND hwndDlg, UINT msg, WPARA case IDCANCEL: EndDialog (hwndDlg, lw); return 1; + case IDB_SHOW_PLATFORMINFO: + { + try + { + std::string platforminfo; + DWORD sz; + std::wstring path; + GetVolumeESP(path); + path += L"\\EFI\\VeraCrypt\\PlatformInfo"; + File fPlatformInfo(path); + fPlatformInfo.GetFileSize(sz); + platforminfo.resize(sz + 1); + platforminfo[sz] = 0; + fPlatformInfo.Read((byte*)&platforminfo[0], sz); + TextEditDialogBox(0, hwndDlg, L"PlatformInfo", platforminfo); + } + catch (Exception &e) { e.Show(hwndDlg); } + } + return 0; + + case IDB_EDIT_DCSPROP: + { + try + { + std::string dcsprop; + DWORD sz; + std::wstring path; + GetVolumeESP(path); + path += L"\\EFI\\VeraCrypt\\DcsProp"; + File f1(path); + f1.GetFileSize(sz); + dcsprop.resize(sz + 1); + dcsprop[sz] = 0; + f1.Read((byte*)&dcsprop[0], sz); + f1.Close(); + if(TextEditDialogBox(0, hwndDlg, L"DcsProp", dcsprop) == IDOK) { + File f2(path,false,true); + f2.Write((byte*)&dcsprop[0], dcsprop.length()); + f2.Close(); + } + } + catch (Exception &e) { e.Show(hwndDlg); } + } + return 0; case IDOK: { diff --git a/src/Mount/Mount.rc b/src/Mount/Mount.rc index 2b703f07..46d385ba 100644 --- a/src/Mount/Mount.rc +++ b/src/Mount/Mount.rc @@ -285,24 +285,25 @@ BEGIN LTEXT "",IDT_PKCS11_LIB_HELP,16,63,286,65 END -IDD_EFI_SYSENC_SETTINGS DIALOGEX 0, 0, 370, 245 +IDD_EFI_SYSENC_SETTINGS DIALOGEX 0, 0, 367, 134 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 "&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,79,339,10 - DEFPUSHBUTTON "OK",IDOK,267,225,50,14 - PUSHBUTTON "Cancel",IDCANCEL,318,225,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 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,90,339,10 + DEFPUSHBUTTON "OK",IDOK,261,120,50,14 + PUSHBUTTON "Cancel",IDCANCEL,315,120,50,14 + GROUPBOX "Boot Loader Screen Options",IDT_BOOT_LOADER_SCREEN_OPTIONS,8,7,355,65 + GROUPBOX "Security Options",IDT_SECURITY_OPTIONS,6,75,355,44 CONTROL "Include PIM when caching pre-boot authentication password",IDC_BOOT_LOADER_CACHE_PIM, - "Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,18,94,340,10 + "Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,16,105,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 - EDITTEXT IDC_PLATFORMINFO,9,111,351,111,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | WS_VSCROLL | WS_HSCROLL + PUSHBUTTON "Show PlatformInfo",IDB_SHOW_PLATFORMINFO,75,51,68,14 + DEFPUSHBUTTON "Edit DcsProp",IDB_EDIT_DCSPROP,15,51,50,14 END IDD_PERFORMANCE_SETTINGS DIALOGEX 0, 0, 370, 248 @@ -482,9 +483,9 @@ BEGIN IDD_EFI_SYSENC_SETTINGS, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 363 + RIGHTMARGIN, 360 TOPMARGIN, 7 - BOTTOMMARGIN, 235 + BOTTOMMARGIN, 124 END IDD_PERFORMANCE_SETTINGS, DIALOG @@ -546,11 +547,11 @@ BEGIN BEGIN VALUE "CompanyName", "IDRIX" VALUE "FileDescription", "VeraCrypt" - VALUE "FileVersion", "1.20-BETA2" + VALUE "FileVersion", "1.20-BETA2p1" VALUE "LegalTrademarks", "VeraCrypt" VALUE "OriginalFilename", "VeraCrypt.exe" VALUE "ProductName", "VeraCrypt" - VALUE "ProductVersion", "1.20-BETA2" + VALUE "ProductVersion", "1.20-BETA2p1" END END BLOCK "VarFileInfo" diff --git a/src/Mount/Resource.h b/src/Mount/Resource.h index 83e30b2d..c3a61c6e 100644 --- a/src/Mount/Resource.h +++ b/src/Mount/Resource.h @@ -184,8 +184,8 @@ #define IDC_HIDE_WAITING_DIALOG 1161 #define IDC_DISABLE_BOOT_LOADER_HASH_PROMPT 1162 #define IDC_SECURE_DESKTOP_PASSWORD_ENTRY 1163 -#define IDB_PLATFORMINFO 1164 -#define IDC_PLATFORMINFO 1165 +#define IDB_SHOW_PLATFORMINFO 1164 +#define IDB_EDIT_DCSPROP 1165 #define IDM_HELP 40001 #define IDM_ABOUT 40002 #define IDM_UNMOUNT_VOLUME 40003 diff --git a/src/Setup/Setup.rc b/src/Setup/Setup.rc index 381b359b..476bb792 100644 --- a/src/Setup/Setup.rc +++ b/src/Setup/Setup.rc @@ -46,11 +46,11 @@ BEGIN BEGIN VALUE "CompanyName", "IDRIX" VALUE "FileDescription", "VeraCrypt Setup" - VALUE "FileVersion", "1.20-BETA2" + VALUE "FileVersion", "1.20-BETA2p1" VALUE "LegalTrademarks", "VeraCrypt" VALUE "OriginalFilename", "VeraCrypt Setup.exe" VALUE "ProductName", "VeraCrypt" - VALUE "ProductVersion", "1.20-BETA2" + VALUE "ProductVersion", "1.20-BETA2p1" END END BLOCK "VarFileInfo" diff --git a/src/VeraCrypt.sln b/src/VeraCrypt.sln index 69731bd8..420bb9ca 100644 --- a/src/VeraCrypt.sln +++ b/src/VeraCrypt.sln @@ -125,7 +125,7 @@ Global {EF5EF444-18D0-40D7-8DFA-775EC4448602}.Boot Loader|Win32.ActiveCfg = Release|Win32 {EF5EF444-18D0-40D7-8DFA-775EC4448602}.Boot Loader|x64.ActiveCfg = Debug x64|Win32 {EF5EF444-18D0-40D7-8DFA-775EC4448602}.Boot|Win32.ActiveCfg = Release|Win32 - {EF5EF444-18D0-40D7-8DFA-775EC4448602}.Boot|x64.ActiveCfg = Debug x64|Win32 + {EF5EF444-18D0-40D7-8DFA-775EC4448602}.Boot|x64.ActiveCfg = Release|Win32 {EF5EF444-18D0-40D7-8DFA-775EC4448602}.Debug|Win32.ActiveCfg = Debug|Win32 {EF5EF444-18D0-40D7-8DFA-775EC4448602}.Debug|Win32.Build.0 = Debug|Win32 {EF5EF444-18D0-40D7-8DFA-775EC4448602}.Debug|x64.ActiveCfg = Debug|Win32 @@ -335,7 +335,7 @@ Global {8B7F059F-E4C7-4E11-88F5-EE8B8433072E}.Boot Loader|x64.ActiveCfg = Release Loader|Win32 {8B7F059F-E4C7-4E11-88F5-EE8B8433072E}.Boot|Win32.ActiveCfg = Release|Win32 {8B7F059F-E4C7-4E11-88F5-EE8B8433072E}.Boot|Win32.Build.0 = Release|Win32 - {8B7F059F-E4C7-4E11-88F5-EE8B8433072E}.Boot|x64.ActiveCfg = Release Loader|Win32 + {8B7F059F-E4C7-4E11-88F5-EE8B8433072E}.Boot|x64.ActiveCfg = Release|Win32 {8B7F059F-E4C7-4E11-88F5-EE8B8433072E}.Debug|Win32.ActiveCfg = Release Loader|Win32 {8B7F059F-E4C7-4E11-88F5-EE8B8433072E}.Debug|Win32.Build.0 = Release Loader|Win32 {8B7F059F-E4C7-4E11-88F5-EE8B8433072E}.Debug|x64.ActiveCfg = Release Loader|Win32 @@ -379,7 +379,6 @@ Global {9715FF1D-599B-4BBC-AD96-BEF6E08FF827}.Boot Loader|x64.ActiveCfg = Release|x64 {9715FF1D-599B-4BBC-AD96-BEF6E08FF827}.Boot Loader|x64.Build.0 = Release|x64 {9715FF1D-599B-4BBC-AD96-BEF6E08FF827}.Boot|Win32.ActiveCfg = Release|Win32 - {9715FF1D-599B-4BBC-AD96-BEF6E08FF827}.Boot|Win32.Build.0 = Release|Win32 {9715FF1D-599B-4BBC-AD96-BEF6E08FF827}.Boot|x64.ActiveCfg = Release|x64 {9715FF1D-599B-4BBC-AD96-BEF6E08FF827}.Boot|x64.Build.0 = Release|x64 {9715FF1D-599B-4BBC-AD96-BEF6E08FF827}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -435,7 +434,6 @@ Global {9715FF1D-599B-4BBC-AD96-BEF6E08FF827}.Setup Debug|x64.ActiveCfg = Debug|x64 {9715FF1D-599B-4BBC-AD96-BEF6E08FF827}.Setup Debug|x64.Build.0 = Debug|x64 {9715FF1D-599B-4BBC-AD96-BEF6E08FF827}.Setup|Win32.ActiveCfg = Release|Win32 - {9715FF1D-599B-4BBC-AD96-BEF6E08FF827}.Setup|Win32.Build.0 = Release|Win32 {9715FF1D-599B-4BBC-AD96-BEF6E08FF827}.Setup|x64.ActiveCfg = Release|x64 {9715FF1D-599B-4BBC-AD96-BEF6E08FF827}.Setup|x64.Build.0 = Release|x64 EndGlobalSection -- cgit v1.2.3