2023-08-17 10:45:50 +02:00
|
|
|
#ifndef KMANAGER_H
|
|
|
|
#define KMANAGER_H
|
|
|
|
|
|
|
|
#include <windows.h>
|
|
|
|
|
2023-08-18 07:33:13 +02:00
|
|
|
#include "../report.h"
|
2023-08-17 10:45:50 +02:00
|
|
|
#include "..\threadpool.h"
|
2023-08-18 07:33:13 +02:00
|
|
|
|
2023-08-17 10:45:50 +02:00
|
|
|
#include "driver.h"
|
|
|
|
|
|
|
|
namespace kernelmode
|
|
|
|
{
|
|
|
|
class KManager
|
|
|
|
{
|
|
|
|
std::unique_ptr<Driver> driver_interface;
|
|
|
|
std::shared_ptr<global::ThreadPool> thread_pool;
|
|
|
|
public:
|
2023-08-18 07:33:13 +02:00
|
|
|
KManager( LPCWSTR DriverName, std::shared_ptr<global::ThreadPool> ThreadPool, std::shared_ptr<global::Report> ReportInterface);
|
2023-08-19 04:52:57 +02:00
|
|
|
|
|
|
|
void RunNmiCallbacks();
|
|
|
|
void VerifySystemModules();
|
2023-08-20 16:12:04 +02:00
|
|
|
void MonitorCallbackReports();
|
2023-08-21 17:48:34 +02:00
|
|
|
void DetectSystemVirtualization();
|
2023-08-17 10:45:50 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|