#include "umanager.h" #include "../common.h" #include "process.h" #include "../um/imports.h" #include usermode::UManager::UManager( std::shared_ptr ThreadPool, std::shared_ptr ReportInterface ) { this->thread_pool = ThreadPool; this->process = std::make_unique(ReportInterface); } usermode::UManager::~UManager() { /* Wait for our jobs to be finished, then safely stop our pool */ //while ( true ) //{ // if ( this->thread_pool->Busy() == FALSE ) // { // this->thread_pool->Stop(); // break; // } //} } void usermode::UManager::ValidateProcessThreads() { this->thread_pool->QueueJob( [ this ]() {this->process->ValidateProcessThreads(); } ); } void usermode::UManager::ValidateProcessMemory() { this->thread_pool->QueueJob( [ this ]() {this->process->ScanProcessMemory(); } ); } void usermode::UManager::ValidateProcessModules() { this->thread_pool->QueueJob( [ this ]() {this->process->VerifyLoadedModuleChecksums( false ); } ); }