mirror of
https://github.com/mrexodia/TitanHide
synced 2026-08-13 04:23:04 -04:00
Fix Driver Verifier violation
GetProcessIDFromProcessHandle was calling ZwQIP instead of NtQIP, which causes a violation when non-kernel handles are passed to ObReferenceObjectByHandle inside ZwQIP Also remove unused GetProcessIDFromThreadHandle function
This commit is contained in:
parent
2d927be5f8
commit
dcaceb90ba
1 changed files with 2 additions and 20 deletions
|
|
@ -4,26 +4,8 @@
|
|||
ULONG Misc::GetProcessIDFromProcessHandle(HANDLE ProcessHandle)
|
||||
{
|
||||
PROCESS_BASIC_INFORMATION PBI;
|
||||
if(NT_SUCCESS(Undocumented::ZwQueryInformationProcess(ProcessHandle, ProcessBasicInformation, &PBI, sizeof(PBI), NULL)))
|
||||
if(NT_SUCCESS(Undocumented::NtQueryInformationProcess(ProcessHandle, ProcessBasicInformation, &PBI, sizeof(PBI), NULL)))
|
||||
return (ULONG)PBI.UniqueProcessId;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
ULONG Misc::GetProcessIDFromThreadHandle(HANDLE ThreadHandle)
|
||||
{
|
||||
typedef struct _THREAD_BASIC_INFORMATION
|
||||
{
|
||||
NTSTATUS ExitStatus;
|
||||
PVOID TebBaseAddress;
|
||||
CLIENT_ID ClientId;
|
||||
KAFFINITY AffinityMask;
|
||||
KPRIORITY Priority;
|
||||
KPRIORITY BasePriority;
|
||||
} THREAD_BASIC_INFORMATION, *PTHREAD_BASIC_INFORMATION;
|
||||
THREAD_BASIC_INFORMATION TBI;
|
||||
if(NT_SUCCESS(Undocumented::ZwQueryInformationThread(ThreadHandle, ThreadBasicInformation, &TBI, sizeof(TBI), NULL)))
|
||||
return (ULONG)(ULONG_PTR)TBI.ClientId.UniqueProcess;
|
||||
else
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue