trying to debug the buffer overflow which sometimes happens
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -2,14 +2,6 @@
|
|||||||
"Version": 1,
|
"Version": 1,
|
||||||
"WorkspaceRootPath": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\",
|
"WorkspaceRootPath": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\",
|
||||||
"Documents": [
|
"Documents": [
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:settings.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:virus_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:scan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:scan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
@@ -19,21 +11,57 @@
|
|||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:scan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:scan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:virus_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:virus_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:check_process.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:check_process.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:check_process.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:settings.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:client_backend.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:connect.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_com.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:check_dir.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:check_dir.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:md5hash.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:update.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:thread_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:thread_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:virus_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:log.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:log.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
@@ -46,38 +74,10 @@
|
|||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:settings.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:settings.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:client_backend.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:md5hash.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:check_process.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_com.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:connect.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:connect.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:connect.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:update.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue _ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue _ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:queue _ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:queue _ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
@@ -90,11 +90,11 @@
|
|||||||
"DocumentGroups": [
|
"DocumentGroups": [
|
||||||
{
|
{
|
||||||
"DockedWidth": 200,
|
"DockedWidth": 200,
|
||||||
"SelectedChildIndex": 10,
|
"SelectedChildIndex": 13,
|
||||||
"Children": [
|
"Children": [
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 4,
|
"DocumentIndex": 14,
|
||||||
"Title": "virus_ctrl.h",
|
"Title": "virus_ctrl.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.h",
|
||||||
"RelativeDocumentMoniker": "virus_ctrl.h",
|
"RelativeDocumentMoniker": "virus_ctrl.h",
|
||||||
@@ -102,12 +102,11 @@
|
|||||||
"RelativeToolTip": "virus_ctrl.h",
|
"RelativeToolTip": "virus_ctrl.h",
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAATAAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAATAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||||
"WhenOpened": "2024-03-11T12:26:05.127Z",
|
"WhenOpened": "2024-03-11T12:26:05.127Z"
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 13,
|
"DocumentIndex": 4,
|
||||||
"Title": "check_process.h",
|
"Title": "check_process.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.h",
|
||||||
"RelativeDocumentMoniker": "check_process.h",
|
"RelativeDocumentMoniker": "check_process.h",
|
||||||
@@ -115,24 +114,25 @@
|
|||||||
"RelativeToolTip": "check_process.h",
|
"RelativeToolTip": "check_process.h",
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAAAAAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAAAAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||||
"WhenOpened": "2024-03-10T14:40:13.284Z"
|
"WhenOpened": "2024-03-10T14:40:13.284Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 5,
|
"DocumentIndex": 3,
|
||||||
"Title": "check_process.cpp",
|
"Title": "check_process.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.cpp",
|
||||||
"RelativeDocumentMoniker": "check_process.cpp",
|
"RelativeDocumentMoniker": "check_process.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.cpp",
|
||||||
"RelativeToolTip": "check_process.cpp",
|
"RelativeToolTip": "check_process.cpp",
|
||||||
"ViewState": "AQIAAAYAAAAAAAAAAAAAADQAAAAcAAAA",
|
"ViewState": "AQIAAAYAAAAAAAAAAAAAADQAAAAtAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-03-10T14:40:03.094Z",
|
"WhenOpened": "2024-03-10T14:40:03.094Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 12,
|
"DocumentIndex": 11,
|
||||||
"Title": "md5hash.cpp",
|
"Title": "md5hash.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp",
|
||||||
"RelativeDocumentMoniker": "md5hash.cpp",
|
"RelativeDocumentMoniker": "md5hash.cpp",
|
||||||
@@ -140,11 +140,12 @@
|
|||||||
"RelativeToolTip": "md5hash.cpp",
|
"RelativeToolTip": "md5hash.cpp",
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAACwAAAAnAAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAACwAAAAnAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-03-09T19:22:09.647Z"
|
"WhenOpened": "2024-03-09T19:22:09.647Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 10,
|
"DocumentIndex": 17,
|
||||||
"Title": "settings.h",
|
"Title": "settings.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h",
|
||||||
"RelativeDocumentMoniker": "settings.h",
|
"RelativeDocumentMoniker": "settings.h",
|
||||||
@@ -156,7 +157,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 16,
|
"DocumentIndex": 18,
|
||||||
"Title": "connect.h",
|
"Title": "connect.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.h",
|
||||||
"RelativeDocumentMoniker": "connect.h",
|
"RelativeDocumentMoniker": "connect.h",
|
||||||
@@ -168,20 +169,20 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 6,
|
"DocumentIndex": 10,
|
||||||
"Title": "check_dir.cpp",
|
"Title": "check_dir.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp",
|
||||||
"RelativeDocumentMoniker": "check_dir.cpp",
|
"RelativeDocumentMoniker": "check_dir.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp",
|
||||||
"RelativeToolTip": "check_dir.cpp",
|
"RelativeToolTip": "check_dir.cpp",
|
||||||
"ViewState": "AQIAABUAAAAAAAAAAAAAABwAAABSAAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAB8AAAAnAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-02-25T13:36:05.414Z",
|
"WhenOpened": "2024-02-25T13:36:05.414Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 8,
|
"DocumentIndex": 15,
|
||||||
"Title": "log.h",
|
"Title": "log.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h",
|
||||||
"RelativeDocumentMoniker": "log.h",
|
"RelativeDocumentMoniker": "log.h",
|
||||||
@@ -193,7 +194,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 9,
|
"DocumentIndex": 16,
|
||||||
"Title": "log.cpp",
|
"Title": "log.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.cpp",
|
||||||
"RelativeDocumentMoniker": "log.cpp",
|
"RelativeDocumentMoniker": "log.cpp",
|
||||||
@@ -205,100 +206,103 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 14,
|
"DocumentIndex": 8,
|
||||||
"Title": "local_com.cpp",
|
"Title": "local_com.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp",
|
||||||
"RelativeDocumentMoniker": "local_com.cpp",
|
"RelativeDocumentMoniker": "local_com.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp",
|
||||||
"RelativeToolTip": "local_com.cpp",
|
"RelativeToolTip": "local_com.cpp",
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAQAAAAXAAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAcAAAAeAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-01-28T20:40:06.217Z"
|
"WhenOpened": "2024-01-28T20:40:06.217Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 0,
|
"DocumentIndex": 5,
|
||||||
"Title": "settings.cpp",
|
"Title": "settings.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp",
|
||||||
"RelativeDocumentMoniker": "settings.cpp",
|
"RelativeDocumentMoniker": "settings.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp",
|
||||||
"RelativeToolTip": "settings.cpp",
|
"RelativeToolTip": "settings.cpp",
|
||||||
"ViewState": "AQIAACQAAAAAAAAAAAAAAFAAAABPAAAA",
|
"ViewState": "AQIAALIAAAAAAAAAAAAkwNUAAAACAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-01-28T20:40:06.264Z",
|
"WhenOpened": "2024-01-28T20:40:06.264Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 7,
|
"DocumentIndex": 13,
|
||||||
"Title": "thread_ctrl.cpp",
|
"Title": "thread_ctrl.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp",
|
||||||
"RelativeDocumentMoniker": "thread_ctrl.cpp",
|
"RelativeDocumentMoniker": "thread_ctrl.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp",
|
||||||
"RelativeToolTip": "thread_ctrl.cpp",
|
"RelativeToolTip": "thread_ctrl.cpp",
|
||||||
"ViewState": "AQIAABUAAAAAAAAAAAAAADoAAAAqAAAA",
|
"ViewState": "AQIAABgAAAAAAAAAAAAAADUAAAAoAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-01-28T20:40:06.264Z",
|
"WhenOpened": "2024-01-28T20:40:06.264Z"
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 11,
|
"DocumentIndex": 6,
|
||||||
"Title": "client_backend.cpp",
|
"Title": "client_backend.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp",
|
||||||
"RelativeDocumentMoniker": "client_backend.cpp",
|
"RelativeDocumentMoniker": "client_backend.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp",
|
||||||
"RelativeToolTip": "client_backend.cpp",
|
"RelativeToolTip": "client_backend.cpp",
|
||||||
"ViewState": "AQIAACQAAAAAAAAAAAAAAEUAAAA1AAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAABkAAABBAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-01-28T20:40:06.279Z"
|
"WhenOpened": "2024-01-28T20:40:06.279Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 2,
|
"DocumentIndex": 0,
|
||||||
"Title": "scan.cpp",
|
"Title": "scan.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp",
|
||||||
"RelativeDocumentMoniker": "scan.cpp",
|
"RelativeDocumentMoniker": "scan.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp",
|
||||||
"RelativeToolTip": "scan.cpp",
|
"RelativeToolTip": "scan.cpp",
|
||||||
"ViewState": "AQIAALEAAAAAAAAAAAAkwNsAAAAVAAAA",
|
"ViewState": "AQIAAKwAAAAAAAAAAAAkwN8AAAArAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-01-28T20:40:06.248Z",
|
"WhenOpened": "2024-01-28T20:40:06.248Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 17,
|
"DocumentIndex": 12,
|
||||||
"Title": "update.cpp",
|
"Title": "update.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp",
|
||||||
"RelativeDocumentMoniker": "update.cpp",
|
"RelativeDocumentMoniker": "update.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp",
|
||||||
"RelativeToolTip": "update.cpp",
|
"RelativeToolTip": "update.cpp",
|
||||||
"ViewState": "AQIAABMAAAAAAAAAAAAkwEQAAABzAAAA",
|
"ViewState": "AQIAACwAAAAAAAAAAAAkwFIAAAAWAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-01-28T20:40:06.248Z"
|
"WhenOpened": "2024-01-28T20:40:06.248Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 18,
|
"DocumentIndex": 9,
|
||||||
"Title": "local_schedule.cpp",
|
"Title": "local_schedule.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp",
|
||||||
"RelativeDocumentMoniker": "local_schedule.cpp",
|
"RelativeDocumentMoniker": "local_schedule.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp",
|
||||||
"RelativeToolTip": "local_schedule.cpp",
|
"RelativeToolTip": "local_schedule.cpp",
|
||||||
"ViewState": "AQIAAEgAAAAAAAAAAAAAAFoAAAAKAAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAFcAAAAvAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-01-28T20:40:06.279Z"
|
"WhenOpened": "2024-01-28T20:40:06.279Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 3,
|
"DocumentIndex": 1,
|
||||||
"Title": "scan.h",
|
"Title": "scan.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h",
|
||||||
"RelativeDocumentMoniker": "scan.h",
|
"RelativeDocumentMoniker": "scan.h",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h",
|
||||||
"RelativeToolTip": "scan.h",
|
"RelativeToolTip": "scan.h",
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAABIAAAAEAAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAABIAAAAyAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||||
"WhenOpened": "2024-01-28T20:40:06.295Z",
|
"WhenOpened": "2024-01-28T20:40:06.295Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
@@ -317,25 +321,26 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 15,
|
"DocumentIndex": 7,
|
||||||
"Title": "connect.cpp",
|
"Title": "connect.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp",
|
||||||
"RelativeDocumentMoniker": "connect.cpp",
|
"RelativeDocumentMoniker": "connect.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp",
|
||||||
"RelativeToolTip": "connect.cpp",
|
"RelativeToolTip": "connect.cpp",
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAABkAAAADAAAA",
|
"ViewState": "AQIAABIAAAAAAAAAAAAAAG0AAAAbAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-01-28T20:40:06.315Z"
|
"WhenOpened": "2024-01-28T20:40:06.315Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 1,
|
"DocumentIndex": 2,
|
||||||
"Title": "virus_ctrl.cpp",
|
"Title": "virus_ctrl.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp",
|
||||||
"RelativeDocumentMoniker": "virus_ctrl.cpp",
|
"RelativeDocumentMoniker": "virus_ctrl.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp",
|
||||||
"RelativeToolTip": "virus_ctrl.cpp",
|
"RelativeToolTip": "virus_ctrl.cpp",
|
||||||
"ViewState": "AQIAAGYAAAAAAAAAAAAAAI4AAAAHAAAA",
|
"ViewState": "AQIAAHsAAAAAAAAAAAAAAJMAAAAkAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-02-18T12:49:41.861Z",
|
"WhenOpened": "2024-02-18T12:49:41.861Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ void process_changes(const FILE_NOTIFY_INFORMATION* pInfo) {
|
|||||||
filename_str = "c:\\" + filename_str;
|
filename_str = "c:\\" + filename_str;
|
||||||
//scan the file and send it to virus_ctrl if it is a virus and then process it
|
//scan the file and send it to virus_ctrl if it is a virus and then process it
|
||||||
std::transform(filename_str.begin(), filename_str.end(), filename_str.begin(), ::tolower);
|
std::transform(filename_str.begin(), filename_str.end(), filename_str.begin(), ::tolower);
|
||||||
if (!is_folder_included(filename_str.c_str()) or is_directory(filename_str.c_str()) or is_folder_excluded(filename_str.c_str())) {
|
if (!is_folder_included(filename_str.c_str()) or is_directory(filename_str) or is_folder_excluded(filename_str.c_str())) {
|
||||||
//dont scan excluded files or folders
|
//dont scan excluded files or folders
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ void monitor_processes() {
|
|||||||
DWORD numProcesses = bytesReturned / sizeof(DWORD);
|
DWORD numProcesses = bytesReturned / sizeof(DWORD);
|
||||||
|
|
||||||
// Check for new processes
|
// Check for new processes
|
||||||
|
//log(LOGLEVEL::INFO_NOSEND, "[monitor_processes()]: Checking for new processes; having ",numProcesses, " currently running");
|
||||||
for (DWORD i = 0; i < numProcesses; ++i) {
|
for (DWORD i = 0; i < numProcesses; ++i) {
|
||||||
DWORD processId = processIds[i];
|
DWORD processId = processIds[i];
|
||||||
BOOL isNewProcess = TRUE;
|
BOOL isNewProcess = TRUE;
|
||||||
@@ -35,14 +36,14 @@ void monitor_processes() {
|
|||||||
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processId);
|
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processId);
|
||||||
if (hProcess != NULL) {
|
if (hProcess != NULL) {
|
||||||
// Get the full path of the executable
|
// Get the full path of the executable
|
||||||
TCHAR exePath[MAX_PATH];
|
TCHAR exePath[500];
|
||||||
char path[MAX_PATH+1];
|
char path[500+1];
|
||||||
if (GetModuleFileNameEx(hProcess, NULL, exePath, MAX_PATH) > 0) {
|
if (GetModuleFileNameEx(hProcess, NULL, exePath, 500) > 0) {
|
||||||
// Print the full path of the executable
|
// Print the full path of the executable
|
||||||
strcpy_s(path, MAX_PATH, exePath);
|
strcpy_s(path, 500, exePath);
|
||||||
//convert to lower case
|
//convert to lower case
|
||||||
for(int i=0;i<strlen(path);i++)
|
for(int z=0;z<strlen(path);z++)
|
||||||
path[i] = tolower(path[i]);
|
path[z] = tolower(path[z]);
|
||||||
//scan the file
|
//scan the file
|
||||||
if (!is_folder_included(path) or is_folder_excluded(path)) {
|
if (!is_folder_included(path) or is_folder_excluded(path)) {
|
||||||
//dont scan excluded files or folders
|
//dont scan excluded files or folders
|
||||||
|
|||||||
76
src/client_backend/check_process.cpp~RF14d851a.TMP
Normal file
76
src/client_backend/check_process.cpp~RF14d851a.TMP
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
#include "check_process.h"
|
||||||
|
#include "log.h"
|
||||||
|
#include "well_known.h"
|
||||||
|
#include "scan.h"
|
||||||
|
#include "app_ctrl.h"
|
||||||
|
#include "settings.h"
|
||||||
|
#include "scan.h"
|
||||||
|
|
||||||
|
void monitor_processes() {
|
||||||
|
static DWORD previousProcessIds[1024] = { 0 }; // Previous snapshot of process IDs
|
||||||
|
DWORD processIds[1024];
|
||||||
|
DWORD bytesReturned;
|
||||||
|
|
||||||
|
// Get the list of process IDs
|
||||||
|
if (EnumProcesses(processIds, sizeof(processIds), &bytesReturned)) {
|
||||||
|
// Calculate how many process IDs were returned
|
||||||
|
DWORD numProcesses = bytesReturned / sizeof(DWORD);
|
||||||
|
|
||||||
|
// Check for new processes
|
||||||
|
log(LOGLEVEL::INFO_NOSEND, "[monitor_processes()]: Checking for new processes; having ",numProcesses, " currently running");
|
||||||
|
for (DWORD i = 0; i < numProcesses; ++i) {
|
||||||
|
DWORD processId = processIds[i];
|
||||||
|
BOOL isNewProcess = TRUE;
|
||||||
|
|
||||||
|
// Check if the process is new
|
||||||
|
for (DWORD j = 0; j < 1024; ++j) {
|
||||||
|
if (processId == previousProcessIds[j]) {
|
||||||
|
isNewProcess = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the process is new, get its executable path and print it
|
||||||
|
if (isNewProcess) {
|
||||||
|
// Open the process
|
||||||
|
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processId);
|
||||||
|
if (hProcess != NULL) {
|
||||||
|
// Get the full path of the executable
|
||||||
|
TCHAR exePath[MAX_PATH];
|
||||||
|
char path[MAX_PATH+1];
|
||||||
|
if (GetModuleFileNameEx(hProcess, NULL, exePath, MAX_PATH) > 0) {
|
||||||
|
// Print the full path of the executable
|
||||||
|
strcpy_s(path, MAX_PATH, exePath);
|
||||||
|
//convert to lower case
|
||||||
|
for(int z=0;z<strlen(path);z++)
|
||||||
|
path[z] = tolower(path[z]);
|
||||||
|
//scan the file
|
||||||
|
if (!is_folder_included(path) or is_folder_excluded(path)) {
|
||||||
|
//dont scan excluded files or folders
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//log(LOGLEVEL::INFO, "[monitor_processes()]: New Process to scan: ", path, " while monitoring processes");
|
||||||
|
std::thread scan_thread(scan_process_t, path);
|
||||||
|
scan_thread.detach();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Close the process handle
|
||||||
|
CloseHandle(hProcess);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update the previous snapshot of process IDs
|
||||||
|
memcpy(previousProcessIds, processIds, sizeof(DWORD) * 1024);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
log(LOGLEVEL::ERR, "[monitor_processes()]: Error enumerating processes");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void process_scanner() {
|
||||||
|
//we are in a thread so we can do this, unlimited resources wuhuiii
|
||||||
|
while (!app_stop()) {
|
||||||
|
monitor_processes();
|
||||||
|
Sleep(1000); // Sleep for 1 second
|
||||||
|
}
|
||||||
|
}
|
||||||
116
src/client_backend/client_backend.cpp~RFe1cf40.TMP
Normal file
116
src/client_backend/client_backend.cpp~RFe1cf40.TMP
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
#pragma warning(disable:4996)
|
||||||
|
#include <iostream>
|
||||||
|
#include <thread>
|
||||||
|
#include <curl/curl.h>
|
||||||
|
#include <openssl/md5.h>
|
||||||
|
//#include <yara.h>
|
||||||
|
#include "app_ctrl.h"
|
||||||
|
#include "md5hash.h"
|
||||||
|
#include "connect.h"
|
||||||
|
#include "scan.h"
|
||||||
|
#include "queue_ctrl.h"
|
||||||
|
#include "well_known.h"
|
||||||
|
#include "local_com.h"
|
||||||
|
#include "local_schedule.h"
|
||||||
|
#include "log.h"
|
||||||
|
#include "thread_ctrl.h"
|
||||||
|
#include "settings.h"
|
||||||
|
#include "check_dir.h"
|
||||||
|
#include "virus_ctrl.h"
|
||||||
|
#include "update.h"
|
||||||
|
#include "check_process.h"
|
||||||
|
int main() {
|
||||||
|
//log(LOGLEVEL::INFO, "[main()]:Starting main thread.");
|
||||||
|
//return 0;
|
||||||
|
|
||||||
|
log(LOGLEVEL::INFO_NOSEND, "[main()]:Starting main thread.");
|
||||||
|
int err = 0;
|
||||||
|
printf("welcome to the jakach security tool main thread\n");
|
||||||
|
if (load_settings() == 0) {//load the settings from the settings file
|
||||||
|
if (update_settings("settings")!=0) { //update the settings from the server
|
||||||
|
log(LOGLEVEL::ERR_NOSEND, "[main()]:Could not update settings (settings) from server.");
|
||||||
|
}
|
||||||
|
if (update_settings("rtp_included")!=0) { //update the settings from the server
|
||||||
|
log(LOGLEVEL::ERR_NOSEND, "[main()]:Could not update settings (rtp_included) from server.");
|
||||||
|
}
|
||||||
|
if (update_settings("rtp_excluded")!=0) { //update the settings from the server
|
||||||
|
log(LOGLEVEL::ERR_NOSEND, "[main()]:Could not update settings (rtp_excluded) from server.");
|
||||||
|
}
|
||||||
|
if (update_settings("sched")!=0) { //update the settings from the server
|
||||||
|
log(LOGLEVEL::ERR_NOSEND, "[main()]:Could not update settings (scheduled_tasks) from server.");
|
||||||
|
}
|
||||||
|
load_settings(); //load the updated settings from the settings file
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
log(LOGLEVEL::ERR_NOSEND, "[main()]:Could not load settings from file.");
|
||||||
|
log(LOGLEVEL::PANIC_NOSEND, "[main()]:Panic, no settings file loaded, terminating process!");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize hash databases
|
||||||
|
err = initialize(DB_DIR);
|
||||||
|
if (err != 0) {
|
||||||
|
switch (err) {
|
||||||
|
case 1:
|
||||||
|
log(LOGLEVEL::ERR, "[main()]:Error opening database file in: ", DB_DIR);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
log(LOGLEVEL::ERR, "[main()]:Error creating database file mapping in: ", DB_DIR);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
log(LOGLEVEL::ERR, "[main()]:Error mapping database file in: ", DB_DIR);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
log(LOGLEVEL::ERR, "[main()]:Unknown error while loading database file in: ", DB_DIR);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Start a second thread for real-time protection
|
||||||
|
if (get_setting("rtp_folder_scan:status") == 1) {
|
||||||
|
log(LOGLEVEL::INFO, "[main()]:Starting real time file protection.");
|
||||||
|
std::thread folder_scanner_thread(folder_scanner);
|
||||||
|
folder_scanner_thread.detach();
|
||||||
|
}
|
||||||
|
if (get_setting("rtp_process_scan:status") == 1) {
|
||||||
|
log(LOGLEVEL::INFO, "[main()]:Starting real time process protection.");
|
||||||
|
std::thread process_scanner_thread(process_scanner);
|
||||||
|
process_scanner_thread.detach();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Main thread loop
|
||||||
|
while (!app_stop()) {
|
||||||
|
auto start = std::chrono::high_resolution_clock::now();
|
||||||
|
|
||||||
|
// Check for tasks from user interface
|
||||||
|
if (check_for_com_tasks(MAIN_COM, MAIN_COM_PATH) != 0) {
|
||||||
|
// Log message commented out as this error is expected when the file doesn't exist
|
||||||
|
// log(LOGLEVEL::ERR, "[main()]:Error opening communication file in: ", MAIN_COM_PATH);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for scheduled tasks
|
||||||
|
if (check_for_sched_tasks(SCHED, SCHED_PATH) != 0) {
|
||||||
|
log(LOGLEVEL::ERR, "[main()]:Error opening schedule file in: ", SCHED_PATH);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Execute tasks from the queue
|
||||||
|
if (can_run_thread()) {
|
||||||
|
int queue_size = get_queue_size();
|
||||||
|
for (int i = 0; i < queue_size; i++) {
|
||||||
|
char* queue_entry = new char[300 * 2 + 5];
|
||||||
|
queue_entry[0] = '\0';
|
||||||
|
queue_pop(queue_entry);
|
||||||
|
start_thread(queue_entry);
|
||||||
|
delete[] queue_entry;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sleep to ensure loop takes at least 1 second
|
||||||
|
auto stop = std::chrono::high_resolution_clock::now();
|
||||||
|
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(stop - start);
|
||||||
|
if (duration.count() < 1000)
|
||||||
|
Sleep(1000 - duration.count());
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Binary file not shown.
@@ -42,6 +42,5 @@ C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.
|
|||||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp(112,24): warning C4244: ]
|
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp(112,24): warning C4244: ]
|
||||||
scan.cpp
|
scan.cpp
|
||||||
thread_ctrl.cpp
|
thread_ctrl.cpp
|
||||||
virus_ctrl.cpp
|
|
||||||
Code wird generiert...
|
Code wird generiert...
|
||||||
client_backend.vcxproj -> C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\client_backend.exe
|
client_backend.vcxproj -> C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\client_backend.exe
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -87,6 +87,8 @@ int download_file_from_srv(const char* url, const char* output_file_path, bool i
|
|||||||
output_file = fopen(temp_path, "wb");
|
output_file = fopen(temp_path, "wb");
|
||||||
if (!output_file) {
|
if (!output_file) {
|
||||||
curl_easy_cleanup(curl);
|
curl_easy_cleanup(curl);
|
||||||
|
delete [] temp_path;
|
||||||
|
delete[] buf;
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,29 +101,40 @@ int download_file_from_srv(const char* url, const char* output_file_path, bool i
|
|||||||
// Perform the download
|
// Perform the download
|
||||||
res = curl_easy_perform(curl);
|
res = curl_easy_perform(curl);
|
||||||
if (res != CURLE_OK) {
|
if (res != CURLE_OK) {
|
||||||
|
fclose(output_file);
|
||||||
|
delete[] temp_path;
|
||||||
|
delete[] buf;
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
// Cleanup and close the file
|
// Cleanup and close the file
|
||||||
curl_easy_cleanup(curl);
|
curl_easy_cleanup(curl);
|
||||||
fclose(output_file);
|
fclose(output_file);
|
||||||
if ((output_file = fopen(temp_path, "r")) == 0) {
|
if ((output_file = fopen(temp_path, "r")) == 0) {
|
||||||
|
delete[] temp_path;
|
||||||
|
delete[] buf;
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
fscanf(output_file, "%500s", buf);
|
fscanf(output_file, "%500s", buf);
|
||||||
if (strcmp(buf, "no_auth") == 0) {
|
if (strcmp(buf, "no_auth") == 0) {
|
||||||
fclose(output_file);
|
fclose(output_file);
|
||||||
|
delete[] temp_path;
|
||||||
|
delete[] buf;
|
||||||
return 5;
|
return 5;
|
||||||
}
|
}
|
||||||
else if(check_cert(buf, SECRETS)==0){
|
else if(check_cert(buf, SECRETS)==0){
|
||||||
remove(output_file_path);//remove old file, so it can be overwritten
|
remove(output_file_path);//remove old file, so it can be overwritten
|
||||||
fclose(output_file);
|
fclose(output_file);
|
||||||
if (rename(temp_path, output_file_path)!=0) {
|
if (rename(temp_path, output_file_path)!=0) {
|
||||||
|
delete[] temp_path;
|
||||||
|
delete[] buf;
|
||||||
return 6;
|
return 6;
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
fclose(output_file);
|
fclose(output_file);
|
||||||
return 7;
|
delete[] temp_path;
|
||||||
|
delete[] buf;
|
||||||
|
return 7;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
delete[] buf;
|
delete[] buf;
|
||||||
@@ -194,5 +207,6 @@ int upload_to_srv(const char* url, const char* filepath,bool ignore_insecure) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 2;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -178,6 +178,7 @@ void action_scanfile(const char*filepath) {
|
|||||||
//log(LOGLEVEL::INFO, "[action_scanfile_t()]: Scanning file: ", filepath);
|
//log(LOGLEVEL::INFO, "[action_scanfile_t()]: Scanning file: ", filepath);
|
||||||
if (strlen(filepath) == 0 or strcmp("", filepath) == 0 or file_exists(filepath) == false) {
|
if (strlen(filepath) == 0 or strcmp("", filepath) == 0 or file_exists(filepath) == false) {
|
||||||
thread_shutdown();
|
thread_shutdown();
|
||||||
|
delete[] db_path;
|
||||||
return; //no filepath given or file not accessible
|
return; //no filepath given or file not accessible
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -209,20 +210,21 @@ void scan_file_t(const std::string& filepath_) {
|
|||||||
search_hash(db_path, hash, filepath);
|
search_hash(db_path, hash, filepath);
|
||||||
num_threads--;
|
num_threads--;
|
||||||
}
|
}
|
||||||
void scan_process_t(const char* filepath) {
|
void scan_process_t(const std::string& filepath_) {
|
||||||
char* db_path = new char[300];
|
num_threads++;
|
||||||
char* hash = new char[300];
|
thread_local const std::string filepath(filepath_);
|
||||||
strcpy_s(hash, 295, md5_file_t(filepath).c_str());
|
thread_local char* db_path = new char[300];
|
||||||
sprintf_s(db_path, 295, "%s\\%c%c.jdbf", DB_DIR, hash[0], hash[1]);
|
thread_local char* hash = new char[300];
|
||||||
if (search_hash(db_path, hash, filepath)==1) {
|
strcpy_s(hash, 295, md5_file_t(filepath).c_str());
|
||||||
|
sprintf_s(db_path, 295, "%s\\%c%c.jdbf", DB_DIR, hash[0], hash[1]);
|
||||||
|
if (search_hash(db_path, hash, filepath) == 1) {
|
||||||
//check if need to kill process
|
//check if need to kill process
|
||||||
if (get_setting("virus_ctrl:virus_process_found:kill") == 1) {
|
if (get_setting("virus_ctrl:virus_process_found:kill") == 1) {
|
||||||
//kill the process
|
//kill the process
|
||||||
log(LOGLEVEL::VIRUS, "[scan_process_t()]: Killing process: ", filepath);
|
kill_process(filepath.c_str());
|
||||||
kill_process(filepath);
|
log(LOGLEVEL::VIRUS, "[scan_process_t()]: Killing process: ", filepath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
delete[] db_path;
|
num_threads--;
|
||||||
delete[] hash;
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -16,5 +16,5 @@ void action_scanfolder(const char* folderpath);
|
|||||||
//void action_scanfile_t(const char* filepath);
|
//void action_scanfile_t(const char* filepath);
|
||||||
void scan_file_t(const std::string& filepath_);
|
void scan_file_t(const std::string& filepath_);
|
||||||
int initialize(const std::string& folderPath);
|
int initialize(const std::string& folderPath);
|
||||||
void scan_process_t(const char* filepath);
|
void scan_process_t(const std::string& filepath_);
|
||||||
void cleanup();
|
void cleanup();
|
||||||
@@ -124,6 +124,27 @@ int virus_ctrl_process( const char* id) {
|
|||||||
delete[] db_path;
|
delete[] db_path;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
const char* get_filename(const char* path) {
|
||||||
|
const char* fileName = strrchr(path, '\\');
|
||||||
|
if (fileName == NULL) {
|
||||||
|
// No directory separator found, return the original path
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Return the substring after the last directory separator
|
||||||
|
return fileName + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int strcasecmp(const char* s1, const char* s2) {
|
||||||
|
while (*s1 && *s2) {
|
||||||
|
int diff = tolower(*s1) - tolower(*s2);
|
||||||
|
if (diff != 0)
|
||||||
|
return diff;
|
||||||
|
s1++;
|
||||||
|
s2++;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
void kill_process(const char*path) {
|
void kill_process(const char*path) {
|
||||||
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, NULL);
|
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, NULL);
|
||||||
PROCESSENTRY32 pEntry;
|
PROCESSENTRY32 pEntry;
|
||||||
@@ -131,7 +152,7 @@ void kill_process(const char*path) {
|
|||||||
BOOL hRes = Process32First(hSnapShot, &pEntry);
|
BOOL hRes = Process32First(hSnapShot, &pEntry);
|
||||||
while (hRes)
|
while (hRes)
|
||||||
{
|
{
|
||||||
if (strcmp(pEntry.szExeFile, path) == 0)
|
if (strcasecmp(pEntry.szExeFile, get_filename(path)) == 0)
|
||||||
{
|
{
|
||||||
HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, 0,
|
HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, 0,
|
||||||
(DWORD)pEntry.th32ProcessID);
|
(DWORD)pEntry.th32ProcessID);
|
||||||
|
|||||||
Binary file not shown.
@@ -156,14 +156,14 @@ load_settings();
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<h7>Kill processes which are detected to be a virus?</h7>
|
<h7>Kill processes which are detected to be a virus? (for this to work, you have to enable rtp processs scanner!)</h7>
|
||||||
<div class="form-check form-switch">
|
<div class="form-check form-switch">
|
||||||
<?php if($setting_virus_ctrl_virus_process_found_kill=="true")
|
<?php if($setting_virus_ctrl_virus_process_found_kill=="true")
|
||||||
echo ("<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"kill_virus_process\" onclick=\"update_switch('kill_virus_process','setting_virus_ctrl_virus_process_found_kill')\" checked>");
|
echo ("<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"kill_virus_process\" onclick=\"update_switch('kill_virus_process','setting_virus_ctrl_virus_process_found_kill')\" checked>");
|
||||||
else
|
else
|
||||||
echo ("<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"kill_virus_process\" onclick=\"update_switch('kill_virus_process','setting_virus_ctrl_virus_process_found_kill')\">");
|
echo ("<input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" id=\"kill_virus_process\" onclick=\"update_switch('kill_virus_process','setting_virus_ctrl_virus_process_found_kill')\">");
|
||||||
?>
|
?>
|
||||||
<label class="form-check-label" for="flexSwitchCheckDefault">Check file modifications</label>
|
<label class="form-check-label" for="flexSwitchCheckDefault">Kill process</label>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<h7>Allow communication with unsafe ssl cert? (if you are using self signed certs, activate this option)</h7>
|
<h7>Allow communication with unsafe ssl cert? (if you are using self signed certs, activate this option)</h7>
|
||||||
|
|||||||
Reference in New Issue
Block a user