Skip to content

Commit

Permalink
Update for WDK11
Browse files Browse the repository at this point in the history
  • Loading branch information
HoShiMin committed Feb 23, 2023
1 parent 2c4a661 commit c0c80a1
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 26 deletions.
28 changes: 22 additions & 6 deletions HookLib/HookLib.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@
<ProjectGuid>{9379F9BC-7829-45D8-B339-90F6504FDF2B}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>HookLib</RootNamespace>
<WindowsTargetPlatformVersion>$([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0'))</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>$(LatestTargetPlatformVersion)</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Kernel|Win32'" Label="Configuration">
Expand All @@ -62,7 +62,7 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
Expand All @@ -81,15 +81,15 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Kernel|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<TargetVersion>Windows7</TargetVersion>
<TargetVersion>Windows10</TargetVersion>
<DriverTargetPlatform>Desktop</DriverTargetPlatform>
<SupportsPackaging>false</SupportsPackaging>
<DriverType>WDM</DriverType>
Expand All @@ -98,7 +98,7 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
Expand Down Expand Up @@ -158,41 +158,49 @@
<LinkIncremental>true</LinkIncremental>
<IntDir>obj\$(ProjectName)-$(Platform)-$(Configuration)\</IntDir>
<OutDir>bin\Um\x32\Debug\</OutDir>
<PublicIncludeDirectories>.\Zydis\dependencies\zycore\include;.\Zydis\include;.\Zydis\msvc;.\HookLib</PublicIncludeDirectories>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Kernel|Win32'">
<LinkIncremental>true</LinkIncremental>
<IntDir>obj\$(ProjectName)-$(Platform)-$(Configuration)\</IntDir>
<OutDir>bin\Km\x32\Debug\</OutDir>
<PublicIncludeDirectories>.\Zydis\dependencies\zycore\include;.\Zydis\include;.\Zydis\msvc;.\HookLib</PublicIncludeDirectories>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>bin\Um\x64\Debug\</OutDir>
<IntDir>obj\$(ProjectName)-$(Platform)-$(Configuration)\</IntDir>
<PublicIncludeDirectories>.\Zydis\dependencies\zycore\include;.\Zydis\include;.\Zydis\msvc;.\HookLib</PublicIncludeDirectories>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Kernel|x64'">
<LinkIncremental>true</LinkIncremental>
<IntDir>obj\$(ProjectName)-$(Platform)-$(Configuration)\</IntDir>
<OutDir>bin\Km\x64\Debug\</OutDir>
<PublicIncludeDirectories>.\Zydis\dependencies\zycore\include;.\Zydis\include;.\Zydis\msvc;.\HookLib</PublicIncludeDirectories>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<IntDir>obj\$(ProjectName)-$(Platform)-$(Configuration)\</IntDir>
<OutDir>bin\Um\x32\Release\</OutDir>
<PublicIncludeDirectories>.\Zydis\dependencies\zycore\include;.\Zydis\include;.\Zydis\msvc;.\HookLib</PublicIncludeDirectories>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Kernel|Win32'">
<LinkIncremental>false</LinkIncremental>
<IntDir>obj\$(ProjectName)-$(Platform)-$(Configuration)\</IntDir>
<OutDir>bin\Km\x32\Release\</OutDir>
<PublicIncludeDirectories>.\Zydis\dependencies\zycore\include;.\Zydis\include;.\Zydis\msvc;.\HookLib</PublicIncludeDirectories>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<IntDir>obj\$(ProjectName)-$(Platform)-$(Configuration)\</IntDir>
<OutDir>bin\Um\x64\Release\</OutDir>
<PublicIncludeDirectories>.\Zydis\dependencies\zycore\include;.\Zydis\include;.\Zydis\msvc;.\HookLib</PublicIncludeDirectories>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Kernel|x64'">
<LinkIncremental>false</LinkIncremental>
<IntDir>obj\$(ProjectName)-$(Platform)-$(Configuration)\</IntDir>
<OutDir>bin\Km\x64\Release\</OutDir>
<PublicIncludeDirectories>.\Zydis\dependencies\zycore\include;.\Zydis\include;.\Zydis\msvc;.\HookLib</PublicIncludeDirectories>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Kernel HookLib1|x64'">
<LinkIncremental>false</LinkIncremental>
Expand All @@ -213,6 +221,7 @@
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<TreatWarningAsError>true</TreatWarningAsError>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -234,6 +243,7 @@
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
<IntrinsicFunctions>false</IntrinsicFunctions>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -256,6 +266,7 @@
<OmitFramePointers>false</OmitFramePointers>
<TreatWarningAsError>true</TreatWarningAsError>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -277,6 +288,7 @@
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
<IntrinsicFunctions>false</IntrinsicFunctions>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -300,6 +312,7 @@
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<TreatWarningAsError>true</TreatWarningAsError>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -324,6 +337,7 @@
<AdditionalIncludeDirectories>.\Zydis\include;.\Zydis\msvc;.\Zydis\dependencies\zycore\include;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -350,6 +364,7 @@
<OmitFramePointers>false</OmitFramePointers>
<TreatWarningAsError>true</TreatWarningAsError>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand All @@ -374,6 +389,7 @@
<AdditionalIncludeDirectories>.\Zydis\include;.\Zydis\msvc;.\Zydis\dependencies\zycore\include;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
Expand Down
4 changes: 4 additions & 0 deletions HookLib/HookLib/HookLib.c
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,11 @@ static const unsigned int k_poolTag = 'kooH';

static void* allocKernel(size_t size)
{
#if (NTDDI_VERSION >= NTDDI_WIN10_VB)
void* const buf = ExAllocatePool2(POOL_FLAG_NON_PAGED_EXECUTE, size, k_poolTag);
#else
void* const buf = ExAllocatePoolWithTag(NonPagedPool, size, k_poolTag); // Always RWX
#endif
if (buf)
{
memset(buf, 0, size);
Expand Down
16 changes: 8 additions & 8 deletions HookLibDrvTests/HookLibDrvTests.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -29,31 +29,31 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<TargetVersion>Windows7</TargetVersion>
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
<DriverType>WDM</DriverType>
<Driver_SpectreMitigation>false</Driver_SpectreMitigation>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<TargetVersion>Windows7</TargetVersion>
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
<DriverType>WDM</DriverType>
<Driver_SpectreMitigation>false</Driver_SpectreMitigation>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<TargetVersion>Windows7</TargetVersion>
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
<DriverType>WDM</DriverType>
<Driver_SpectreMitigation>false</Driver_SpectreMitigation>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<TargetVersion>Windows7</TargetVersion>
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
Expand Down Expand Up @@ -97,7 +97,6 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<LanguageStandard>stdcpplatest</LanguageStandard>
<LanguageStandard_C>stdc17</LanguageStandard_C>
<AdditionalIncludeDirectories>..\HookLib\HookLib;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
Expand All @@ -118,7 +117,6 @@
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalOptions>/Ob3 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>..\HookLib\HookLib;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
Expand All @@ -134,8 +132,11 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<LanguageStandard>stdcpplatest</LanguageStandard>
<LanguageStandard_C>stdc17</LanguageStandard_C>
<AdditionalIncludeDirectories>..\HookLib\HookLib;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<DriverSign>
Expand All @@ -155,7 +156,6 @@
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalOptions>/Ob3 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>..\HookLib\HookLib;$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
Expand Down
4 changes: 3 additions & 1 deletion HookLibTests/HookLibTests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

#include <string>

constexpr bool k_testKernelMode = false;
constexpr bool k_testKernelMode = true;

namespace
{
Expand Down Expand Up @@ -206,9 +206,11 @@ void testContextsFixup()

void driverTestKernelHooks(HANDLE hDev)
{
begin_test;
unsigned long returned = 0;
const bool testStatus = !!DeviceIoControl(hDev, CTL_CODE(0x8000, 0x800, METHOD_NEITHER, FILE_ANY_ACCESS), nullptr, 0, nullptr, 0, &returned, nullptr);
hk_assert(testStatus);
end_test;
}

void driverTestUserHooks(HANDLE hDev)
Expand Down
23 changes: 12 additions & 11 deletions HookLibTests/HookLibTests.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -29,26 +29,26 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
Expand Down Expand Up @@ -96,7 +96,8 @@
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<LanguageStandard>stdcpplatest</LanguageStandard>
<AdditionalIncludeDirectories>..\HookLib\HookLib</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>
</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
Expand All @@ -117,7 +118,8 @@
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<LanguageStandard>stdcpplatest</LanguageStandard>
<AdditionalIncludeDirectories>..\HookLib\HookLib</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>
</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
Expand All @@ -138,7 +140,8 @@
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<LanguageStandard>stdcpplatest</LanguageStandard>
<AdditionalIncludeDirectories>..\HookLib\HookLib</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>
</AdditionalIncludeDirectories>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
Expand All @@ -163,7 +166,8 @@
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<LanguageStandard>stdcpplatest</LanguageStandard>
<AdditionalIncludeDirectories>..\HookLib\HookLib</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>
</AdditionalIncludeDirectories>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>false</OmitFramePointers>
Expand All @@ -187,9 +191,6 @@
<UseLibraryDependencyInputs>true</UseLibraryDependencyInputs>
<CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
</ProjectReference>
<ProjectReference Include="..\HookLib\Zydis\msvc\zydis\Zydis.vcxproj">
<Project>{88a23124-5640-35a0-b890-311d7a67a7d2}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\HookLib\HookLib\HookLib.h" />
Expand Down

0 comments on commit c0c80a1

Please sign in to comment.