From 2acec63b2ed75bf4b71ad257db573c4b8f9639e7 Mon Sep 17 00:00:00 2001 From: tumagonx Date: Tue, 8 Aug 2017 10:54:53 +0700 Subject: initial commit --- semaphore.h | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 semaphore.h (limited to 'semaphore.h') diff --git a/semaphore.h b/semaphore.h new file mode 100644 index 0000000..856095a --- /dev/null +++ b/semaphore.h @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2004 Security Architects Corporation. All rights reserved. + * + * Module Name: + * + * semaphore.h + * + * Abstract: + * + * This module defines various types used by semaphore hooking routines. + * + * Author: + * + * Eugene Tsyrklevich 09-Mar-2004 + * + * Revision History: + * + * None. + */ + + +#ifndef __SEMAPHORE_H__ +#define __SEMAPHORE_H__ + + + +/* + * ZwCreateSemaphore creates or opens a semaphore object. [NAR] + */ + +typedef NTSTATUS (*fpZwCreateSemaphore) ( + OUT PHANDLE SemaphoreHandle, + IN ACCESS_MASK DesiredAccess, + IN POBJECT_ATTRIBUTES ObjectAttributes, + IN LONG InitialCount, + IN LONG MaximumCount + ); + +NTSTATUS HookedNtCreateSemaphore( + OUT PHANDLE SemaphoreHandle, + IN ACCESS_MASK DesiredAccess, + IN POBJECT_ATTRIBUTES ObjectAttributes, + IN LONG InitialCount, + IN LONG MaximumCount + ); + + +/* + * ZwOpenSemaphore opens a semaphore object. [NAR] + */ + +typedef NTSTATUS (*fpZwOpenSemaphore) ( + OUT PHANDLE SemaphoreHandle, + IN ACCESS_MASK DesiredAccess, + IN POBJECT_ATTRIBUTES ObjectAttributes + ); + +NTSTATUS HookedNtOpenSemaphore( + OUT PHANDLE SemaphoreHandle, + IN ACCESS_MASK DesiredAccess, + IN POBJECT_ATTRIBUTES ObjectAttributes + ); + + + +BOOLEAN InitSemaphoreHooks(); + + +#endif /* __SEMAPHORE_H__ */ -- cgit v1.3