From 2acec63b2ed75bf4b71ad257db573c4b8f9639e7 Mon Sep 17 00:00:00 2001 From: tumagonx Date: Tue, 8 Aug 2017 10:54:53 +0700 Subject: initial commit --- symlink.h | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 symlink.h (limited to 'symlink.h') diff --git a/symlink.h b/symlink.h new file mode 100644 index 0000000..2a6abf9 --- /dev/null +++ b/symlink.h @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2004 Security Architects Corporation. All rights reserved. + * + * Module Name: + * + * symlink.h + * + * Abstract: + * + * This module defines various types used by symbolic link object hooking routines. + * + * Author: + * + * Eugene Tsyrklevich 25-Mar-2004 + * + * Revision History: + * + * None. + */ + + +#ifndef __SYMLINK_H__ +#define __SYMLINK_H__ + + +#include +#include "policy.h" +#include "pathproc.h" +#include "hookproc.h" +#include "accessmask.h" +#include "learn.h" +#include "log.h" + + +/* + * ZwCreateSymbolicLinkObject creates or opens a symbolic link object. [NAR] + */ + +typedef NTSTATUS (*fpZwCreateSymbolicLinkObject) ( + OUT PHANDLE SymbolicLinkHandle, + IN ACCESS_MASK DesiredAccess, + IN POBJECT_ATTRIBUTES ObjectAttributes, + IN PUNICODE_STRING TargetName + ); + +NTSTATUS +NTAPI +HookedNtCreateSymbolicLinkObject( + OUT PHANDLE SymbolicLinkHandle, + IN ACCESS_MASK DesiredAccess, + IN POBJECT_ATTRIBUTES ObjectAttributes, + IN PUNICODE_STRING TargetName + ); + + +/* + * ZwOpenSymbolicLinkObject opens a symbolic link object. [NAR] + */ + +typedef NTSTATUS (*fpZwOpenSymbolicLinkObject) ( + OUT PHANDLE SymbolicLinkHandle, + IN ACCESS_MASK DesiredAccess, + IN POBJECT_ATTRIBUTES ObjectAttributes + ); + +NTSTATUS +NTAPI +HookedNtOpenSymbolicLinkObject( + OUT PHANDLE SymbolicLinkHandle, + IN ACCESS_MASK DesiredAccess, + IN POBJECT_ATTRIBUTES ObjectAttributes + ); + + +BOOLEAN InitSymlinkHooks(); + + +#endif /* __SYMLINK_H__ */ -- cgit v1.3