1# Copyright (c) 2017, The MITRE Corporation. All rights reserved.
2# See LICENSE.txt for complete terms.
3
4from mixbox import fields
5
6import cybox.bindings.win_kernel_hook_object as win_kernel_hook_binding
7from cybox.common import (DigitalSignature, ObjectProperties, String,
8        UnsignedLong)
9
10
11class WinKernelHook(ObjectProperties):
12    _binding = win_kernel_hook_binding
13    _binding_class = win_kernel_hook_binding.WindowsKernelHookObjectType
14    _namespace = "http://cybox.mitre.org/objects#WinKernelHookObject-2"
15    _XSI_NS = "WinKernelHookObj"
16    _XSI_TYPE = "WindowsKernelHookObjectType"
17
18    digital_signature_hooking = fields.TypedField("Digital_Signature_Hooking", DigitalSignature)
19    digital_signature_hooked = fields.TypedField("Digital_Signature_Hooked", DigitalSignature)
20    hooking_address = fields.TypedField("Hooking_Address", UnsignedLong)
21    hook_description = fields.TypedField("Hook_Description", String)
22    hooked_function = fields.TypedField("Hooked_Function", String)
23    hooked_module = fields.TypedField("Hooked_Module", String)
24    hooking_module = fields.TypedField("Hooking_Module", String)
25    type_ = fields.TypedField("Type", String)
26