Code:
#include <stdio.h>
#include <Psapi.h> //for MODULEINFO
#pragma comment(lib, "Psapi.lib")
using namespace std;
void DumpModule(HMODULE hMod, char* fileName)
{
MODULEINFO lpModInfo = {NULL,};
HANDLE hProc = GetCurrentProcess();
GetModuleInformation(hProc, hMod, &lpModInfo, sizeof(lpModInfo));
BYTE* dumpedModule = (BYTE*)malloc(lpModInfo.SizeOfImage);
SIZE_T dwSizeRead = NULL;
ReadProcessMemory(hProc, (LPCVOID)hMod, dumpedModule, lpModInfo.SizeOfImage, &dwSizeRead);
ofstream ofile_ehsvc;
ofile_ehsvc.open(GetDirectoryFile(fileName), ios::app | ios::binary);
ofile_ehsvc.write((char*)dumpedModule, dwSizeRead);
}