|
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.