diff options
author | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2021-01-01 23:58:06 +0100 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2021-01-02 01:16:31 +0100 |
commit | 9881744c95737264c7cd9f13b3c70042c03584aa (patch) | |
tree | d3400963fd7884c674a622c052e23b585f3e9043 /src/Common | |
parent | dc3700e8bb53bac72eb429554ef6a017ae071fde (diff) | |
download | VeraCrypt-9881744c95737264c7cd9f13b3c70042c03584aa.tar.gz VeraCrypt-9881744c95737264c7cd9f13b3c70042c03584aa.zip |
Windows: Add support for ARM64 platform (e.g. Microsoft Surface Pro X). System encryption still not implemented on ARM64
Diffstat (limited to 'src/Common')
-rw-r--r-- | src/Common/BootEncryption.cpp | 5 | ||||
-rw-r--r-- | src/Common/Common.rc | 2 | ||||
-rw-r--r-- | src/Common/Crypto.c | 28 | ||||
-rw-r--r-- | src/Common/Dlgcode.c | 99 | ||||
-rw-r--r-- | src/Common/Dlgcode.h | 1 | ||||
-rw-r--r-- | src/Common/Pkcs5.c | 10 | ||||
-rw-r--r-- | src/Common/Zip_vs2019.vcxproj | 366 | ||||
-rw-r--r-- | src/Common/Zip_vs2019.vcxproj.user | 4 |
8 files changed, 498 insertions, 17 deletions
diff --git a/src/Common/BootEncryption.cpp b/src/Common/BootEncryption.cpp index 5ca39afe..0ecdfba4 100644 --- a/src/Common/BootEncryption.cpp +++ b/src/Common/BootEncryption.cpp @@ -796,8 +796,6 @@ namespace VeraCrypt if (Elevated) { - DWORD bytesRead; - Elevator::ReadWriteFile (false, IsDevice, Path, buffer, FilePointerPosition, size, &bytesRead); FilePointerPosition += bytesRead; return bytesRead; @@ -5173,6 +5171,9 @@ namespace VeraCrypt if (CurrentOSMajor == 6 && CurrentOSMinor == 0 && CurrentOSServicePack < 1) throw ErrorException ("SYS_ENCRYPTION_UNSUPPORTED_ON_VISTA_SP0", SRC_POS); + if (IsARM()) + throw ErrorException ("SYS_ENCRYPTION_UNSUPPORTED_ON_CURRENT_OS", SRC_POS); + if (IsNonInstallMode()) throw ErrorException ("FEATURE_REQUIRES_INSTALLATION", SRC_POS); diff --git a/src/Common/Common.rc b/src/Common/Common.rc index d55e31b9..b26a400a 100644 --- a/src/Common/Common.rc +++ b/src/Common/Common.rc @@ -506,6 +506,7 @@ END // // BIN // +#ifndef ARM64 IDR_BOOT_SECTOR BIN "..\\Boot\\Windows\\Release\\BootSector.bin" IDR_BOOT_SECTOR_AES BIN "..\\Boot\\Windows\\Release_AES\\BootSector.bin" @@ -572,6 +573,7 @@ IDR_EFI_DCSBML32 BIN "..\\Boot\\EFI\\DcsBml32.efi" IDR_EFI_DCSRE32 BIN "..\\Boot\\EFI\\DcsRe32.efi" IDR_EFI_DCSINFO32 BIN "..\\Boot\\EFI\\DcsInfo32.efi" #endif +#endif ///////////////////////////////////////////////////////////////////////////// // // XML diff --git a/src/Common/Crypto.c b/src/Common/Crypto.c index 550de2b3..4745f981 100644 --- a/src/Common/Crypto.c +++ b/src/Common/Crypto.c @@ -1195,6 +1195,8 @@ BOOL IsAesHwCpuSupported () } return state && !HwEncryptionDisabled; +#elif defined (_M_ARM64) + return 0; #else return (HasAESNI() && !HwEncryptionDisabled)? TRUE : FALSE; #endif @@ -1476,3 +1478,29 @@ void VcUnprotectKeys (PCRYPTO_INFO pCryptoInfo, uint64 encID) #endif +#ifdef _M_ARM64 +/* dummy implementation that should never be called */ +void aes_hw_cpu_decrypt(const byte* ks, byte* data) +{ + ks = ks; + data = data; +} + +void aes_hw_cpu_decrypt_32_blocks(const byte* ks, byte* data) +{ + ks = ks; + data = data; +} + +void aes_hw_cpu_encrypt(const byte* ks, byte* data) +{ + ks = ks; + data = data; +} + +void aes_hw_cpu_encrypt_32_blocks(const byte* ks, byte* data) +{ + ks = ks; + data = data; +} +#endif diff --git a/src/Common/Dlgcode.c b/src/Common/Dlgcode.c index 28eb3803..a77109b7 100644 --- a/src/Common/Dlgcode.c +++ b/src/Common/Dlgcode.c @@ -107,6 +107,15 @@ LOCAL_DEFINE_GUID(PARTITION_LDM_DATA_GUID, 0xAF9B60A0L, 0x1431, 0x4F62, 0x LOCAL_DEFINE_GUID(PARTITION_MSFT_RECOVERY_GUID, 0xDE94BBA4L, 0x06D1, 0x4D40, 0xA1, 0x6A, 0xBF, 0xD5, 0x01, 0x79, 0xD6, 0xAC); // Microsoft recovery partition LOCAL_DEFINE_GUID(PARTITION_CLUSTER_GUID, 0xdb97dba9L, 0x0840, 0x4bae, 0x97, 0xf0, 0xff, 0xb9, 0xa3, 0x27, 0xc7, 0xe1); // Cluster metadata partition +#ifndef PROCESSOR_ARCHITECTURE_ARM64 +#define PROCESSOR_ARCHITECTURE_ARM64 12 +#endif + +#ifndef IMAGE_FILE_MACHINE_ARM64 +#define IMAGE_FILE_MACHINE_ARM64 0xAA64 +#endif + + using namespace VeraCrypt; LONG DriverVersion; @@ -4409,7 +4418,7 @@ static int DriverLoad () else *tmp = 0; - StringCbCatW (driverPath, sizeof(driverPath), !Is64BitOs () ? L"\\veracrypt.sys" : L"\\veracrypt-x64.sys"); + StringCbCatW (driverPath, sizeof(driverPath), !Is64BitOs () ? L"\\veracrypt.sys" : IsARM()? L"\\veracrypt-arm64.sys" : L"\\veracrypt-x64.sys"); file = FindFirstFile (driverPath, &find); @@ -10753,30 +10762,94 @@ BOOL IsOSVersionAtLeast (OSVersionEnum reqMinOS, int reqMinServicePack) } -BOOL Is64BitOs () +BOOL Is64BitOs() { #ifdef _WIN64 return TRUE; #else - static BOOL isWow64 = FALSE; + static BOOL isWow64 = FALSE; static BOOL valid = FALSE; - typedef BOOL (__stdcall *LPFN_ISWOW64PROCESS ) (HANDLE hProcess,PBOOL Wow64Process); + typedef BOOL(__stdcall* LPFN_ISWOW64PROCESS) (HANDLE hProcess, PBOOL Wow64Process); + typedef BOOL(__stdcall* LPFN_ISWOW64PROCESS2)( + HANDLE hProcess, + USHORT* pProcessMachine, + USHORT* pNativeMachine + ); LPFN_ISWOW64PROCESS fnIsWow64Process; + LPFN_ISWOW64PROCESS2 fnIsWow64Process2; if (valid) return isWow64; - fnIsWow64Process = (LPFN_ISWOW64PROCESS) GetProcAddress (GetModuleHandle(L"kernel32"), "IsWow64Process"); + fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(GetModuleHandle(L"kernel32"), "IsWow64Process"); + fnIsWow64Process2 = (LPFN_ISWOW64PROCESS2)GetProcAddress(GetModuleHandle(L"kernel32"), "IsWow64Process2"); - if (fnIsWow64Process != NULL) - if (!fnIsWow64Process (GetCurrentProcess(), &isWow64)) + if (fnIsWow64Process2) + { + USHORT processMachine, nativeMachine; + if (!fnIsWow64Process2(GetCurrentProcess(), &processMachine, &nativeMachine)) isWow64 = FALSE; - + else + { + if (IMAGE_FILE_MACHINE_ARM64 == nativeMachine || IMAGE_FILE_MACHINE_AMD64 == nativeMachine || IMAGE_FILE_MACHINE_IA64 == nativeMachine || IMAGE_FILE_MACHINE_ALPHA64 == nativeMachine) + isWow64 = TRUE; + } +} + else if (fnIsWow64Process != NULL) + { + if (!fnIsWow64Process(GetCurrentProcess(), &isWow64)) + isWow64 = FALSE; + } valid = TRUE; - return isWow64; + return isWow64; #endif } +BOOL IsARM() +{ +#if defined(_M_ARM) || defined(_M_ARM64) + return TRUE; +#else + static BOOL isARM = FALSE; + static BOOL valid = FALSE; + typedef BOOL(__stdcall* LPFN_ISWOW64PROCESS2)( + HANDLE hProcess, + USHORT* pProcessMachine, + USHORT* pNativeMachine + ); + LPFN_ISWOW64PROCESS2 fnIsWow64Process2; + + if (valid) + return isARM; + + fnIsWow64Process2 = (LPFN_ISWOW64PROCESS2)GetProcAddress(GetModuleHandle(L"kernel32"), "IsWow64Process2"); + if (fnIsWow64Process2) + { + USHORT processMachine, nativeMachine; + if (fnIsWow64Process2(GetCurrentProcess(), &processMachine, &nativeMachine)) + { + if (IMAGE_FILE_MACHINE_ARM64 == nativeMachine || IMAGE_FILE_MACHINE_AMD64 == nativeMachine || IMAGE_FILE_MACHINE_IA64 == nativeMachine || IMAGE_FILE_MACHINE_ALPHA64 == nativeMachine) + isARM = TRUE; + else + isARM = FALSE; + valid = TRUE; + } + } + + if (!valid) + { + SYSTEM_INFO systemInfo; + GetNativeSystemInfo(&systemInfo); + if (systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_ARM || systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_ARM64) + isARM = TRUE; + else + isARM = FALSE; + } + valid = TRUE; + return isARM; + +#endif +} BOOL IsServerOS () { @@ -10946,7 +11019,7 @@ std::wstring GetWindowsEdition () osname += L"-basic"; if (Is64BitOs()) - osname += L"-x64"; + osname += IsARM()? L"-arm64" : L"-x64"; if (CurrentOSServicePack > 0) { @@ -15007,7 +15080,11 @@ BOOL GetHibernateStatus (BOOL& bHibernateEnabled, BOOL& bHiberbootEnabled) } // check if Fast Startup / Hybrid Boot is enabled - if (IsOSVersionAtLeast (WIN_8, 0) && spc.spare2[0]) +#if _MSC_VER >= 1900 + if (IsOSVersionAtLeast (WIN_8, 0) && spc.Hiberboot) +#else + if (IsOSVersionAtLeast(WIN_8, 0) && spc.spare2[0]) +#endif { dwHiberbootEnabled = 1; ReadLocalMachineRegistryDword (L"SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Power", L"HiberbootEnabled", &dwHiberbootEnabled); diff --git a/src/Common/Dlgcode.h b/src/Common/Dlgcode.h index e4b2198a..baf07a5c 100644 --- a/src/Common/Dlgcode.h +++ b/src/Common/Dlgcode.h @@ -472,6 +472,7 @@ void DebugMsgBox (char *format, ...); BOOL IsOSAtLeast (OSVersionEnum reqMinOS); BOOL IsOSVersionAtLeast (OSVersionEnum reqMinOS, int reqMinServicePack); BOOL Is64BitOs (); +BOOL IsARM(); BOOL IsServerOS (); BOOL IsHiddenOSRunning (void); BOOL EnableWow64FsRedirection (BOOL enable); diff --git a/src/Common/Pkcs5.c b/src/Common/Pkcs5.c index 3c0c6a97..3ac3cc2c 100644 --- a/src/Common/Pkcs5.c +++ b/src/Common/Pkcs5.c @@ -91,7 +91,7 @@ void hmac_sha256 NTSTATUS saveStatus = STATUS_INVALID_PARAMETER; #ifdef _WIN64 XSTATE_SAVE SaveState; - if (g_isIntel && HasSAVX()) + if (IsCpuIntel() && HasSAVX()) saveStatus = KeSaveExtendedProcessorStateVC(XSTATE_MASK_GSSE, &SaveState); #else KFLOATING_SAVE floatingPointState; @@ -218,7 +218,7 @@ void derive_key_sha256 (char *pwd, int pwd_len, char *salt, int salt_len, uint32 NTSTATUS saveStatus = STATUS_INVALID_PARAMETER; #ifdef _WIN64 XSTATE_SAVE SaveState; - if (g_isIntel && HasSAVX()) + if (IsCpuIntel() && HasSAVX()) saveStatus = KeSaveExtendedProcessorStateVC(XSTATE_MASK_GSSE, &SaveState); #else KFLOATING_SAVE floatingPointState; @@ -361,7 +361,7 @@ void hmac_sha512 NTSTATUS saveStatus = STATUS_INVALID_PARAMETER; #ifdef _WIN64 XSTATE_SAVE SaveState; - if (g_isIntel && HasSAVX()) + if (IsCpuIntel() && HasSAVX()) saveStatus = KeSaveExtendedProcessorStateVC(XSTATE_MASK_GSSE, &SaveState); #else KFLOATING_SAVE floatingPointState; @@ -463,7 +463,7 @@ void derive_key_sha512 (char *pwd, int pwd_len, char *salt, int salt_len, uint32 NTSTATUS saveStatus = STATUS_INVALID_PARAMETER; #ifdef _WIN64 XSTATE_SAVE SaveState; - if (g_isIntel && HasSAVX()) + if (IsCpuIntel() && HasSAVX()) saveStatus = KeSaveExtendedProcessorStateVC(XSTATE_MASK_GSSE, &SaveState); #else KFLOATING_SAVE floatingPointState; @@ -1277,7 +1277,9 @@ int get_pkcs5_iteration_count (int pkcs5_prf_id, int pim, BOOL truecryptMode, BO default: TC_THROW_FATAL_EXCEPTION; // Unknown/wrong ID } +#if _MSC_VER < 1900 return 0; +#endif } int is_pkcs5_prf_supported (int pkcs5_prf_id, BOOL truecryptMode, PRF_BOOT_TYPE bootType) diff --git a/src/Common/Zip_vs2019.vcxproj b/src/Common/Zip_vs2019.vcxproj new file mode 100644 index 00000000..f9bb543f --- /dev/null +++ b/src/Common/Zip_vs2019.vcxproj @@ -0,0 +1,366 @@ +<?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|ARM64"> + <Configuration>Debug</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> + <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|ARM64"> + <Configuration>Release</Configuration> + <Platform>ARM64</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> + <ItemGroup> + <ClCompile Include="libzip\zip_add.c" /> + <ClCompile Include="libzip\zip_add_dir.c" /> + <ClCompile Include="libzip\zip_add_entry.c" /> + <ClCompile Include="libzip\zip_algorithm_deflate.c" /> + <ClCompile Include="libzip\zip_buffer.c" /> + <ClCompile Include="libzip\zip_close.c" /> + <ClCompile Include="libzip\zip_delete.c" /> + <ClCompile Include="libzip\zip_dirent.c" /> + <ClCompile Include="libzip\zip_dir_add.c" /> + <ClCompile Include="libzip\zip_discard.c" /> + <ClCompile Include="libzip\zip_entry.c" /> + <ClCompile Include="libzip\zip_error.c" /> + <ClCompile Include="libzip\zip_error_clear.c" /> + <ClCompile Include="libzip\zip_error_get.c" /> + <ClCompile Include="libzip\zip_error_get_sys_type.c" /> + <ClCompile Include="libzip\zip_error_strerror.c" /> + <ClCompile Include="libzip\zip_err_str.c" /> + <ClCompile Include="libzip\zip_extra_field.c" /> + <ClCompile Include="libzip\zip_extra_field_api.c" /> + <ClCompile Include="libzip\zip_fclose.c" /> + <ClCompile Include="libzip\zip_fdopen.c" /> + <ClCompile Include="libzip\zip_filerange_crc.c" /> + <ClCompile Include="libzip\zip_file_add.c" /> + <ClCompile Include="libzip\zip_file_error_clear.c" /> + <ClCompile Include="libzip\zip_file_error_get.c" /> + <ClCompile Include="libzip\zip_file_get_comment.c" /> + <ClCompile Include="libzip\zip_file_get_external_attributes.c" /> + <ClCompile Include="libzip\zip_file_get_offset.c" /> + <ClCompile Include="libzip\zip_file_rename.c" /> + <ClCompile Include="libzip\zip_file_replace.c" /> + <ClCompile Include="libzip\zip_file_set_comment.c" /> + <ClCompile Include="libzip\zip_file_set_external_attributes.c" /> + <ClCompile Include="libzip\zip_file_set_mtime.c" /> + <ClCompile Include="libzip\zip_file_strerror.c" /> + <ClCompile Include="libzip\zip_fopen.c" /> + <ClCompile Include="libzip\zip_fopen_encrypted.c" /> + <ClCompile Include="libzip\zip_fopen_index.c" /> + <ClCompile Include="libzip\zip_fopen_index_encrypted.c" /> + <ClCompile Include="libzip\zip_fread.c" /> + <ClCompile Include="libzip\zip_get_archive_comment.c" /> + <ClCompile Include="libzip\zip_get_archive_flag.c" /> + <ClCompile Include="libzip\zip_get_encryption_implementation.c" /> + <ClCompile Include="libzip\zip_get_file_comment.c" /> + <ClCompile Include="libzip\zip_get_name.c" /> + <ClCompile Include="libzip\zip_get_num_entries.c" /> + <ClCompile Include="libzip\zip_get_num_files.c" /> + <ClCompile Include="libzip\zip_hash.c" /> + <ClCompile Include="libzip\zip_io_util.c" /> + <ClCompile Include="libzip\zip_memdup.c" /> + <ClCompile Include="libzip\zip_name_locate.c" /> + <ClCompile Include="libzip\zip_new.c" /> + <ClCompile Include="libzip\zip_open.c" /> + <ClCompile Include="libzip\zip_pkware.c" /> + <ClCompile Include="libzip\zip_progress.c" /> + <ClCompile Include="libzip\zip_rename.c" /> + <ClCompile Include="libzip\zip_replace.c" /> + <ClCompile Include="libzip\zip_set_archive_comment.c" /> + <ClCompile Include="libzip\zip_set_archive_flag.c" /> + <ClCompile Include="libzip\zip_set_default_password.c" /> + <ClCompile Include="libzip\zip_set_file_comment.c" /> + <ClCompile Include="libzip\zip_set_file_compression.c" /> + <ClCompile Include="libzip\zip_set_name.c" /> + <ClCompile Include="libzip\zip_source_accept_empty.c" /> + <ClCompile Include="libzip\zip_source_begin_write.c" /> + <ClCompile Include="libzip\zip_source_begin_write_cloning.c" /> + <ClCompile Include="libzip\zip_source_buffer.c" /> + <ClCompile Include="libzip\zip_source_call.c" /> + <ClCompile Include="libzip\zip_source_close.c" /> + <ClCompile Include="libzip\zip_source_commit_write.c" /> + <ClCompile Include="libzip\zip_source_compress.c" /> + <ClCompile Include="libzip\zip_source_crc.c" /> + <ClCompile Include="libzip\zip_source_error.c" /> + <ClCompile Include="libzip\zip_source_file_common.c" /> + <ClCompile Include="libzip\zip_source_file_stdio.c" /> + <ClCompile Include="libzip\zip_source_file_win32.c" /> + <ClCompile Include="libzip\zip_source_file_win32_named.c" /> + <ClCompile Include="libzip\zip_source_file_win32_utf16.c" /> + <ClCompile Include="libzip\zip_source_file_win32_utf8.c" /> + <ClCompile Include="libzip\zip_source_free.c" /> + <ClCompile Include="libzip\zip_source_function.c" /> + <ClCompile Include="libzip\zip_source_get_file_attributes.c" /> + <ClCompile Include="libzip\zip_source_is_deleted.c" /> + <ClCompile Include="libzip\zip_source_layered.c" /> + <ClCompile Include="libzip\zip_source_open.c" /> + <ClCompile Include="libzip\zip_source_pkware_decode.c" /> + <ClCompile Include="libzip\zip_source_pkware_encode.c" /> + <ClCompile Include="libzip\zip_source_read.c" /> + <ClCompile Include="libzip\zip_source_remove.c" /> + <ClCompile Include="libzip\zip_source_rollback_write.c" /> + <ClCompile Include="libzip\zip_source_seek.c" /> + <ClCompile Include="libzip\zip_source_seek_write.c" /> + <ClCompile Include="libzip\zip_source_stat.c" /> + <ClCompile Include="libzip\zip_source_supports.c" /> + <ClCompile Include="libzip\zip_source_tell.c" /> + <ClCompile Include="libzip\zip_source_tell_write.c" /> + <ClCompile Include="libzip\zip_source_window.c" /> + <ClCompile Include="libzip\zip_source_write.c" /> + <ClCompile Include="libzip\zip_source_zip.c" /> + <ClCompile Include="libzip\zip_source_zip_new.c" /> + <ClCompile Include="libzip\zip_stat.c" /> + <ClCompile Include="libzip\zip_stat_index.c" /> + <ClCompile Include="libzip\zip_stat_init.c" /> + <ClCompile Include="libzip\zip_strerror.c" /> + <ClCompile Include="libzip\zip_string.c" /> + <ClCompile Include="libzip\zip_unchange.c" /> + <ClCompile Include="libzip\zip_unchange_all.c" /> + <ClCompile Include="libzip\zip_unchange_archive.c" /> + <ClCompile Include="libzip\zip_unchange_data.c" /> + <ClCompile Include="libzip\zip_utf-8.c" /> + <ClCompile Include="zlib\adler32.c" /> + <ClCompile Include="zlib\compress.c" /> + <ClCompile Include="zlib\crc32.c" /> + <ClCompile Include="zlib\deflate.c" /> + <ClCompile Include="zlib\inffast.c" /> + <ClCompile Include="zlib\inflate.c" /> + <ClCompile Include="zlib\inftrees.c" /> + <ClCompile Include="zlib\trees.c" /> + <ClCompile Include="zlib\uncompr.c" /> + <ClCompile Include="zlib\zutil.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="libzip\compat.h" /> + <ClInclude Include="libzip\config.h" /> + <ClInclude Include="libzip\zconf.h" /> + <ClInclude Include="libzip\zip.h" /> + <ClInclude Include="libzip\zipconf.h" /> + <ClInclude Include="libzip\zipint.h" /> + <ClInclude Include="libzip\zip_source_file.h" /> + <ClInclude Include="libzip\zip_source_file_stdio.h" /> + <ClInclude Include="libzip\zip_source_file_win32.h" /> + <ClInclude Include="zlib\crc32.h" /> + <ClInclude Include="zlib\deflate.h" /> + <ClInclude Include="zlib\inffast.h" /> + <ClInclude Include="zlib\inffixed.h" /> + <ClInclude Include="zlib\inflate.h" /> + <ClInclude Include="zlib\inftrees.h" /> + <ClInclude Include="zlib\trees.h" /> + <ClInclude Include="zlib\zconf.h" /> + <ClInclude Include="zlib\zlib.h" /> + <ClInclude Include="zlib\zutil.h" /> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{6316EE71-0210-4CA4-BCC7-CFB7A3C090FC}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>Zip</RootNamespace> + <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> + <ProjectName>Zip</ProjectName> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>v142</PlatformToolset> + <WholeProgramOptimization>false</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>v142</PlatformToolset> + <WholeProgramOptimization>false</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>v142</PlatformToolset> + <WholeProgramOptimization>false</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>false</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>v142</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>false</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>v142</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>false</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + <PlatformToolset>v142</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </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" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </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" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <OutDir>$(Platform)\$(Configuration)\</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <OutDir>$(Platform)\$(Configuration)\</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <OutDir>$(Configuration)\</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <OutDir>$(Platform)\$(Configuration)\</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <OutDir>$(Configuration)\</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <OutDir>$(Platform)\$(Configuration)\</OutDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>_CRT_NONSTDC_NO_WARNINGS;_LIB;WIN32;HAVE_CONFIG_H;ZIP_STATIC;DEBUG;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <AdditionalIncludeDirectories>zlib;libzip</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'"> + <ClCompile> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>_CRT_NONSTDC_NO_WARNINGS;_LIB;WIN32;HAVE_CONFIG_H;ZIP_STATIC;DEBUG;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <AdditionalIncludeDirectories>zlib;libzip</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>_CRT_NONSTDC_NO_WARNINGS;_LIB;WIN32;HAVE_CONFIG_H;ZIP_STATIC;DEBUG;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <AdditionalIncludeDirectories>zlib;libzip</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <PrecompiledHeader> + </PrecompiledHeader> + <Optimization>MaxSpeed</Optimization> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <PreprocessorDefinitions>_CRT_NONSTDC_NO_WARNINGS;_LIB;WIN32;HAVE_CONFIG_H;ZIP_STATIC;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <AdditionalIncludeDirectories>zlib;libzip</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <PrecompiledHeader> + </PrecompiledHeader> + <Optimization>MaxSpeed</Optimization> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <PreprocessorDefinitions>_CRT_NONSTDC_NO_WARNINGS;_LIB;WIN32;HAVE_CONFIG_H;ZIP_STATIC;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <AdditionalIncludeDirectories>zlib;libzip</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <PrecompiledHeader> + </PrecompiledHeader> + <Optimization>MaxSpeed</Optimization> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <PreprocessorDefinitions>_CRT_NONSTDC_NO_WARNINGS;_LIB;WIN32;HAVE_CONFIG_H;ZIP_STATIC;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <AdditionalIncludeDirectories>zlib;libzip</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/src/Common/Zip_vs2019.vcxproj.user b/src/Common/Zip_vs2019.vcxproj.user new file mode 100644 index 00000000..88a55094 --- /dev/null +++ b/src/Common/Zip_vs2019.vcxproj.user @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup /> +</Project>
\ No newline at end of file |