/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: ProcessMap.Win32.cpp Date: 2021-6-12 Author: Reece ***/ #include #include "ProcessMap.Win32.hpp" #include "ProcessMap.NT.hpp" #include namespace Aurora::Process { void MakeToolHelp32Snapshot() { MODULEENTRY32 me32; HANDLE hModuleSnap = INVALID_HANDLE_VALUE; hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, GetCurrentProcessId()); if (hModuleSnap == INVALID_HANDLE_VALUE) { SysPushErrorGen("CreateToolhelp32Snapshot"); return; } me32.dwSize = sizeof(MODULEENTRY32); if (!Module32First(hModuleSnap, &me32)) { SysPushErrorGen("Module32First failed"); CloseHandle(hModuleSnap); return; } do { auto h = reinterpret_cast(me32.modBaseAddr); InvaildateModule(h); MakeAware(h); } while (Module32Next(hModuleSnap, &me32)); CloseHandle(hModuleSnap); } }