📄 registry.h
字号:
/*
* Copyright (c) 2004 Security Architects Corporation. All rights reserved.
*
* Module Name:
*
* registry.h
*
* Abstract:
*
* This module defines various types used by registry hooking routines.
*
* Author:
*
* Eugene Tsyrklevich 20-Feb-2004
*
* Revision History:
*
* None.
*/
#ifndef __REGISTRY_H__
#define __REGISTRY_H__
/*
* ZwCreateKey creates or opens a registry key object. [NAR]
*/
typedef NTSTATUS (*fpZwCreateKey) (
OUT PHANDLE KeyHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN ULONG TitleIndex,
IN PUNICODE_STRING Class OPTIONAL,
IN ULONG CreateOptions,
OUT PULONG Disposition OPTIONAL
);
NTSTATUS
NTAPI
HookedNtCreateKey(
OUT PHANDLE KeyHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN ULONG TitleIndex,
IN PUNICODE_STRING Class OPTIONAL,
IN ULONG CreateOptions,
OUT PULONG Disposition OPTIONAL
);
/*
* ZwOpenKey opens a registry key object. [NAR]
*/
typedef NTSTATUS (*fpZwOpenKey) (
OUT PHANDLE KeyHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes
);
NTSTATUS
NTAPI
HookedNtOpenKey(
OUT PHANDLE KeyHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes
);
/*
* ZwSetValueKey updates or adds a value to a key. [NAR]
*/
typedef NTSTATUS (*fpZwSetValueKey) (
IN HANDLE KeyHandle,
IN PUNICODE_STRING ValueName,
IN ULONG TitleIndex,
IN ULONG Type,
IN PVOID Data,
IN ULONG DataSize
);
NTSTATUS
NTAPI
HookedNtSetValueKey(
IN HANDLE KeyHandle,
IN PUNICODE_STRING ValueName,
IN ULONG TitleIndex,
IN ULONG Type,
IN PVOID Data,
IN ULONG DataSize
);
/*
* ZwQueryValueKey retrieves information about a key value. [NAR]
*/
typedef NTSTATUS (*fpZwQueryValueKey) (
IN HANDLE KeyHandle,
IN PUNICODE_STRING ValueName,
IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
OUT PVOID KeyValueInformation,
IN ULONG KeyValueInformationLength,
OUT PULONG ResultLength
);
NTSTATUS
NTAPI
HookedNtQueryValueKey(
IN HANDLE KeyHandle,
IN PUNICODE_STRING ValueName,
IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
OUT PVOID KeyValueInformation,
IN ULONG KeyValueInformationLength,
OUT PULONG ResultLength
);
/*
* ZwDeleteKey deletes a key in the registry. [NAR]
*/
typedef NTSTATUS (*fpZwDeleteKey) (
IN HANDLE KeyHandle
);
NTSTATUS
NTAPI
HookedNtDeleteKey(
IN HANDLE KeyHandle
);
BOOLEAN InitRegistryHooks();
#endif /* __REGISTRY_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -