
Die leistungsstärkste System Activity Monitor Engine der Welt · Ein leistungsstarkes Endpunktverhaltens-Erfassungs- und Abwehr-Entwicklungskit ~ Entwickelt, um EDR, Zero Trust, Datensicherheit, Audit- und Kontroll- sowie andere Endpunktsicherheitssoftware dabei zu unterstützen, Produktfunktionen schnell zu implementieren, ohne sich um die Entwicklung, Wartung und Kompatibilitätsprobleme der zugrunde liegenden Treiber kümmern zu müssen, damit sie sich auf die Geschäftsentwicklung konzentrieren können.
iMonitorSDK ist ein Entwicklungskit, das Systemverhaltensüberwachung für Endpunkt- und Cloudsicherheit bietet.
Es wurde entwickelt, um industriellen Anwendungen wie Sicherheit, Endpunktverwaltung und Auditing zu helfen, notwendige Funktionen schnell zu implementieren, ohne sich um die Entwicklung, Wartung und Kompatibilität von Kernel-Treibern kümmern zu müssen, sodass sie sich auf die Geschäftsentwicklung konzentrieren können.
iMonitorSDK verwendet ein Kommunikationsframework, das auf einem Nachrichtenprotokoll basiert, um die Treiberentwicklung stabiler und schneller zu machen. Die gesamte Überwachung ist auf stabile, standardisierte Weise implementiert und unterstützt Windows von XP bis Win11. Linux und MacOS sind ebenfalls in Planung.
Mit iMonitorSDK können Sie Selbstschutz, Prozessabfang, Ransomware-Abwehr, aktive Abwehr, Internetverhaltensverwaltung und andere Endpunktsicherheitsfunktionen zu sehr geringen Kosten realisieren.
Beispiel 1: Prozessstart abfangen
class MonitorCallback : public IMonitorCallback
{
public:
void OnCallback(IMonitorMessage* Message) override
{
if (Message->GetType() != emMSGProcessCreate)
return;
cxMSGProcessCreate* msg = (cxMSGProcessCreate*)Message;
//
// Block the process of the process name cmd.exe from starting
//
if (msg->IsMatchPath(L"*\\cmd.exe"))
msg->SetBlock();
}
};
int main()
{
MonitorManager manager;
MonitorCallback callback;
HRESULT hr = manager.Start(&callback);
if (hr != S_OK) {
printf("start failed = %08X\n", hr);
return 0;
}
cxMSGUserSetMSGConfig config;
config.Config[emMSGProcessCreate] = emMSGConfigSend;
manager.InControl(config);
WaitForExit("Block the process of the process name cmd.exe from starting");
return 0;
}
Beispiel 2: Selbstschutz
class MonitorCallback : public IMonitorCallback
{
public:
void OnCallback(IMonitorMessage* Message) override
{}
};
int main()
{
MonitorManager manager;
MonitorCallback callback;
HRESULT hr = manager.Start(&callback);
if (hr != S_OK) {
printf("start failed = %08X\n", hr);
return 0;
}
manager.InControl(cxMSGUserEnableProtect());
{
cxMSGUserAddProtectRule rule;
rule.ProtectType = emProtectTypeProcessPath | emProtectTypeFilePath;
wcsncpy(rule.Path, L"*\\notepad.exe", MONITOR_MAX_BUFFER);
manager.InControl(rule);
}
{
cxMSGUserAddProtectRule rule;
rule.ProtectType = emProtectTypeFilePath;
wcsncpy(rule.Path, L"*\\protect>", MONITOR_MAX_BUFFER);
manager.InControl(rule);
}
{
cxMSGUserAddProtectRule rule;
rule.ProtectType = emProtectTypeRegPath;
wcsncpy(rule.Path, L"*\\iMonitor>", MONITOR_MAX_BUFFER);
manager.InControl(rule);
}
{
cxMSGUserAddProtectRule rule;
rule.ProtectType = emProtectTypeTrustProcess;
wcsncpy(rule.Path, L"*taskkill*", MONITOR_MAX_BUFFER);
manager.InControl(rule);
}
WaitForExit("SelfProtect");
manager.InControl(cxMSGUserRemoveAllProtectRule());
manager.InControl(cxMSGUserDisableProtect());
return 0;
}
Beispiel 3: Sysmon
class MonitorCallback : public IMonitorCallback
{
public:
void OnCallback(IMonitorMessage* msg) override
{
printf("%S ==> %S\n", msg->GetTypeName(), msg->GetFormatedString(emMSGFieldCurrentProcessPath));
for (ULONG i = emMSGFieldCurrentProcessCommandline; i < msg->GetFieldCount(); i++) {
printf("\t%30S : %-30S\n", msg->GetFieldName(i), msg->GetFormatedString(i));
}
}
};
int main()
{
MonitorManager manager;
MonitorCallback callback;
HRESULT hr = manager.Start(&callback);
if (hr != S_OK) {
printf("start failed = %08X\n", hr);
return 0;
}
cxMSGUserSetMSGConfig config;
for (int i = 0; i < emMSGMax; i++) {
config.Config[i] = emMSGConfigPost;
}
manager.InControl(config);
WaitForExit("");
return 0;
}
Beispiel 4: Internetzugriffskontrolle (basiert auf Netzwerkumleitung, unterstützt https, Einzelheiten siehe Beispiel http_access_control)

Weitere Beispiele finden Sie im Beispielverzeichnis.