MCPcopy Create free account
hub / github.com/NtQuery/Scylla / getModuleHandlesFromProcess

Method getModuleHandlesFromProcess

Scylla/ProcessAccessHelp.cpp:824–856  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

822}
823
824DWORD ProcessAccessHelp::getModuleHandlesFromProcess(const HANDLE hProcess, HMODULE ** hMods)
825{
826 DWORD count = 30;
827 DWORD cbNeeded = 0;
828 bool notEnough = true;
829
830 *hMods = new HMODULE[count];
831
832 do
833 {
834 if (!EnumProcessModules(hProcess, *hMods, count * sizeof(HMODULE), &cbNeeded))
835 {
836#ifdef DEBUG_COMMENTS
837 Scylla::debugLog.log(L"getModuleHandlesFromProcess :: EnumProcessModules failed count %d", count);
838#endif
839 delete [] *hMods;
840 return 0;
841 }
842
843 if ((count * sizeof(HMODULE)) < cbNeeded)
844 {
845 delete [] *hMods;
846 count = cbNeeded / sizeof(HMODULE);
847 *hMods = new HMODULE[count];
848 }
849 else
850 {
851 notEnough = false;
852 }
853 } while (notEnough);
854
855 return cbNeeded / sizeof(HMODULE);
856}
857
858void ProcessAccessHelp::setCurrentProcessAsTarget()
859{

Callers

nothing calls this directly

Calls 1

logMethod · 0.80

Tested by

no test coverage detected