49 lines
2.0 KiB
C
49 lines
2.0 KiB
C
/* Benjamin DELPY `gentilkiwi`
|
|
https://blog.gentilkiwi.com
|
|
benjamin@gentilkiwi.com
|
|
Licence : https://creativecommons.org/licenses/by/4.0/
|
|
*/
|
|
#pragma once
|
|
#include "globals.h"
|
|
#include "../modules/kull_m_process.h"
|
|
|
|
typedef struct _REMOTE_LIB_OUTPUT_DATA {
|
|
PVOID outputVoid;
|
|
DWORD outputDword;
|
|
NTSTATUS outputStatus;
|
|
DWORD outputSize;
|
|
PVOID outputData;
|
|
} REMOTE_LIB_OUTPUT_DATA, *PREMOTE_LIB_OUTPUT_DATA;
|
|
|
|
typedef struct _REMOTE_LIB_INPUT_DATA {
|
|
PVOID inputVoid;
|
|
DWORD inputDword;
|
|
DWORD inputSize;
|
|
BYTE inputData[ANYSIZE_ARRAY];
|
|
} REMOTE_LIB_INPUT_DATA, *PREMOTE_LIB_INPUT_DATA;
|
|
|
|
typedef struct _REMOTE_LIB_DATA {
|
|
REMOTE_LIB_OUTPUT_DATA output;
|
|
REMOTE_LIB_INPUT_DATA input;
|
|
} REMOTE_LIB_DATA, *PREMOTE_LIB_DATA;
|
|
|
|
typedef struct _REMOTE_EXT {
|
|
PCWCHAR Module;
|
|
PCHAR Function;
|
|
PVOID ToReplace;
|
|
PVOID Pointer;
|
|
} REMOTE_EXT, *PREMOTE_EXT;
|
|
|
|
typedef struct _MULTIPLE_REMOTE_EXT {
|
|
DWORD count;
|
|
PREMOTE_EXT extensions;
|
|
} MULTIPLE_REMOTE_EXT, *PMULTIPLE_REMOTE_EXT;
|
|
|
|
BOOL CALLBACK kull_m_remotelib_callback_module_exportedEntry(PKULL_M_PROCESS_EXPORTED_ENTRY pExportedEntryInformations, PVOID pvArg);
|
|
PREMOTE_LIB_INPUT_DATA kull_m_remotelib_CreateInput(PVOID inputVoid, DWORD inputDword, DWORD inputSize, LPCVOID inputData);
|
|
BOOL kull_m_remotelib_create(PKULL_M_MEMORY_ADDRESS aRemoteFunc, PREMOTE_LIB_INPUT_DATA input, PREMOTE_LIB_OUTPUT_DATA output);
|
|
|
|
BOOL CALLBACK kull_m_remotelib_exports_callback_module_exportedEntry(PKULL_M_PROCESS_EXPORTED_ENTRY pExportedEntryInformations, PVOID pvArg);
|
|
BOOL CALLBACK kull_m_remotelib_exports_callback_module(PKULL_M_PROCESS_VERY_BASIC_MODULE_INFORMATION pModuleInformation, PVOID pvArg);
|
|
BOOL kull_m_remotelib_GetProcAddressMultipleModules(PKULL_M_MEMORY_HANDLE hProcess, PMULTIPLE_REMOTE_EXT extForCb);
|
|
BOOL kull_m_remotelib_CreateRemoteCodeWitthPatternReplace(PKULL_M_MEMORY_HANDLE hProcess, LPCVOID Buffer, DWORD BufferSize, PMULTIPLE_REMOTE_EXT RemoteExt, PKULL_M_MEMORY_ADDRESS DestAddress); |