HyperDbg Debugger
|
Message logging and tracing implementation. More...
#include "pch.h"
Functions | |
BOOLEAN | LogCheckVmxOperation () |
Checks whether the message tracing operates on vmx-root mode or not. | |
BOOLEAN | LogCheckImmediateSend (UINT32 OperationCode) |
Checks whether the immediate sending is needed or not. | |
BOOLEAN | LogSendImmediateMessage (CHAR *OptionalBuffer, UINT32 OptionalBufferLength, UINT32 OperationCode) |
Checks whether the immediate sending is needed or not. | |
BOOLEAN | LogInitialize (MESSAGE_TRACING_CALLBACKS *MsgTracingCallbacks) |
Initialize the buffer relating to log message tracing. | |
VOID | LogUnInitialize () |
Uninitialize the buffer relating to log message tracing. | |
BOOLEAN | LogCallbackCheckIfBufferIsFull (BOOLEAN Priority) |
Checks whether the priority or regular buffer is full or not. | |
_Use_decl_annotations_ BOOLEAN | LogCallbackSendBuffer (UINT32 OperationCode, PVOID Buffer, UINT32 BufferLength, BOOLEAN Priority) |
Save buffer to the pool. | |
UINT32 | LogMarkAllAsRead (BOOLEAN IsVmxRoot) |
Mark all buffers as read. | |
BOOLEAN | LogReadBuffer (BOOLEAN IsVmxRoot, PVOID BufferToSaveMessage, UINT32 *ReturnedLength) |
Attempt to read the buffer. | |
BOOLEAN | LogCheckForNewMessage (BOOLEAN IsVmxRoot, BOOLEAN Priority) |
Check if new message is available or not. | |
BOOLEAN | LogCallbackPrepareAndSendMessageToQueueWrapper (UINT32 OperationCode, BOOLEAN IsImmediateMessage, BOOLEAN ShowCurrentSystemTime, BOOLEAN Priority, const char *Fmt, va_list ArgList) |
Prepare a printf-style message mapping and send string messages and tracing for logging and monitoring. | |
BOOLEAN | LogCallbackPrepareAndSendMessageToQueue (UINT32 OperationCode, BOOLEAN IsImmediateMessage, BOOLEAN ShowCurrentSystemTime, BOOLEAN Priority, const char *Fmt,...) |
Prepare a printf-style message mapping and send string messages and tracing for logging and monitoring. | |
BOOLEAN | LogCallbackSendMessageToQueue (UINT32 OperationCode, BOOLEAN IsImmediateMessage, CHAR *LogMessage, UINT32 BufferLen, BOOLEAN Priority) |
Send string messages and tracing for logging and monitoring. | |
VOID | LogNotifyUsermodeCallback (PKDPC Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Complete the IRP in IRP Pending state and fill the usermode buffers with pool data. | |
BOOLEAN | LogRegisterIrpBasedNotification (PVOID TargetIrp, LONG *Status) |
Register a new IRP Pending thread which listens for new buffers. | |
BOOLEAN | LogRegisterEventBasedNotification (PVOID TargetIrp) |
Create an event-based usermode notifying mechanism. | |
Message logging and tracing implementation.
Checks whether the priority or regular buffer is full or not.
routines callback for checking if buffer is full
Priority | Whether the buffer has priority |
BOOLEAN LogCallbackPrepareAndSendMessageToQueue | ( | UINT32 | OperationCode, |
BOOLEAN | IsImmediateMessage, | ||
BOOLEAN | ShowCurrentSystemTime, | ||
BOOLEAN | Priority, | ||
const char * | Fmt, | ||
... ) |
Prepare a printf-style message mapping and send string messages and tracing for logging and monitoring.
routines callback for preparing and sending message to queue
OperationCode | Optional operation code |
IsImmediateMessage | Should be sent immediately |
ShowCurrentSystemTime | Show system-time |
Priority | Whether the message has priority |
Fmt | Message format-string |
... |
BOOLEAN LogCallbackPrepareAndSendMessageToQueueWrapper | ( | UINT32 | OperationCode, |
BOOLEAN | IsImmediateMessage, | ||
BOOLEAN | ShowCurrentSystemTime, | ||
BOOLEAN | Priority, | ||
const char * | Fmt, | ||
va_list | ArgList ) |
Prepare a printf-style message mapping and send string messages and tracing for logging and monitoring.
OperationCode | Optional operation code |
IsImmediateMessage | Should be sent immediately |
ShowCurrentSystemTime | Show system-time |
Priority | Whether the message has priority |
Fmt | Message format-string |
... |
_Use_decl_annotations_ BOOLEAN LogCallbackSendBuffer | ( | UINT32 | OperationCode, |
PVOID | Buffer, | ||
UINT32 | BufferLength, | ||
BOOLEAN | Priority ) |
Save buffer to the pool.
OperationCode | The operation code that will be send to user mode |
Buffer | Buffer to be send to user mode |
BufferLength | Length of the buffer |
Priority | Whether the buffer has priority |
BOOLEAN LogCallbackSendMessageToQueue | ( | UINT32 | OperationCode, |
BOOLEAN | IsImmediateMessage, | ||
CHAR * | LogMessage, | ||
UINT32 | BufferLen, | ||
BOOLEAN | Priority ) |
Send string messages and tracing for logging and monitoring.
routines callback for sending message to queue
OperationCode | Optional operation code |
IsImmediateMessage | Should be sent immediately |
LogMessage | Link of message buffer |
BufferLen | Length of buffer |
Priority | Whether the buffer has priority |
Check if new message is available or not.
IsVmxRoot | Check vmx root pool for message or check vmx non root pool |
Priority | Whether the buffer has priority |
Checks whether the immediate sending is needed or not.
|
inline |
Checks whether the message tracing operates on vmx-root mode or not.
BOOLEAN LogInitialize | ( | MESSAGE_TRACING_CALLBACKS * | MsgTracingCallbacks | ) |
Initialize the buffer relating to log message tracing.
MsgTracingCallbacks | specify the callbacks |
Mark all buffers as read.
Priority buffers won't be set as read
IsVmxRoot | Determine whether you want to read vmx root buffer or vmx non root buffer |
VOID LogNotifyUsermodeCallback | ( | PKDPC | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Complete the IRP in IRP Pending state and fill the usermode buffers with pool data.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
Attempt to read the buffer.
IsVmxRoot | Determine whether you want to read vmx root buffer or vmx non root buffer |
BufferToSaveMessage | Target buffer to save the message |
ReturnedLength | The actual length of the buffer that this function used it |
BOOLEAN LogRegisterEventBasedNotification | ( | PVOID | TargetIrp | ) |
Create an event-based usermode notifying mechanism.
TargetIrp |
BOOLEAN LogRegisterIrpBasedNotification | ( | PVOID | TargetIrp, |
LONG * | Status ) |
Register a new IRP Pending thread which listens for new buffers.
TargetIrp | |
Status |
|
inline |
Checks whether the immediate sending is needed or not.
OptionalBuffer | |
OptionalBufferLength | |
OperationCode |
VOID LogUnInitialize | ( | ) |
Uninitialize the buffer relating to log message tracing.