adding rtp process scanner
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -2,6 +2,50 @@
|
|||||||
"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\\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\\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\\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}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:log.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}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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\\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}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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\\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}"
|
||||||
@@ -10,46 +54,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\\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_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}"
|
"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\\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\\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}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative: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\\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\\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}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"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}",
|
"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}"
|
"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\\log.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:log.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\\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\\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\\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}"
|
||||||
@@ -78,35 +86,63 @@
|
|||||||
"DocumentGroups": [
|
"DocumentGroups": [
|
||||||
{
|
{
|
||||||
"DockedWidth": 200,
|
"DockedWidth": 200,
|
||||||
"SelectedChildIndex": 8,
|
"SelectedChildIndex": 1,
|
||||||
"Children": [
|
"Children": [
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 6,
|
"DocumentIndex": 10,
|
||||||
|
"Title": "check_process.h",
|
||||||
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.h",
|
||||||
|
"RelativeDocumentMoniker": "check_process.h",
|
||||||
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.h",
|
||||||
|
"RelativeToolTip": "check_process.h",
|
||||||
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAAAAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||||
|
"WhenOpened": "2024-03-10T14:40:13.284Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 0,
|
||||||
|
"Title": "check_process.cpp",
|
||||||
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.cpp",
|
||||||
|
"RelativeDocumentMoniker": "check_process.cpp",
|
||||||
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.cpp",
|
||||||
|
"RelativeToolTip": "check_process.cpp",
|
||||||
|
"ViewState": "AQIAAAkAAAAAAAAAAAAAADkAAAARAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
|
"WhenOpened": "2024-03-10T14:40:03.094Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 9,
|
||||||
"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",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp",
|
||||||
"RelativeToolTip": "md5hash.cpp",
|
"RelativeToolTip": "md5hash.cpp",
|
||||||
"ViewState": "AQIAAAwAAAAAAAAAAAAAACwAAAAnAAAA",
|
"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": 7,
|
||||||
"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",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h",
|
||||||
"RelativeToolTip": "settings.h",
|
"RelativeToolTip": "settings.h",
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAA8AAAAcAAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAXAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||||
"WhenOpened": "2024-03-09T13:50:21.91Z"
|
"WhenOpened": "2024-03-09T13:50:21.91Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 12,
|
"DocumentIndex": 14,
|
||||||
"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",
|
||||||
@@ -118,31 +154,33 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 5,
|
"DocumentIndex": 4,
|
||||||
"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": "AQIAAAUBAAAAAAAAAAAkwCYBAABhAAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAABwAAABSAAAA",
|
||||||
"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": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 7,
|
"DocumentIndex": 2,
|
||||||
"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",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h",
|
||||||
"RelativeToolTip": "log.h",
|
"RelativeToolTip": "log.h",
|
||||||
"ViewState": "AQIAAGAAAAAAAAAAAAAAAIIAAACFAAAA",
|
"ViewState": "AQIAAFMAAAAAAAAAAAAkwG8AAAAqAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||||
"WhenOpened": "2024-02-25T09:02:55.874Z"
|
"WhenOpened": "2024-02-25T09:02:55.874Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 9,
|
"DocumentIndex": 3,
|
||||||
"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",
|
||||||
@@ -150,11 +188,12 @@
|
|||||||
"RelativeToolTip": "log.cpp",
|
"RelativeToolTip": "log.cpp",
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAB8AAAAFAAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAB8AAAAFAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-02-25T09:08:59.07Z"
|
"WhenOpened": "2024-02-25T09:08:59.07Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 1,
|
"DocumentIndex": 12,
|
||||||
"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",
|
||||||
@@ -162,24 +201,24 @@
|
|||||||
"RelativeToolTip": "local_com.cpp",
|
"RelativeToolTip": "local_com.cpp",
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAQAAAAXAAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAQAAAAXAAAA",
|
||||||
"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": 11,
|
"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": "AQIAALQAAAAAAAAAAAAAANEAAAAAAAAA",
|
"ViewState": "AQIAAKMAAAAAAAAAAAAkwMkAAAAqAAAA",
|
||||||
"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": 0,
|
"DocumentIndex": 11,
|
||||||
"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",
|
||||||
@@ -192,32 +231,33 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 2,
|
"DocumentIndex": 8,
|
||||||
"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": "AQIAADkAAAAAAAAAAAAAAE8AAAAfAAAA",
|
"ViewState": "AQIAACQAAAAAAAAAAAAAAEUAAAA1AAAA",
|
||||||
"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": ""
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 4,
|
"DocumentIndex": 6,
|
||||||
"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": "AQIAAEgAAAAAAAAAAAAAAGsAAAAYAAAA",
|
"ViewState": "AQIAAJ8AAAAAAAAAAAAkwMoAAAAQAAAA",
|
||||||
"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": 13,
|
"DocumentIndex": 15,
|
||||||
"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",
|
||||||
@@ -229,7 +269,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 14,
|
"DocumentIndex": 16,
|
||||||
"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",
|
||||||
@@ -241,7 +281,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 16,
|
"DocumentIndex": 18,
|
||||||
"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",
|
||||||
@@ -253,7 +293,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 15,
|
"DocumentIndex": 17,
|
||||||
"Title": "queue _ctrl.cpp",
|
"Title": "queue _ctrl.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue _ctrl.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue _ctrl.cpp",
|
||||||
"RelativeDocumentMoniker": "queue _ctrl.cpp",
|
"RelativeDocumentMoniker": "queue _ctrl.cpp",
|
||||||
@@ -265,7 +305,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 8,
|
"DocumentIndex": 13,
|
||||||
"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",
|
||||||
@@ -277,13 +317,13 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 3,
|
"DocumentIndex": 1,
|
||||||
"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": "AQIAADYAAAAAAAAAAAAAAEkAAAAqAAAA",
|
"ViewState": "AQIAADYAAAAAAAAAAAAAAF0AAAAsAAAA",
|
||||||
"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": ""
|
||||||
|
|||||||
@@ -9,134 +9,6 @@
|
|||||||
#include "virus_ctrl.h"
|
#include "virus_ctrl.h"
|
||||||
#include "scan.h"
|
#include "scan.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
/* old implementation. used up a lot of resource and did not work properly.
|
|
||||||
void add_to_temp_db(const char*hash) {
|
|
||||||
//PERIODIC_FOLDER_SCAN_TEMP_DB
|
|
||||||
FILE*fp;
|
|
||||||
if (fopen_s(&fp, PERIODIC_FOLDER_SCAN_TEMP_DB, "a") != 0) {
|
|
||||||
log(LOGLEVEL::ERR, "[add_to_temp_db()]: Error opening temp db: ", PERIODIC_FOLDER_SCAN_TEMP_DB);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
//log(LOGLEVEL::INFO, "[add_to_temp_db()]: Adding hash: ", hash, " to temp db: ", PERIODIC_FOLDER_SCAN_TEMP_DB);
|
|
||||||
fprintf_s(fp, "%s\n", hash);
|
|
||||||
fclose(fp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
void scan_folder_recursive(const std::string& directory, int thread_id,const std::string&db_file) {
|
|
||||||
std::string search_path = directory + "\\*.*";
|
|
||||||
WIN32_FIND_DATA find_file_data;
|
|
||||||
HANDLE hFind = FindFirstFile(search_path.c_str(), &find_file_data);
|
|
||||||
|
|
||||||
if (hFind == INVALID_HANDLE_VALUE) {
|
|
||||||
//std::cerr << "Error opening directory: " << directory << std::endl;
|
|
||||||
log(LOGLEVEL::ERR, "[scan_folder_recursive()]: Error opening directory: ", directory ," while scanning folder for new files");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
do {
|
|
||||||
if (strcmp(find_file_data.cFileName, ".") == 0 || strcmp(find_file_data.cFileName, "..") == 0) {
|
|
||||||
continue; // Skip the current and parent directories
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
std::string full_path = directory + "\\" + find_file_data.cFileName;
|
|
||||||
if (find_file_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
|
|
||||||
// If it's a directory, recurse into it
|
|
||||||
scan_folder_recursive(full_path, thread_id,db_file);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// If it's a file, check if it is in db, else scan it and add it to db
|
|
||||||
char*hash = new char[300];
|
|
||||||
md5_file(full_path.c_str(), hash);
|
|
||||||
//now find hash in db
|
|
||||||
if (scan_hash(db_file.c_str(), hash)==1) {
|
|
||||||
//file is allready in db, skipping
|
|
||||||
//in order to not keep hashes that are not present anymore in the db, we have to write this hash into a temp dir, which is at the end copied into the main db
|
|
||||||
add_to_temp_db(hash);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
//scan the file and add it to db
|
|
||||||
//scan for virus
|
|
||||||
|
|
||||||
switch (scan_hash(hash)) {
|
|
||||||
case 1:
|
|
||||||
//virus found
|
|
||||||
//log it
|
|
||||||
log(LOGLEVEL::VIRUS, "[scan_folder_recursive()]: Virus found in file: ", full_path, " while scanning ", directory, " for new files");
|
|
||||||
//virus_ctrl_store(full_path.c_str(), hash, "fs");
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
//error
|
|
||||||
log(LOGLEVEL::ERR, "[scan_folder_recursive()]: Error while scanning file: ", full_path, " while scanning ", directory, " for new files");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
//not a virus
|
|
||||||
add_to_temp_db(hash);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
} while (FindNextFile(hFind, &find_file_data) != 0);
|
|
||||||
|
|
||||||
FindClose(hFind);
|
|
||||||
}
|
|
||||||
int check_scan_dir(char*dirpath,char*dirname) {
|
|
||||||
if (can_scan_folder()) {
|
|
||||||
scan_folder_init();
|
|
||||||
//FOLDER_DATABASE_DIR <= the folder where the database for folder checking is stored
|
|
||||||
//the database is stored in the following format:
|
|
||||||
/* a file per folder (and its subfolders)
|
|
||||||
in this db file the hashes of all the files in the folder (and its subfolders) are stored
|
|
||||||
If a file is detected, which hash is not known, it gets scanned and added to the db. if a hash is inside the db, which is not present in the folder, the hash is rempved from the db
|
|
||||||
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
FILE* fp;
|
|
||||||
char* path = new char[300];
|
|
||||||
path[0] = '\0';
|
|
||||||
//build up the path for the db file.
|
|
||||||
strcpy_s(path, 295, FOLDER_DATABASE_DIR);
|
|
||||||
strcat_s(path, 295, "\\");
|
|
||||||
strcat_s(path, 295, dirname);
|
|
||||||
strcat_s(path, 295, ".jdbf");
|
|
||||||
|
|
||||||
//check if the file exists. else we cannot scan the folder
|
|
||||||
if ((fopen_s(&fp, path, "r")) != 0) {
|
|
||||||
log(LOGLEVEL::ERR, "[check_scan_dir()]: Error opening database: ", path, " while scanning folder for new files; aborting");
|
|
||||||
//try to create the file
|
|
||||||
if (fopen_s(&fp, path, "w") != 0) {
|
|
||||||
log(LOGLEVEL::ERR, "[check_scan_dir()]: Error creating new database: ", path, " while scanning folder for new files; aborting");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
fprintf_s(fp, "%s\n", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");//write A 32 times A into the file. So the algorithm ha ssomething to map into memory. else it might throw an error
|
|
||||||
fclose(fp);
|
|
||||||
}
|
|
||||||
scan_folder_shutdown();
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
fclose(fp);
|
|
||||||
//process the files of the folder.
|
|
||||||
//first: calculate hash of file
|
|
||||||
//second: check if hash is in db
|
|
||||||
//if not, scan file and add it to db (only add it if it is not detected as a virus)
|
|
||||||
scan_folder_recursive(dirpath, 0,path);
|
|
||||||
//process the found viruses
|
|
||||||
virus_ctrl_process("fs");
|
|
||||||
}
|
|
||||||
delete[] path;
|
|
||||||
scan_folder_shutdown();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
|
|
||||||
//there is already a folder scan happening
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
*/
|
|
||||||
bool is_directory(const std::string& path) {
|
bool is_directory(const std::string& path) {
|
||||||
DWORD attributes = GetFileAttributes(path.c_str());
|
DWORD attributes = GetFileAttributes(path.c_str());
|
||||||
|
|
||||||
@@ -166,99 +38,6 @@ void process_changes(const FILE_NOTIFY_INFORMATION* pInfo) {
|
|||||||
}
|
}
|
||||||
//log(LOGLEVEL::INFO, "[process_changes()]: File change: ", filename_str.c_str(), " while monitoring directory for changes");
|
//log(LOGLEVEL::INFO, "[process_changes()]: File change: ", filename_str.c_str(), " while monitoring directory for changes");
|
||||||
}
|
}
|
||||||
/* this was the old algorithm. it was slower and used up more resources, because it used a database to track which files have been modified instead of using the windows internal functions
|
|
||||||
void monitor_directory(LPCSTR directory) {
|
|
||||||
// Open the directory for monitoring
|
|
||||||
HANDLE hDir = CreateFile(
|
|
||||||
directory,
|
|
||||||
FILE_LIST_DIRECTORY,
|
|
||||||
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
|
|
||||||
NULL,
|
|
||||||
OPEN_EXISTING,
|
|
||||||
FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OVERLAPPED,
|
|
||||||
NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
if (hDir == INVALID_HANDLE_VALUE) {
|
|
||||||
log(LOGLEVEL::ERR, "[monitor_directory()]: Error opening directory: ", directory, " while monitoring directory for changes");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a buffer for file change notifications
|
|
||||||
constexpr DWORD bufferSize = 4096;
|
|
||||||
BYTE buffer[bufferSize];
|
|
||||||
|
|
||||||
// Monitor the directory for changes
|
|
||||||
OVERLAPPED overlapped;
|
|
||||||
memset(&overlapped, 0, sizeof(overlapped));
|
|
||||||
overlapped.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
|
|
||||||
|
|
||||||
if (ReadDirectoryChangesW(
|
|
||||||
hDir,
|
|
||||||
buffer,
|
|
||||||
bufferSize,
|
|
||||||
TRUE,
|
|
||||||
FILE_NOTIFY_CHANGE_FILE_NAME | FILE_NOTIFY_CHANGE_DIR_NAME | FILE_NOTIFY_CHANGE_SIZE,
|
|
||||||
NULL,
|
|
||||||
&overlapped,
|
|
||||||
NULL) == 0) {
|
|
||||||
log(LOGLEVEL::ERR, "[monitor_directory()]: Error reading directory changes: ", GetLastError(), " while monitoring directory for changes");
|
|
||||||
CloseHandle(hDir);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
log(LOGLEVEL::INFO, "[monitor_directory()]: Monitoring directory: ", directory, " for changes");
|
|
||||||
//print_exclusions();
|
|
||||||
|
|
||||||
// Wait for changes
|
|
||||||
while (true) {
|
|
||||||
DWORD bytesReturned;
|
|
||||||
if (GetOverlappedResult(hDir, &overlapped, &bytesReturned, TRUE)) {
|
|
||||||
// Process the changes in the buffer
|
|
||||||
FILE_NOTIFY_INFORMATION* pInfo = reinterpret_cast<FILE_NOTIFY_INFORMATION*>(buffer);
|
|
||||||
|
|
||||||
do {
|
|
||||||
process_changes(pInfo);
|
|
||||||
|
|
||||||
pInfo = reinterpret_cast<FILE_NOTIFY_INFORMATION*>(
|
|
||||||
reinterpret_cast<BYTE*>(pInfo) + pInfo->NextEntryOffset);
|
|
||||||
|
|
||||||
} while (pInfo->NextEntryOffset != 0);
|
|
||||||
|
|
||||||
// Reset the event for the next wait
|
|
||||||
ResetEvent(overlapped.hEvent);
|
|
||||||
|
|
||||||
// Continue monitoring
|
|
||||||
if (ReadDirectoryChangesW(
|
|
||||||
hDir,
|
|
||||||
buffer,
|
|
||||||
bufferSize,
|
|
||||||
TRUE,
|
|
||||||
FILE_NOTIFY_CHANGE_FILE_NAME | FILE_NOTIFY_CHANGE_DIR_NAME | FILE_NOTIFY_CHANGE_SIZE,
|
|
||||||
NULL,
|
|
||||||
&overlapped,
|
|
||||||
NULL) == 0) {
|
|
||||||
log(LOGLEVEL::ERR, "[monitor_directory()]: Error reading directory changes: ", GetLastError(), " while monitoring directory for changes");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
DWORD error = GetLastError();
|
|
||||||
if (error != ERROR_IO_PENDING) {
|
|
||||||
log(LOGLEVEL::ERR, "[monitor_directory()]: Error reading directory changes: ", error, " while monitoring directory for changes");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wait for the event to be signaled (infinite timeout)
|
|
||||||
WaitForSingleObject(overlapped.hEvent, INFINITE);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Cleanup
|
|
||||||
CloseHandle(overlapped.hEvent);
|
|
||||||
CloseHandle(hDir);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
void monitor_directory(LPCSTR directory) {
|
void monitor_directory(LPCSTR directory) {
|
||||||
// Open the directory for monitoring
|
// Open the directory for monitoring
|
||||||
@@ -357,18 +136,9 @@ void monitor_directory(LPCSTR directory) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void folder_scanner() {
|
void folder_scanner() {
|
||||||
|
|
||||||
//we are in a completely seperate thread then the main thread; unlimited resources wuhuii
|
//we are in a completely seperate thread then the main thread; unlimited resources wuhuii
|
||||||
FILE*fp;
|
|
||||||
char* path = new char[300];
|
|
||||||
char* foldername = new char[300];
|
|
||||||
|
|
||||||
//start the watch dir function used to monitor the dir for new files
|
//start the watch dir function used to monitor the dir for new files
|
||||||
monitor_directory("C:\\");
|
monitor_directory("C:\\");
|
||||||
|
|
||||||
|
|
||||||
delete[] path;
|
|
||||||
delete[] foldername;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !CHECK_DIR_CPP
|
#endif // !CHECK_DIR_CPP
|
||||||
75
src/client_backend/check_process.cpp
Normal file
75
src/client_backend/check_process.cpp
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
#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
|
||||||
|
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 i=0;i<strlen(path);i++)
|
||||||
|
path[i] = tolower(path[i]);
|
||||||
|
//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_file_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
|
||||||
|
}
|
||||||
|
}
|
||||||
8
src/client_backend/check_process.h
Normal file
8
src/client_backend/check_process.h
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <windows.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <wchar.h>
|
||||||
|
#include <tchar.h>
|
||||||
|
#include <psapi.h>
|
||||||
|
|
||||||
|
void process_scanner();
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
#include "check_dir.h"
|
#include "check_dir.h"
|
||||||
#include "virus_ctrl.h"
|
#include "virus_ctrl.h"
|
||||||
#include "update.h"
|
#include "update.h"
|
||||||
|
#include "check_process.h"
|
||||||
int main() {
|
int main() {
|
||||||
//log(LOGLEVEL::INFO, "[main()]:Starting main thread.");
|
//log(LOGLEVEL::INFO, "[main()]:Starting main thread.");
|
||||||
//return 0;
|
//return 0;
|
||||||
@@ -67,10 +68,15 @@ int main() {
|
|||||||
|
|
||||||
// Start a second thread for real-time protection
|
// Start a second thread for real-time protection
|
||||||
if (get_setting("rtp_folder_scan:status") == 1) {
|
if (get_setting("rtp_folder_scan:status") == 1) {
|
||||||
log(LOGLEVEL::INFO, "[main()]:Starting real time protection.");
|
log(LOGLEVEL::INFO, "[main()]:Starting real time file protection.");
|
||||||
std::thread folder_scanner_thread(folder_scanner);
|
std::thread folder_scanner_thread(folder_scanner);
|
||||||
folder_scanner_thread.detach();
|
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
|
// Main thread loop
|
||||||
while (!app_stop()) {
|
while (!app_stop()) {
|
||||||
|
|||||||
@@ -139,6 +139,7 @@
|
|||||||
<ClCompile Include="app_ctrl.cpp" />
|
<ClCompile Include="app_ctrl.cpp" />
|
||||||
<ClCompile Include="app_ctrl.h" />
|
<ClCompile Include="app_ctrl.h" />
|
||||||
<ClCompile Include="check_dir.cpp" />
|
<ClCompile Include="check_dir.cpp" />
|
||||||
|
<ClCompile Include="check_process.cpp" />
|
||||||
<ClCompile Include="client_backend.cpp" />
|
<ClCompile Include="client_backend.cpp" />
|
||||||
<ClCompile Include="connect.cpp" />
|
<ClCompile Include="connect.cpp" />
|
||||||
<ClCompile Include="local_com.cpp" />
|
<ClCompile Include="local_com.cpp" />
|
||||||
@@ -156,6 +157,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="check_dir.h" />
|
<ClInclude Include="check_dir.h" />
|
||||||
|
<ClInclude Include="check_process.h" />
|
||||||
<ClInclude Include="connect.h" />
|
<ClInclude Include="connect.h" />
|
||||||
<ClInclude Include="local_com.h" />
|
<ClInclude Include="local_com.h" />
|
||||||
<ClInclude Include="local_schedule.h" />
|
<ClInclude Include="local_schedule.h" />
|
||||||
|
|||||||
@@ -66,6 +66,9 @@
|
|||||||
<ClCompile Include="security.cpp">
|
<ClCompile Include="security.cpp">
|
||||||
<Filter>Headerdateien</Filter>
|
<Filter>Headerdateien</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="check_process.cpp">
|
||||||
|
<Filter>Headerdateien</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="md5hash.h">
|
<ClInclude Include="md5hash.h">
|
||||||
@@ -116,6 +119,9 @@
|
|||||||
<ClInclude Include="security.h">
|
<ClInclude Include="security.h">
|
||||||
<Filter>Headerdateien</Filter>
|
<Filter>Headerdateien</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="check_process.h">
|
||||||
|
<Filter>Headerdateien</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="client_backend.rc">
|
<ResourceCompile Include="client_backend.rc">
|
||||||
|
|||||||
Binary file not shown.
@@ -1,37 +1,3 @@
|
|||||||
Quellen werden auf Modulabhängigkeiten überprüft...
|
Quellen werden auf Modulabhängigkeiten überprüft...
|
||||||
check_dir.cpp
|
check_process.cpp
|
||||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\check_dir.cpp(362,7): warning C4101: "fp": Unreferenzierte lokale Variable
|
|
||||||
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\xutility(4537,18): warning C4244: "=": Konvertierung von "wchar_t" in "char", möglicher Datenverlust
|
|
||||||
(Quelldatei „check_dir.cpp“ wird kompiliert)
|
|
||||||
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\xutility(4537,18):
|
|
||||||
der Vorlageninstanziierungskontext (der älteste zuerst) ist
|
|
||||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\check_dir.cpp(155,29):
|
|
||||||
Siehe Verweis auf die gerade kompilierte Instanziierung "std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<std::_String_iterator<std::_String_val<std::_Simple_types<_Elem>>>,0>(_Iter,_Iter,const _Alloc &)" der Funktions-Vorlage.
|
|
||||||
with
|
|
||||||
[
|
|
||||||
_Elem=wchar_t,
|
|
||||||
_Iter=std::_String_iterator<std::_String_val<std::_Simple_types<wchar_t>>>,
|
|
||||||
_Alloc=std::allocator<char>
|
|
||||||
]
|
|
||||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\check_dir.cpp(155,29):
|
|
||||||
Ersten Verweis auf "std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string" in "process_changes" anzeigen
|
|
||||||
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\xstring(2600,17):
|
|
||||||
Siehe Verweis auf die gerade kompilierte Instanziierung "void std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Construct_from_iter<wchar_t*,wchar_t*,_Size_type>(_Iter,const _Sent,_Size)" der Funktions-Vorlage.
|
|
||||||
with
|
|
||||||
[
|
|
||||||
_Size_type=unsigned __int64,
|
|
||||||
_Iter=wchar_t *,
|
|
||||||
_Sent=wchar_t *,
|
|
||||||
_Size=unsigned __int64
|
|
||||||
]
|
|
||||||
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\xstring(2756,18):
|
|
||||||
Siehe Verweis auf die gerade kompilierte Instanziierung "_OutIt *std::_Copy_n_unchecked4<wchar_t*,_Size,char*>(_InIt,_SizeTy,_OutIt)" der Funktions-Vorlage.
|
|
||||||
with
|
|
||||||
[
|
|
||||||
_OutIt=char *,
|
|
||||||
_Size=unsigned __int64,
|
|
||||||
_InIt=wchar_t *,
|
|
||||||
_SizeTy=unsigned __int64
|
|
||||||
]
|
|
||||||
|
|
||||||
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.
@@ -1,6 +1,7 @@
|
|||||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\app_ctrl.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\app_ctrl.obj
|
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\app_ctrl.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\app_ctrl.obj
|
||||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\app_ctrl.h;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\app_ctrl.h.obj
|
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\app_ctrl.h;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\app_ctrl.h.obj
|
||||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\check_dir.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\check_dir.obj
|
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\check_dir.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\check_dir.obj
|
||||||
|
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\check_process.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\check_process.obj
|
||||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\client_backend.obj
|
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\client_backend.obj
|
||||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\connect.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\connect.obj
|
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\connect.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\connect.obj
|
||||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\local_com.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\local_com.obj
|
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\local_com.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\local_com.obj
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,2 +1,2 @@
|
|||||||
^C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\APP_CTRL.H.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\APP_CTRL.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CHECK_DIR.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CLIENT_BACKEND.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CLIENT_BACKEND.RES|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CONNECT.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\LOCAL_COM.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\LOCAL_SCHEDULE.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\LOG.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\MD5HASH.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\PERMISSIONS.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\QUEUE _CTRL.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\SCAN.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\SECURITY.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\SETTINGS.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\THREAD_CTRL.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\UPDATE.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\VIRUS_CTRL.OBJ
|
^C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\APP_CTRL.H.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\APP_CTRL.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CHECK_DIR.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CHECK_PROCESS.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CLIENT_BACKEND.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CLIENT_BACKEND.RES|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CONNECT.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\LOCAL_COM.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\LOCAL_SCHEDULE.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\LOG.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\MD5HASH.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\PERMISSIONS.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\QUEUE _CTRL.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\SCAN.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\SECURITY.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\SETTINGS.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\THREAD_CTRL.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\UPDATE.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\VIRUS_CTRL.OBJ
|
||||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\client_backend.ilk
|
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\client_backend.ilk
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -10,6 +10,7 @@ int excluded_folders_size = 0;
|
|||||||
char included_folders[100][300];
|
char included_folders[100][300];
|
||||||
int included_folders_size = 0;
|
int included_folders_size = 0;
|
||||||
bool setting_rtp_folder_scan_status = 1; //0=off, 1=on
|
bool setting_rtp_folder_scan_status = 1; //0=off, 1=on
|
||||||
|
bool setting_rtp_process_scan_status = 1; //0=off, 1=on
|
||||||
bool setting_communication_unsafe_tls = 0; //0=do not allow communication via unsfae, slef signed certs, 1=allwo communication via unsafe, self signed certs
|
bool setting_communication_unsafe_tls = 0; //0=do not allow communication via unsfae, slef signed certs, 1=allwo communication via unsafe, self signed certs
|
||||||
int srv_log_timeout = 0;
|
int srv_log_timeout = 0;
|
||||||
int log_timeout_reset = 0;
|
int log_timeout_reset = 0;
|
||||||
@@ -51,13 +52,22 @@ int load_settings() {
|
|||||||
}
|
}
|
||||||
else if (strcmp(settings_cmd, "rtp_folder_scan:status") == 0) {
|
else if (strcmp(settings_cmd, "rtp_folder_scan:status") == 0) {
|
||||||
fscanf_s(fp, "%s", settings_arg, 295); // get the argument
|
fscanf_s(fp, "%s", settings_arg, 295); // get the argument
|
||||||
if (strcmp(settings_arg, "on") == 0) {
|
if (strcmp(settings_arg, "true") == 0) {
|
||||||
setting_rtp_folder_scan_status = 1; //1=on
|
setting_rtp_folder_scan_status = 1; //1=on
|
||||||
}
|
}
|
||||||
else if (strcmp(settings_arg, "off") == 0) {
|
else if (strcmp(settings_arg, "false") == 0) {
|
||||||
setting_rtp_folder_scan_status = 0; //0=off
|
setting_rtp_folder_scan_status = 0; //0=off
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (strcmp(settings_cmd, "rtp_process_scan:status") == 0) {
|
||||||
|
fscanf_s(fp, "%s", settings_arg, 295); // get the argument
|
||||||
|
if (strcmp(settings_arg, "true") == 0) {
|
||||||
|
setting_rtp_process_scan_status = 1; //1=on
|
||||||
|
}
|
||||||
|
else if (strcmp(settings_arg, "false") == 0) {
|
||||||
|
setting_rtp_process_scan_status = 0; //0=off
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (strcmp(settings_cmd, "communication:unsafe_tls") == 0) {
|
else if (strcmp(settings_cmd, "communication:unsafe_tls") == 0) {
|
||||||
fscanf_s(fp, "%s", settings_arg, 295); // get the argument
|
fscanf_s(fp, "%s", settings_arg, 295); // get the argument
|
||||||
if (strcmp(settings_arg, "allow") == 0) {
|
if (strcmp(settings_arg, "allow") == 0) {
|
||||||
@@ -87,6 +97,9 @@ int get_setting(const char*setting_name) {
|
|||||||
else if (strcmp(setting_name, "rtp_folder_scan:status") == 0) {
|
else if (strcmp(setting_name, "rtp_folder_scan:status") == 0) {
|
||||||
return setting_rtp_folder_scan_status;
|
return setting_rtp_folder_scan_status;
|
||||||
}
|
}
|
||||||
|
else if (strcmp(setting_name, "rtp_process_scan:status") == 0) {
|
||||||
|
return setting_rtp_process_scan_status;
|
||||||
|
}
|
||||||
else if (strcmp(setting_name, "communication:unsafe_tls") == 0) {
|
else if (strcmp(setting_name, "communication:unsafe_tls") == 0) {
|
||||||
return setting_communication_unsafe_tls;
|
return setting_communication_unsafe_tls;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ int virus_ctrl_process( const char* id) {
|
|||||||
if (get_setting("server:server_url", url) == 0 or strcmp(url, "nan") == 0) {
|
if (get_setting("server:server_url", url) == 0 or strcmp(url, "nan") == 0) {
|
||||||
strcat_s(url, 1000, "/api/php/virus/notify_virus.php?");
|
strcat_s(url, 1000, "/api/php/virus/notify_virus.php?");
|
||||||
strcat_s(url, 1000, "file=");
|
strcat_s(url, 1000, "file=");
|
||||||
strcat_s(url, 1000, path);
|
strcat_s(url, 1000, url_encode(path));
|
||||||
strcat_s(url, 1000, "&hash=");
|
strcat_s(url, 1000, "&hash=");
|
||||||
strcat_s(url, 1000, hash);
|
strcat_s(url, 1000, hash);
|
||||||
strcat_s(url, 1000, "&action=");
|
strcat_s(url, 1000, "&action=");
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user