HyperDbg/hyperdbg/hyperkd/hyperkd.vcxproj
Max Raulea 2f59ad7c70 Kernel Module now Links and compiles!!
The kernel module now links and compiles, there are still a lot of empty
TODOs left, there are empty stubs for hypertrace, assembly files and
kdserial etc. these can be introduced one by one. My first step will be
loading the kernel module from the userspace cli.

Big step forward! :)
2026-08-24 11:20:24 +02:00

242 lines
No EOL
16 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.Windows.SDK.CPP.x64.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.x64.props" Condition="Exists('..\packages\Microsoft.Windows.SDK.CPP.x64.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.x64.props')" />
<Import Project="..\packages\Microsoft.Windows.SDK.CPP.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.props" Condition="Exists('..\packages\Microsoft.Windows.SDK.CPP.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.props')" />
<Import Project="..\packages\Microsoft.Windows.WDK.x64.10.0.28000.1839\build\native\Microsoft.Windows.WDK.x64.props" Condition="Exists('..\packages\Microsoft.Windows.WDK.x64.10.0.28000.1839\build\native\Microsoft.Windows.WDK.x64.props')" />
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug|x64">
<Configuration>debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release|x64">
<Configuration>release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{AFDD7028-1ED9-442E-8A3D-01CFA3AA1CAA}</ProjectGuid>
<TemplateGuid>{1bc93793-694f-48fe-9372-81e2b05556fd}</TemplateGuid>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
<Configuration>Debug</Configuration>
<Platform Condition="'$(Platform)' == ''">x64</Platform>
<RootNamespace>hyperkd</RootNamespace>
<WindowsTargetPlatformVersion>$(LatestTargetPlatformVersion)</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'" Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
<DriverType>KMDF</DriverType>
<DriverTargetPlatform>Desktop</DriverTargetPlatform>
<Driver_SpectreMitigation>false</Driver_SpectreMitigation>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'" Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
<DriverType>KMDF</DriverType>
<DriverTargetPlatform>Desktop</DriverTargetPlatform>
<Driver_SpectreMitigation>false</Driver_SpectreMitigation>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup 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 />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
<OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
<Inf2CatUseLocalTime>
</Inf2CatUseLocalTime>
<EnableInf2cat>false</EnableInf2cat>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
<OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
<Inf2CatUseLocalTime>
</Inf2CatUseLocalTime>
<EnableInf2cat>false</EnableInf2cat>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
<DriverSign>
<FileDigestAlgorithm>sha256</FileDigestAlgorithm>
</DriverSign>
<ClCompile>
<AdditionalIncludeDirectories>$(SolutionDir)\include;$(ProjectDir)header;$(ProjectDir)code;$(ProjectDir);$(SolutionDir)dependencies;$(SolutionDir)\script-eval;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ClCompile>
<TreatWarningAsError>true</TreatWarningAsError>
<PrecompiledHeader>Create</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<LanguageStandard>stdcpp20</LanguageStandard>
</ClCompile>
<Link>
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
<EntryPointSymbol>DriverEntry</EntryPointSymbol>
<AdditionalDependencies>$(SolutionDir)build\bin\$(Configuration)\hyperlog.lib;$(SolutionDir)build\bin\$(Configuration)\hyperhv.lib;$(SolutionDir)build\bin\$(Configuration)\kdserial.lib;$(SolutionDir)build\bin\$(Configuration)\hypertrace.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
<DriverSign>
<FileDigestAlgorithm>sha256</FileDigestAlgorithm>
</DriverSign>
<ClCompile>
<AdditionalIncludeDirectories>$(SolutionDir)\include;$(ProjectDir)header;$(ProjectDir)code;$(ProjectDir);$(SolutionDir)dependencies;$(SolutionDir)\script-eval;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ClCompile>
<TreatWarningAsError>true</TreatWarningAsError>
<PrecompiledHeader>Create</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<LanguageStandard>stdcpp20</LanguageStandard>
<Optimization>Full</Optimization>
</ClCompile>
<Link>
<TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
<EntryPointSymbol>DriverEntry</EntryPointSymbol>
<AdditionalDependencies>$(SolutionDir)build\bin\$(Configuration)\hyperlog.lib;$(SolutionDir)build\bin\$(Configuration)\hyperhv.lib;$(SolutionDir)build\bin\$(Configuration)\kdserial.lib;$(SolutionDir)build\bin\$(Configuration)\hypertrace.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<FilesToPackage Include="$(TargetPath)" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\include\components\optimizations\code\AvlTree.c" />
<ClCompile Include="..\include\components\optimizations\code\BinarySearch.c" />
<ClCompile Include="..\include\components\optimizations\code\InsertionSort.c" />
<ClCompile Include="..\include\components\optimizations\code\OptimizationsExamples.c" />
<ClCompile Include="..\include\components\spinlock\code\Spinlock.c" />
<ClCompile Include="..\include\platform\kernel\code\PlatformBroadcast.c" />
<ClCompile Include="..\include\platform\kernel\code\PlatformCpu.c" />
<ClCompile Include="..\include\platform\kernel\code\PlatformIntrinsics.c" />
<ClCompile Include="..\include\platform\kernel\code\PlatformMem.c" />
<ClCompile Include="..\include\platform\kernel\code\PlatformTime.c" />
<ClCompile Include="..\include\platform\kernel\code\PlatformEvent.c" />
<ClCompile Include="..\include\platform\kernel\code\PlatformDpc.c" />
<ClCompile Include="..\include\platform\kernel\code\PlatformDbg.c" />
<ClCompile Include="..\include\platform\kernel\code\PlatformProcess.c" />
<ClCompile Include="..\include\platform\kernel\code\PlatformStr.c" />
<ClCompile Include="..\include\platform\kernel\code\PlatformIo.c" />
<ClCompile Include="..\script-eval\code\Functions.c" />
<ClCompile Include="..\script-eval\code\Keywords.c" />
<ClCompile Include="..\script-eval\code\PseudoRegisters.c" />
<ClCompile Include="..\script-eval\code\Regs.c" />
<ClCompile Include="..\script-eval\code\ScriptEngineEval.c" />
<ClCompile Include="code\common\Common.c" />
<ClCompile Include="code\common\Synchronization.c" />
<ClCompile Include="code\debugger\broadcast\DpcRoutines.c" />
<ClCompile Include="code\debugger\broadcast\HaltedBroadcast.c" />
<ClCompile Include="code\debugger\broadcast\HaltedRoutines.c" />
<ClCompile Include="code\debugger\commands\BreakpointCommands.c" />
<ClCompile Include="code\debugger\commands\Callstack.c" />
<ClCompile Include="code\debugger\commands\DebuggerCommands.c" />
<ClCompile Include="code\debugger\commands\ExtensionCommands.c" />
<ClCompile Include="code\debugger\communication\SerialConnection.c" />
<ClCompile Include="code\debugger\core\Debugger.c" />
<ClCompile Include="code\debugger\core\DebuggerVmcalls.c" />
<ClCompile Include="code\debugger\core\HaltedCore.c" />
<ClCompile Include="code\debugger\events\ApplyEvents.c" />
<ClCompile Include="code\debugger\events\DebuggerEvents.c" />
<ClCompile Include="code\debugger\events\Termination.c" />
<ClCompile Include="code\debugger\events\ValidateEvents.c" />
<ClCompile Include="code\debugger\kernel-level\Kd.c" />
<ClCompile Include="code\debugger\memory\Allocations.c" />
<ClCompile Include="code\debugger\memory\PoolManager.c" />
<ClCompile Include="code\debugger\meta-events\MetaDispatch.c" />
<ClCompile Include="code\debugger\meta-events\Tracing.c" />
<ClCompile Include="code\debugger\objects\Process.c" />
<ClCompile Include="code\debugger\objects\Thread.c" />
<ClCompile Include="code\debugger\script-engine\ScriptEngine.c" />
<ClCompile Include="code\debugger\tests\KernelTests.c" />
<ClCompile Include="code\debugger\user-level\Attaching.c" />
<ClCompile Include="code\debugger\user-level\ThreadHolder.c" />
<ClCompile Include="code\debugger\user-level\Ud.c" />
<ClCompile Include="code\debugger\user-level\UserAccess.c" />
<ClCompile Include="code\driver\Driver.c" />
<ClCompile Include="code\driver\Ioctl.c" />
<ClCompile Include="code\driver\Loader.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\include\components\optimizations\header\AvlTree.h" />
<ClInclude Include="..\include\components\optimizations\header\BinarySearch.h" />
<ClInclude Include="..\include\components\optimizations\header\InsertionSort.h" />
<ClInclude Include="..\include\components\optimizations\header\OptimizationsExamples.h" />
<ClInclude Include="..\include\components\spinlock\header\Spinlock.h" />
<ClInclude Include="..\include\macros\MetaMacros.h" />
<ClInclude Include="..\include\platform\kernel\header\PlatformBroadcast.h" />
<ClInclude Include="..\include\platform\kernel\header\PlatformCpu.h" />
<ClInclude Include="..\include\platform\kernel\header\PlatformIntrinsics.h" />
<ClInclude Include="..\include\platform\kernel\header\PlatformMem.h" />
<ClInclude Include="..\include\platform\kernel\header\PlatformTime.h" />
<ClInclude Include="..\include\platform\kernel\header\PlatformEvent.h" />
<ClInclude Include="..\include\platform\kernel\header\PlatformDpc.h" />
<ClInclude Include="..\include\platform\kernel\header\PlatformDbg.h" />
<ClInclude Include="..\include\platform\kernel\header\PlatformProcess.h" />
<ClInclude Include="..\include\platform\kernel\header\PlatformStr.h" />
<ClInclude Include="..\include\platform\kernel\header\PlatformIo.h" />
<ClInclude Include="header\assembly\Assembly.h" />
<ClInclude Include="header\common\Common.h" />
<ClInclude Include="header\common\Synchronization.h" />
<ClInclude Include="header\debugger\broadcast\DpcRoutines.h" />
<ClInclude Include="header\debugger\broadcast\HaltedBroadcast.h" />
<ClInclude Include="header\debugger\broadcast\HaltedRoutines.h" />
<ClInclude Include="header\debugger\commands\BreakpointCommands.h" />
<ClInclude Include="header\debugger\commands\Callstack.h" />
<ClInclude Include="header\debugger\commands\DebuggerCommands.h" />
<ClInclude Include="header\debugger\commands\ExtensionCommands.h" />
<ClInclude Include="header\debugger\communication\SerialConnection.h" />
<ClInclude Include="header\debugger\core\Debugger.h" />
<ClInclude Include="header\debugger\core\DebuggerVmcalls.h" />
<ClInclude Include="header\debugger\core\HaltedCore.h" />
<ClInclude Include="header\debugger\core\State.h" />
<ClInclude Include="header\debugger\events\ApplyEvents.h" />
<ClInclude Include="header\debugger\events\DebuggerEvents.h" />
<ClInclude Include="header\debugger\events\Termination.h" />
<ClInclude Include="header\debugger\events\ValidateEvents.h" />
<ClInclude Include="header\debugger\kernel-level\Kd.h" />
<ClInclude Include="header\debugger\memory\Allocations.h" />
<ClInclude Include="header\debugger\memory\Memory.h" />
<ClInclude Include="header\debugger\memory\PoolManager.h" />
<ClInclude Include="header\debugger\meta-events\MetaDispatch.h" />
<ClInclude Include="header\debugger\meta-events\Tracing.h" />
<ClInclude Include="header\debugger\objects\Process.h" />
<ClInclude Include="header\debugger\objects\Thread.h" />
<ClInclude Include="header\debugger\script-engine\ScriptEngine.h" />
<ClInclude Include="header\debugger\tests\KernelTests.h" />
<ClInclude Include="header\debugger\user-level\Attaching.h" />
<ClInclude Include="header\debugger\user-level\ThreadHolder.h" />
<ClInclude Include="header\debugger\user-level\Ud.h" />
<ClInclude Include="header\debugger\user-level\UserAccess.h" />
<ClInclude Include="header\driver\Driver.h" />
<ClInclude Include="header\driver\Loader.h" />
<ClInclude Include="header\globals\Global.h" />
<ClInclude Include="header\pch.h" />
</ItemGroup>
<ItemGroup>
<MASM Include="code\assembly\AsmDebugger.asm" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="..\packages\Microsoft.Windows.SDK.CPP.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.targets" Condition="Exists('..\packages\Microsoft.Windows.SDK.CPP.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.targets')" />
</ImportGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.Windows.WDK.x64.10.0.28000.1839\build\native\Microsoft.Windows.WDK.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Windows.WDK.x64.10.0.28000.1839\build\native\Microsoft.Windows.WDK.x64.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.Windows.SDK.CPP.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Windows.SDK.CPP.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.Windows.SDK.CPP.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Windows.SDK.CPP.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.Windows.SDK.CPP.x64.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.x64.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Windows.SDK.CPP.x64.10.0.28000.1839\build\native\Microsoft.Windows.SDK.cpp.x64.props'))" />
</Target>
</Project>