diff --git a/HyperHide/HyperHide.vcxproj b/HyperHide/HyperHide.vcxproj
index fb7e5a2..a8d1e07 100644
--- a/HyperHide/HyperHide.vcxproj
+++ b/HyperHide/HyperHide.vcxproj
@@ -29,26 +29,26 @@
DynamicLibrary
true
- v142
+ v145
MultiByte
DynamicLibrary
false
- v142
+ v145
true
Unicode
DynamicLibrary
true
- v142
+ v145
Unicode
DynamicLibrary
false
- v142
+ v145
true
Unicode
diff --git a/HyperHideDrv/Hider.cpp b/HyperHideDrv/Hider.cpp
index 6369d7f..cbadc83 100644
--- a/HyperHideDrv/Hider.cpp
+++ b/HyperHideDrv/Hider.cpp
@@ -133,13 +133,13 @@ namespace Hider
HiddenThread = (PHIDDEN_THREAD)CONTAINING_RECORD(CurrentThread, HIDDEN_THREAD, HiddenThreadList);
CurrentThread = CurrentThread->Flink;
- if (HiddenThread->ThreadObject == ThreadObject)
- goto End;
- }
+ if (HiddenThread->ThreadObject == ThreadObject)
+ goto End;
+ }
- HiddenThread = (PHIDDEN_THREAD)ExAllocatePoolWithTag(NonPagedPool, sizeof(HIDDEN_THREAD), DRIVER_TAG);
- if (HiddenThread == NULL)
- return NULL;
+ HiddenThread = (PHIDDEN_THREAD)ExAllocatePool2(POOL_FLAG_NON_PAGED, sizeof(HIDDEN_THREAD), DRIVER_TAG);
+ if (HiddenThread == NULL)
+ return NULL;
RtlSecureZeroMemory(HiddenThread, sizeof(HIDDEN_THREAD));
HiddenThread->ThreadObject = ThreadObject;
@@ -325,7 +325,7 @@ namespace Hider
BOOLEAN CreateEntry(PEPROCESS DebuggerProcess, PEPROCESS DebuggedProcess)
{
- PHIDDEN_PROCESS HiddenProcess = (PHIDDEN_PROCESS)ExAllocatePoolWithTag(NonPagedPool, sizeof(HIDDEN_PROCESS), DRIVER_TAG);
+ PHIDDEN_PROCESS HiddenProcess = (PHIDDEN_PROCESS)ExAllocatePool2(POOL_FLAG_NON_PAGED, sizeof(HIDDEN_PROCESS), DRIVER_TAG);
if (HiddenProcess == NULL)
{
LogError("Allocation failed");
diff --git a/HyperHideDrv/HyperHideDrv.vcxproj b/HyperHideDrv/HyperHideDrv.vcxproj
index f72b049..2afb526 100644
--- a/HyperHideDrv/HyperHideDrv.vcxproj
+++ b/HyperHideDrv/HyperHideDrv.vcxproj
@@ -1,4 +1,4 @@
-
+
@@ -18,26 +18,26 @@
Debug
Win32
HyperHideDrv
- 10.0.19041.0
+ 10.0.26100.0
- Windows7
+ Windows10
true
WindowsKernelModeDriver10.0
Driver
KMDF
Desktop
- Spectre
+ SpectrefalseOff
- Windows7
+ Windows10
false
WindowsKernelModeDriver10.0
Driver
KMDF
Desktop
- Spectre
+ SpectrefalseOff
@@ -61,6 +61,7 @@
%(AdditionalDependencies);$(KernelBufferOverflowLib);$(DDK_LIB_PATH)ntoskrnl.lib;$(DDK_LIB_PATH)hal.lib;$(DDK_LIB_PATH)wmilib.lib;$(KMDF_LIB_PATH)$(KMDF_VER_PATH)\WdfLdr.lib;$(KMDF_LIB_PATH)$(KMDF_VER_PATH)\WdfDriverEntry.lib
+ false
MaxSpeed
Speed
false
@@ -69,6 +70,7 @@
4603;4627;4986;4987;%(DisableSpecificWarnings)
AnySuitable
true
+ false
@@ -77,27 +79,55 @@
/INTEGRITYCHECK %(AdditionalOptions)
+ false
false
stdcpp20
+ false
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
+
+ false
+
diff --git a/HyperHideDrv/Ntenums.h b/HyperHideDrv/Ntenums.h
index d0c326e..d270682 100644
--- a/HyperHideDrv/Ntenums.h
+++ b/HyperHideDrv/Ntenums.h
@@ -14,10 +14,8 @@ enum _LDR_DLL_LOAD_REASON
LoadReasonUnknown = -1
};
-typedef enum _PSCREATETHREADNOTIFYTYPE {
- PsCreateThreadNotifyNonSystem = 0,
- PsCreateThreadNotifySubsystems = 1
-} PSCREATETHREADNOTIFYTYPE;
+// _PSCREATETHREADNOTIFYTYPE is already defined in Windows 10 SDK
+// Removed duplicate definition to avoid C2011 error
enum SYSDBG_COMMAND
{
diff --git a/HyperHideDrv/Utils.cpp b/HyperHideDrv/Utils.cpp
index 46ebfaf..0615094 100644
--- a/HyperHideDrv/Utils.cpp
+++ b/HyperHideDrv/Utils.cpp
@@ -181,7 +181,7 @@ BOOLEAN GetProcessInfo(CONST CHAR* Name, ULONG64& ImageSize, PVOID& ImageBase)
{
ULONG Bytes;
NTSTATUS Status = ZwQuerySystemInformation(SystemModuleInformation, 0, 0, &Bytes);
- PSYSTEM_MODULE_INFORMATION Mods = (PSYSTEM_MODULE_INFORMATION)ExAllocatePoolWithTag(NonPagedPool, Bytes, DRIVER_TAG);
+ PSYSTEM_MODULE_INFORMATION Mods = (PSYSTEM_MODULE_INFORMATION)ExAllocatePool2(POOL_FLAG_NON_PAGED, Bytes, DRIVER_TAG);
if (Mods == NULL)
return FALSE;
@@ -224,7 +224,7 @@ PEPROCESS GetProcessByName(CONST WCHAR* ProcessName)
ULONG Bytes;
ZwQuerySystemInformation(SystemProcessInformation, NULL, NULL, &Bytes);
- PSYSTEM_PROCESS_INFO ProcInfo = (PSYSTEM_PROCESS_INFO)ExAllocatePoolWithTag(NonPagedPool, Bytes, DRIVER_TAG);
+ PSYSTEM_PROCESS_INFO ProcInfo = (PSYSTEM_PROCESS_INFO)ExAllocatePool2(POOL_FLAG_NON_PAGED, Bytes, DRIVER_TAG);
if (ProcInfo == NULL)
return NULL;
@@ -383,7 +383,7 @@ BOOLEAN ClearBypassProcessFreezeFlag(PEPROCESS TargetProcess)
}
ZwQuerySystemInformation(SystemProcessInformation, NULL, NULL, &Bytes);
- PSYSTEM_PROCESS_INFO ProcInfo = (PSYSTEM_PROCESS_INFO)ExAllocatePoolWithTag(NonPagedPool, Bytes, DRIVER_TAG);
+ PSYSTEM_PROCESS_INFO ProcInfo = (PSYSTEM_PROCESS_INFO)ExAllocatePool2(POOL_FLAG_NON_PAGED, Bytes, DRIVER_TAG);
if (ProcInfo == NULL)
return FALSE;
@@ -425,11 +425,11 @@ BOOLEAN ClearThreadHideFromDebuggerFlag(PEPROCESS TargetProcess)
ULONG Bytes;
ZwQuerySystemInformation(SystemProcessInformation, NULL, NULL, &Bytes);
- PSYSTEM_PROCESS_INFO ProcInfo = (PSYSTEM_PROCESS_INFO)ExAllocatePoolWithTag(NonPagedPool, Bytes, DRIVER_TAG);
+ PSYSTEM_PROCESS_INFO ProcInfo = (PSYSTEM_PROCESS_INFO)ExAllocatePool2(POOL_FLAG_NON_PAGED, Bytes, DRIVER_TAG);
if (ProcInfo == NULL)
return FALSE;
-
+
RtlSecureZeroMemory(ProcInfo, Bytes);
Status = ZwQuerySystemInformation(SystemProcessInformation, ProcInfo, Bytes, &Bytes);
@@ -529,7 +529,7 @@ BOOLEAN ClearThreadBreakOnTerminationFlags(PEPROCESS TargetProcess)
ULONG Bytes;
ZwQuerySystemInformation(SystemProcessInformation, NULL, NULL, &Bytes);
- PSYSTEM_PROCESS_INFO ProcInfo = (PSYSTEM_PROCESS_INFO)ExAllocatePoolWithTag(NonPagedPool, Bytes, DRIVER_TAG);
+ PSYSTEM_PROCESS_INFO ProcInfo = (PSYSTEM_PROCESS_INFO)ExAllocatePool2(POOL_FLAG_NON_PAGED, Bytes, DRIVER_TAG);
if (ProcInfo == NULL)
return FALSE;