1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // dllmain.cpp : 定义 DLL 应用程序的入口点。
- #include "stdafx.h"
- HMODULE g_hModule = NULL;
- DWORD WINAPI ThreadProc(LPVOID lParam)
- {
- // 工作线程;
- return 0;
- }
- BOOL APIENTRY DllMain( HMODULE hModule,
- DWORD ul_reason_for_call,
- LPVOID lpReserved
- )
- {
- g_hModule = hModule;
- HANDLE hThreadProc = NULL;
- switch (ul_reason_for_call)
- {
- case DLL_PROCESS_ATTACH:
- // DLL注入,都在该Case下完成任务;
- // 1、准备工作;
- if ( true )
- {
- // 2、创建后台线程;
- OutputDebugString(_T("<InjectionDll> Injection!!!"));
- hThreadProc = CreateThread(NULL, 0, ThreadProc, NULL, 0, NULL);
- CloseHandle(hThreadProc);
- }
- else
- {
- // 如果不满足条件,DLL自我卸载;
- FreeLibraryAndExitThread(g_hModule, 0);
- }
- case DLL_THREAD_ATTACH:
- case DLL_THREAD_DETACH:
- case DLL_PROCESS_DETACH:
- break;
- }
- return TRUE;
- }
|