VeraCrypt
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Boot/EFI/DcsCfg.efibin882656 -> 883104 bytes
-rw-r--r--src/Boot/EFI/DcsCfg32.efibin764224 -> 764608 bytes
-rw-r--r--src/Boot/EFI/DcsInt.efibin847200 -> 847712 bytes
-rw-r--r--src/Boot/EFI/DcsInt32.efibin748160 -> 748480 bytes
-rw-r--r--src/Boot/EFI/DcsRe.efibin18688 -> 18688 bytes
-rw-r--r--src/Boot/EFI/DcsRe32.efibin14752 -> 14752 bytes
-rw-r--r--src/Boot/EFI/Readme.txt9
-rw-r--r--src/Common/BootEncryption.cpp64
-rw-r--r--src/Common/BootEncryption.h8
-rw-r--r--src/Common/Common.rc17
-rw-r--r--src/Common/Dlgcode.c74
-rw-r--r--src/Common/Dlgcode.h1
-rw-r--r--src/Common/Resource.h15
-rw-r--r--src/Common/Tcdefs.h8
-rw-r--r--src/Driver/Driver.rc4
-rw-r--r--src/ExpandVolume/ExpandVolume.rc4
-rw-r--r--src/Format/Format.rc4
-rw-r--r--src/Mount/Mount.c57
-rw-r--r--src/Mount/Mount.rc25
-rw-r--r--src/Mount/Resource.h4
-rw-r--r--src/Setup/Setup.rc4
-rw-r--r--src/VeraCrypt.sln6
22 files changed, 240 insertions, 64 deletions
diff --git a/src/Boot/EFI/DcsCfg.efi b/src/Boot/EFI/DcsCfg.efi
index 7d69a53..d0641c1 100644
--- a/src/Boot/EFI/DcsCfg.efi
+++ b/src/Boot/EFI/DcsCfg.efi
Binary files differ
diff --git a/src/Boot/EFI/DcsCfg32.efi b/src/Boot/EFI/DcsCfg32.efi
index 4be6abc..ef652c4 100644
--- a/src/Boot/EFI/DcsCfg32.efi
+++ b/src/Boot/EFI/DcsCfg32.efi
Binary files differ
diff --git a/src/Boot/EFI/DcsInt.efi b/src/Boot/EFI/DcsInt.efi
index 5759f3f..8c6e462 100644
--- a/src/Boot/EFI/DcsInt.efi
+++ b/src/Boot/EFI/DcsInt.efi
Binary files differ
diff --git a/src/Boot/EFI/DcsInt32.efi b/src/Boot/EFI/DcsInt32.efi
index c49afb1..2cb57b5 100644
--- a/src/Boot/EFI/DcsInt32.efi
+++ b/src/Boot/EFI/DcsInt32.efi
Binary files differ
diff --git a/src/Boot/EFI/DcsRe.efi b/src/Boot/EFI/DcsRe.efi
index ab7a387..c5b6dd5 100644
--- a/src/Boot/EFI/DcsRe.efi
+++ b/src/Boot/EFI/DcsRe.efi
Binary files differ
diff --git a/src/Boot/EFI/DcsRe32.efi b/src/Boot/EFI/DcsRe32.efi
index 7a4cb84..a31ba83 100644
--- a/src/Boot/EFI/DcsRe32.efi
+++ b/src/Boot/EFI/DcsRe32.efi
Binary files differ
diff --git a/src/Boot/EFI/Readme.txt b/src/Boot/EFI/Readme.txt
index f396b32..9ba9402 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 6dc2c97..a8481f3 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 c63aa80..80ca3b5 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 91c77a5..a9313f1 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 eea34b8..67e6b37 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 75196f8..1a66e10 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 0862a05..7106b3b 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 bcf2928..149603a 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 c8cd329..991775f 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 3183c20..11f0b36 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 6b1578f..1207c01 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 6c1aeed..32f57a4 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 2b703f0..46d385b 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 83e30b2..c3a61c6 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 381b359..476bb79 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 69731bd..420bb9c 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