HyperDbg Debugger
|
Server and Client communication over NamedPipes. More...
#include "pch.h"
Functions | |
HANDLE | NamedPipeServerCreatePipe (LPCSTR PipeName, UINT32 OutputBufferSize, UINT32 InputBufferSize) |
Create a named pipe server. | |
BOOLEAN | NamedPipeServerWaitForClientConntection (HANDLE PipeHandle) |
wait for client connection | |
UINT32 | NamedPipeServerReadClientMessage (HANDLE PipeHandle, char *BufferToSave, int MaximumReadBufferLength) |
read client message from the named pipe | |
BOOLEAN | NamedPipeServerSendMessageToClient (HANDLE PipeHandle, char *BufferToSend, int BufferSize) |
VOID | NamedPipeServerCloseHandle (HANDLE PipeHandle) |
Close handle of server's named pipe. | |
HANDLE | NamedPipeClientCreatePipe (LPCSTR PipeName) |
Create a client named pipe. | |
HANDLE | NamedPipeClientCreatePipeOverlappedIo (LPCSTR PipeName) |
Create a client named pipe through overlapped I/O. | |
BOOLEAN | NamedPipeClientSendMessage (HANDLE PipeHandle, char *BufferToSend, int BufferSize) |
send client message over named pipe | |
UINT32 | NamedPipeClientReadMessage (HANDLE PipeHandle, char *BufferToRead, int MaximumSizeOfBuffer) |
VOID | NamedPipeClientClosePipe (HANDLE PipeHandle) |
close named pipe handle of client | |
int | NamedPipeServerExample () |
and example of how to use named pipe as a server | |
int | NamedPipeClientExample () |
and example of how to use named pipe as a client | |
Variables | |
OVERLAPPED | g_OverlappedIoStructureForReadDebugger |
This is an OVERLAPPED structure for managing simultaneous read and writes for debugger (in current design debuggee is not needed to write simultaneously but it's needed for write) | |
OVERLAPPED | g_OverlappedIoStructureForWriteDebugger |
Server and Client communication over NamedPipes.
VOID NamedPipeClientClosePipe | ( | HANDLE | PipeHandle | ) |
close named pipe handle of client
PipeHandle |
HANDLE NamedPipeClientCreatePipe | ( | LPCSTR | PipeName | ) |
Create a client named pipe.
Pipe name format - \servername\pipe\pipename This pipe is for server on the same computer, however, pipes can be used to connect to a remote server
PipeName |
HANDLE NamedPipeClientCreatePipeOverlappedIo | ( | LPCSTR | PipeName | ) |
Create a client named pipe through overlapped I/O.
Pipe name format - \servername\pipe\pipename This pipe is for server on the same computer, however, pipes can be used to connect to a remote server
PipeName |
int NamedPipeClientExample | ( | ) |
and example of how to use named pipe as a client
UINT32 NamedPipeClientReadMessage | ( | HANDLE | PipeHandle, |
char * | BufferToRead, | ||
int | MaximumSizeOfBuffer ) |
BOOLEAN NamedPipeClientSendMessage | ( | HANDLE | PipeHandle, |
char * | BufferToSend, | ||
int | BufferSize ) |
send client message over named pipe
PipeHandle | |
BufferToSend | |
BufferSize |
VOID NamedPipeServerCloseHandle | ( | HANDLE | PipeHandle | ) |
Close handle of server's named pipe.
PipeHandle |
HANDLE NamedPipeServerCreatePipe | ( | LPCSTR | PipeName, |
UINT32 | OutputBufferSize, | ||
UINT32 | InputBufferSize ) |
Create a named pipe server.
PipeName | |
OutputBufferSize | |
InputBufferSize |
int NamedPipeServerExample | ( | ) |
and example of how to use named pipe as a server
UINT32 NamedPipeServerReadClientMessage | ( | HANDLE | PipeHandle, |
char * | BufferToSave, | ||
int | MaximumReadBufferLength ) |
read client message from the named pipe
PipeHandle | |
BufferToSave | |
MaximumReadBufferLength |
BOOLEAN NamedPipeServerSendMessageToClient | ( | HANDLE | PipeHandle, |
char * | BufferToSend, | ||
int | BufferSize ) |
BOOLEAN NamedPipeServerWaitForClientConntection | ( | HANDLE | PipeHandle | ) |
wait for client connection
PipeHandle |
|
extern |
This is an OVERLAPPED structure for managing simultaneous read and writes for debugger (in current design debuggee is not needed to write simultaneously but it's needed for write)
|
extern |