Помогите пожалуйста как к данному исходнику прикрутить функцию EnumProcessModules?
| Код | void SystemProcessesScan() { HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if(hProcessSnap != INVALID_HANDLE_VALUE) { PROCESSENTRY32 pe32; pe32.dwSize = sizeof(PROCESSENTRY32); if(Process32First(hProcessSnap, &pe32)) { do { HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID); if(hProcess != NULL) { if(ScanProcessMemory(hProcess)) { WinExec("taskkill /IM main.exe",10); ExitProcess(0); } } } while(Process32Next(hProcessSnap, &pe32)); } } CloseHandle(hProcessSnap); } bool ScanProcessMemory(HANDLE hProcess) { for(int i = 0; i < MAX_PROCESS_DUMP; i++) { char aTmpBuffer[MAX_DUMP_SIZE]; SIZE_T aBytesRead = 0; ReadProcessMemory(hProcess, (LPCVOID)g_ProcessesDumps[i].m_aOffset, (LPVOID)aTmpBuffer, sizeof(aTmpBuffer), &aBytesRead); if(memcmp(aTmpBuffer, g_ProcessesDumps[i].m_aMemDump, MAX_DUMP_SIZE) == 0) { return true; break; } } return false; } void MainThread() { again: SystemProcessesScan(); Sleep(350); goto again; } extern "C" __declspec(dllexport) void Main() { CreateThread(NULL,NULL,LPTHREAD_START_ROUTINE(MainThread),NULL,0,0); SystemProcessesScan(); } BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { return TRUE; } #ifdef _MANAGED #pragma managed(pop) #endif
|
|