diff --git a/src/client_backend/.vs/client_backend/v17/.suo b/src/client_backend/.vs/client_backend/v17/.suo index d67f43f..64e9f3e 100644 Binary files a/src/client_backend/.vs/client_backend/v17/.suo and b/src/client_backend/.vs/client_backend/v17/.suo differ diff --git a/src/client_backend/.vs/client_backend/v17/DocumentLayout.json b/src/client_backend/.vs/client_backend/v17/DocumentLayout.json index 28b23c1..a31d6a9 100644 --- a/src/client_backend/.vs/client_backend/v17/DocumentLayout.json +++ b/src/client_backend/.vs/client_backend/v17/DocumentLayout.json @@ -3,20 +3,32 @@ "WorkspaceRootPath": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\", "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\\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\\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\\deepscan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:deepscan.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}" + }, + { + "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:deepscan.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\\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_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\\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\\utils.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", @@ -50,10 +62,6 @@ "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\\deepscan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:deepscan.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}" @@ -74,10 +82,6 @@ "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\\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\\utils.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:utils.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" @@ -106,10 +110,6 @@ "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.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_com.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\\deepscan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:deepscan.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.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:update.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" @@ -138,35 +138,24 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 2, + "SelectedChildIndex": 26, "Children": [ { "$type": "Document", - "DocumentIndex": 18, - "Title": "check_dir.cpp", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp", - "RelativeDocumentMoniker": "check_dir.cpp", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp", - "RelativeToolTip": "check_dir.cpp", - "ViewState": "AQIAAIEAAAAAAAAAAAAAAH0AAAAtAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-13T06:48:31.009Z" - }, - { - "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 5, "Title": "settings.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp", "RelativeDocumentMoniker": "settings.cpp", "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp", "RelativeToolTip": "settings.cpp", - "ViewState": "AQIAALQAAAAAAAAAAAAvwM4AAAAmAAAA", + "ViewState": "AQIAAGwAAAAAAAAAAAAvwIsAAAA7AAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-13T06:48:40.364Z" + "WhenOpened": "2024-03-13T06:48:40.364Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 6, "Title": "client_backend.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp", "RelativeDocumentMoniker": "client_backend.cpp", @@ -179,19 +168,7 @@ }, { "$type": "Document", - "DocumentIndex": 17, - "Title": "update.cpp", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp", - "RelativeDocumentMoniker": "update.cpp", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp", - "RelativeToolTip": "update.cpp", - "ViewState": "AQIAAJAAAAAAAAAAAAAAAKYAAAAsAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-01-28T20:40:06.248Z" - }, - { - "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 7, "Title": "utils.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.cpp", "RelativeDocumentMoniker": "utils.cpp", @@ -203,7 +180,7 @@ }, { "$type": "Document", - "DocumentIndex": 16, + "DocumentIndex": 18, "Title": "log.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h", "RelativeDocumentMoniker": "log.h", @@ -215,7 +192,7 @@ }, { "$type": "Document", - "DocumentIndex": 15, + "DocumentIndex": 17, "Title": "well_known.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\well_known.h", "RelativeDocumentMoniker": "well_known.h", @@ -227,7 +204,7 @@ }, { "$type": "Document", - "DocumentIndex": 14, + "DocumentIndex": 16, "Title": "thread_ctrl.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp", "RelativeDocumentMoniker": "thread_ctrl.cpp", @@ -239,7 +216,7 @@ }, { "$type": "Document", - "DocumentIndex": 22, + "DocumentIndex": 23, "Title": "scan.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h", "RelativeDocumentMoniker": "scan.h", @@ -251,7 +228,7 @@ }, { "$type": "Document", - "DocumentIndex": 13, + "DocumentIndex": 15, "Title": "md5hash.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp", "RelativeDocumentMoniker": "md5hash.cpp", @@ -263,19 +240,20 @@ }, { "$type": "Document", - "DocumentIndex": 12, + "DocumentIndex": 1, "Title": "deepscan.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.cpp", "RelativeDocumentMoniker": "deepscan.cpp", "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.cpp", "RelativeToolTip": "deepscan.cpp", - "ViewState": "AQIAAPwAAAAAAAAAAAAvwP4AAAAlAAAA", + "ViewState": "AQIAALoAAAAAAAAAAAAswAwBAAAJAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-31T08:30:41.528Z" + "WhenOpened": "2024-03-31T08:30:41.528Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 14, "Title": "virus_ctrl.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp", "RelativeDocumentMoniker": "virus_ctrl.cpp", @@ -287,7 +265,7 @@ }, { "$type": "Document", - "DocumentIndex": 10, + "DocumentIndex": 13, "Title": "security.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.cpp", "RelativeDocumentMoniker": "security.cpp", @@ -299,7 +277,7 @@ }, { "$type": "Document", - "DocumentIndex": 9, + "DocumentIndex": 12, "Title": "security.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.h", "RelativeDocumentMoniker": "security.h", @@ -311,7 +289,7 @@ }, { "$type": "Document", - "DocumentIndex": 8, + "DocumentIndex": 11, "Title": "zip.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.cpp", "RelativeDocumentMoniker": "zip.cpp", @@ -335,7 +313,7 @@ }, { "$type": "Document", - "DocumentIndex": 25, + "DocumentIndex": 26, "Title": "local_com.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.h", "RelativeDocumentMoniker": "local_com.h", @@ -359,7 +337,7 @@ }, { "$type": "Document", - "DocumentIndex": 7, + "DocumentIndex": 10, "Title": "queue _ctrl.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue _ctrl.cpp", "RelativeDocumentMoniker": "queue _ctrl.cpp", @@ -395,31 +373,33 @@ }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 2, "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": "AQIAAB4AAAAAAAAAAAAAAD8AAAAxAAAA", + "ViewState": "AQIAACoAAAAAAAAAAAAAAFIAAAAJAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-14T13:35:33.369Z" + "WhenOpened": "2024-03-14T13:35:33.369Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 2, + "DocumentIndex": 4, "Title": "scan.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp", "RelativeDocumentMoniker": "scan.cpp", "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp", "RelativeToolTip": "scan.cpp", - "ViewState": "AQIAACEBAAAAAAAAAAAvwDQBAAAfAAAA", + "ViewState": "AQIAAGABAAAAAAAAAAAvwIMBAAAJAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-01-28T20:40:06.248Z" + "WhenOpened": "2024-01-28T20:40:06.248Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 6, + "DocumentIndex": 9, "Title": "connect.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp", "RelativeDocumentMoniker": "connect.cpp", @@ -431,7 +411,7 @@ }, { "$type": "Document", - "DocumentIndex": 20, + "DocumentIndex": 21, "Title": "settings.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h", "RelativeDocumentMoniker": "settings.h", @@ -443,7 +423,7 @@ }, { "$type": "Document", - "DocumentIndex": 19, + "DocumentIndex": 20, "Title": "utils.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.h", "RelativeDocumentMoniker": "utils.h", @@ -455,7 +435,7 @@ }, { "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 8, "Title": "permissions.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\permissions.cpp", "RelativeDocumentMoniker": "permissions.cpp", @@ -467,7 +447,45 @@ }, { "$type": "Document", - "DocumentIndex": 21, + "DocumentIndex": 3, + "Title": "deepscan.h", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.h", + "RelativeDocumentMoniker": "deepscan.h", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.h", + "RelativeToolTip": "deepscan.h", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAUAAAA2AAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", + "WhenOpened": "2024-03-31T08:30:49.097Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "check_dir.cpp", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp", + "RelativeDocumentMoniker": "check_dir.cpp", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp", + "RelativeToolTip": "check_dir.cpp", + "ViewState": "AQIAACEAAAAAAAAAAAAAADwAAAAhAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-03-13T06:48:31.009Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 19, + "Title": "update.cpp", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp", + "RelativeDocumentMoniker": "update.cpp", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp", + "RelativeToolTip": "update.cpp", + "ViewState": "AQIAAJAAAAAAAAAAAAAAAKYAAAAsAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-01-28T20:40:06.248Z" + }, + { + "$type": "Document", + "DocumentIndex": 22, "Title": "local_schedule.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp", "RelativeDocumentMoniker": "local_schedule.cpp", @@ -479,7 +497,7 @@ }, { "$type": "Document", - "DocumentIndex": 23, + "DocumentIndex": 24, "Title": "local_com.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp", "RelativeDocumentMoniker": "local_com.cpp", @@ -491,7 +509,7 @@ }, { "$type": "Document", - "DocumentIndex": 24, + "DocumentIndex": 25, "Title": "zip.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.h", "RelativeDocumentMoniker": "zip.h", @@ -501,18 +519,6 @@ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", "WhenOpened": "2024-03-29T07:57:13.208Z" }, - { - "$type": "Document", - "DocumentIndex": 26, - "Title": "deepscan.h", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.h", - "RelativeDocumentMoniker": "deepscan.h", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.h", - "RelativeToolTip": "deepscan.h", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAcAAAA6AAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-31T08:30:49.097Z" - }, { "$type": "Document", "DocumentIndex": 28, diff --git a/src/client_backend/check_dir.cpp b/src/client_backend/check_dir.cpp index 5320a0c..53617c8 100644 --- a/src/client_backend/check_dir.cpp +++ b/src/client_backend/check_dir.cpp @@ -15,6 +15,7 @@ Functions: #include "log.h" #include "md5hash.h" #include "scan.h" +#include "deepscan.h" #include "app_ctrl.h" #include "virus_ctrl.h" #include "settings.h" @@ -60,6 +61,10 @@ void process_changes(const FILE_NOTIFY_INFORMATION* pInfo) { scan_thread.detach(); Sleep(1); + if (get_setting("rtp_folder_scan:use_deepscan")) { + std::thread deepscan_thread(deepscan_file_t, filename_str); + deepscan_thread.detach(); + } } } } diff --git a/src/client_backend/check_process.cpp b/src/client_backend/check_process.cpp index 32316da..e3bd1ea 100644 --- a/src/client_backend/check_process.cpp +++ b/src/client_backend/check_process.cpp @@ -14,6 +14,7 @@ Functions: #include "app_ctrl.h" #include "settings.h" #include "scan.h" +#include "deepscan.h" #include // Include the mutex header #include // Include the thread header #include // Include the Windows header @@ -75,6 +76,11 @@ void monitor_processes() { //log(LOGLEVEL::INFO_NOSEND, "[monitor_processes()]: Scanning process: ", path); std::thread scan_thread(scan_process_t, path); scan_thread.detach(); + + if (get_setting("rtp_process_scan:use_deepscan")) { + std::thread deepscan_thread(deepscan_process_t, path); + deepscan_thread.detach(); + } } } } diff --git a/src/client_backend/client_backend/x64/Debug/client_backend.ilk b/src/client_backend/client_backend/x64/Debug/client_backend.ilk index 20b7646..0c6c932 100644 Binary files a/src/client_backend/client_backend/x64/Debug/client_backend.ilk and b/src/client_backend/client_backend/x64/Debug/client_backend.ilk differ diff --git a/src/client_backend/client_backend/x64/Debug/client_backend.log b/src/client_backend/client_backend/x64/Debug/client_backend.log index 648c73e..1d9b1d7 100644 --- a/src/client_backend/client_backend/x64/Debug/client_backend.log +++ b/src/client_backend/client_backend/x64/Debug/client_backend.log @@ -1,2 +1,37 @@  Quellen werden auf Modulabhängigkeiten überprüft... + check_dir.cpp +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(47,29): + Siehe Verweis auf die gerade kompilierte Instanziierung "std::basic_string,std::allocator>::basic_string>>,0>(_Iter,_Iter,const _Alloc &)" der Funktions-Vorlage. + with + [ + _Elem=wchar_t, + _Iter=std::_String_iterator>>, + _Alloc=std::allocator + ] + C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\check_dir.cpp(47,29): + Ersten Verweis auf "std::basic_string,std::allocator>::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,std::allocator>::_Construct_from_iter(_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(_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 +C:\vcpkg\vcpkg-2023.08.09\scripts\buildsystems\msbuild\vcpkg.targets(228,5): warning : [vcpkg] Failed to gather app local DLL dependencies, program may not run. Set VcpkgApplocalDeps to false in your project file to suppress this warning. PowerShell arguments: -ExecutionPolicy Bypass -noprofile -File "C:\vcpkg\vcpkg-2023.08.09\scripts\buildsystems\msbuild\applocal.ps1" "C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\client_backend.exe" "C:\vcpkg\vcpkg-2023.08.09\installed\x64-windows\debug\bin" "client_backend\x64\Debug\client_backend.tlog\client_backend.write.1u.tlog" "client_backend\x64\Debug\vcpkg.applocal.log" diff --git a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/CL.command.1.tlog b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/CL.command.1.tlog index f19f972..92dc3cd 100644 Binary files a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/CL.command.1.tlog and b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/CL.command.1.tlog differ diff --git a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/CL.read.1.tlog b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/CL.read.1.tlog index a966cd5..8cf7a1d 100644 Binary files a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/CL.read.1.tlog and b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/CL.read.1.tlog differ diff --git a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/CL.write.1.tlog b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/CL.write.1.tlog index 6dbb6f0..6c0d1a5 100644 Binary files a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/CL.write.1.tlog and b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/CL.write.1.tlog differ diff --git a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.read.1.tlog b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.read.1.tlog index 873ac9e..926494f 100644 Binary files a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.read.1.tlog and b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.read.1.tlog differ diff --git a/src/client_backend/client_backend/x64/Debug/vc143.idb b/src/client_backend/client_backend/x64/Debug/vc143.idb index 623e51d..ba50012 100644 Binary files a/src/client_backend/client_backend/x64/Debug/vc143.idb and b/src/client_backend/client_backend/x64/Debug/vc143.idb differ diff --git a/src/client_backend/client_backend/x64/Debug/vc143.pdb b/src/client_backend/client_backend/x64/Debug/vc143.pdb index 8409e8d..f602b9c 100644 Binary files a/src/client_backend/client_backend/x64/Debug/vc143.pdb and b/src/client_backend/client_backend/x64/Debug/vc143.pdb differ diff --git a/src/client_backend/deepscan.cpp b/src/client_backend/deepscan.cpp index 62902e7..758c28f 100644 --- a/src/client_backend/deepscan.cpp +++ b/src/client_backend/deepscan.cpp @@ -214,6 +214,35 @@ int process_callback(YR_SCAN_CONTEXT* context,int message, void* message_data, v return CALLBACK_CONTINUE; } +// Callback function for YARA process scan scan +int process_callback_for_process(YR_SCAN_CONTEXT* context, int message, void* message_data, void* user_data) { + switch (message) { + case CALLBACK_MSG_RULE_MATCHING: + { + // Access filepath from CallbackData + Callback_data* callback_data = (Callback_data*)user_data; + + // Access filepath from CallbackData + std::string filepath = callback_data->filepath; + //we calculate the hash of the file so the virus ctrl functions are able to process it + std::string hash = md5_file_t(filepath); + + if (get_setting("virus_ctrl:virus_process_found:kill") == 1) { + //kill the process + kill_process(filepath.c_str()); + log(LOGLEVEL::VIRUS, "[deepscan_process_t()]: Killing process: ", filepath); + } + + virus_ctrl_store(filepath, hash, hash); + //afterwards do the processing with that file + virus_ctrl_process(hash); + action_deepscan_is_virus = 1; + break; + } + } + return CALLBACK_CONTINUE; +} + // Scan a single file using YARA rules (thread-safe) bool deepscan_file_t(const std::string& file_path) { set_num_threads(get_num_threads() + 1); @@ -251,6 +280,31 @@ bool deepscan_file_t(const std::string& file_path) { return true; } +bool deepscan_process_t(const std::string& filepath_) { + set_num_threads(get_num_threads() + 1); + thread_local const std::string filepath(filepath_); + std::ifstream file_stream(filepath, std::ios::binary | std::ios::ate); + if (!file_stream.is_open()) { + // handle error if file cannot be opened + return false; + } + std::streamsize file_size = file_stream.tellg(); + file_stream.seekg(0, std::ios::beg); + std::vector file_content(file_size); + if (!file_stream.read(file_content.data(), file_size)) { + // handle error if file content cannot be read + return false; + } + file_stream.close(); + + // get globally set yara rules and iterate over them + Callback_data* callback_data = new Callback_data(); + for (YR_RULES* rule : compiled_rules) { + callback_data->filepath = filepath_; + yr_rules_scan_mem(rule, reinterpret_cast(file_content.data()), file_content.size(), 0, process_callback_for_process, callback_data, 5000); + } + set_num_threads(get_num_threads() - 1); +} // Action function for deepscanfolder void action_deepscanfolder(const std::string& folderpath) { diff --git a/src/client_backend/deepscan.h b/src/client_backend/deepscan.h index 3a504de..69c1a51 100644 --- a/src/client_backend/deepscan.h +++ b/src/client_backend/deepscan.h @@ -3,6 +3,7 @@ void init_yara_rules(const char* folderPath); bool deepscan_file_t(const std::string & filepath); +bool deepscan_process_t(const std::string& filepath_); void deepscan_folder(const std::string& directory); void action_deepscanfile(const std::string& filepath_); void action_deepscanfolder(const std::string& folderpath); \ No newline at end of file diff --git a/src/client_backend/settings.cpp b/src/client_backend/settings.cpp index bef390b..5d1a178 100644 --- a/src/client_backend/settings.cpp +++ b/src/client_backend/settings.cpp @@ -41,6 +41,8 @@ int included_folders_size = 0; std::string disallowed_start_folders[1000]; int disallowed_start_folders_size = 0; bool setting_rtp_folder_scan_status = true; // 0=off, 1=on +bool setting_rtp_folder_scan_use_deepscan = true; // 0=off, 1=on +bool setting_rtp_process_scan_use_deepscan = true; // 0=off, 1=on bool setting_rtp_process_scan_status = true; // 0=off, 1=on bool setting_virus_ctrl_virus_process_found_kill = true; // 0=do not kill, 1=kill bool setting_ac_status = true; // 0=off, 1=on @@ -90,6 +92,12 @@ int load_settings() { else if (settings_cmd == "rtp_process_scan:status") { setting_rtp_process_scan_status = (settings_arg == "true"); } + else if (settings_cmd == "rtp_process_scan:use_deepscan") { + setting_rtp_process_scan_use_deepscan = (settings_arg == "true"); + } + else if (settings_cmd == "rtp_folder_scan:use_deepscan") { + setting_rtp_folder_scan_use_deepscan = (settings_arg == "true"); + } else if (settings_cmd == "communication:unsafe_tls") { setting_communication_unsafe_tls = (settings_arg == "allow"); } @@ -129,6 +137,12 @@ int get_setting(const std::string& setting_name) { else if (setting_name == "rtp_process_scan:status") { return setting_rtp_process_scan_status; } + else if (setting_name == "rtp_process_scan:use_deepscan") { + return setting_rtp_process_scan_use_deepscan; + } + else if (setting_name == "rtp_folder_scan:use_deepscan") { + return setting_rtp_folder_scan_use_deepscan; + } else if (setting_name == "communication:unsafe_tls") { return setting_communication_unsafe_tls; } diff --git a/src/client_backend/x64/Debug/client_backend.pdb b/src/client_backend/x64/Debug/client_backend.pdb index 89decbb..b931765 100644 Binary files a/src/client_backend/x64/Debug/client_backend.pdb and b/src/client_backend/x64/Debug/client_backend.pdb differ diff --git a/src/server/cyberhex-code/api/php/settings/get_settings.php b/src/server/cyberhex-code/api/php/settings/get_settings.php index 1d8c509..a52f092 100644 --- a/src/server/cyberhex-code/api/php/settings/get_settings.php +++ b/src/server/cyberhex-code/api/php/settings/get_settings.php @@ -10,6 +10,8 @@ $setting_virus_ctrl_virus_found_action = "not configured yet"; $setting_server_server_url="not configured yet"; $setting_virus_ctrl_virus_process_found_kill=0; $setting_rtp_folder_scan_status=0; +$setting_rtp_folder_scan_use_deepscan=0; +$setting_rtp_process_scan_use_deepscan=0; $setting_rtp_process_scan_status=0; $setting_communication_unsafe_tls="not configured yet"; $setting_ac_status=0; @@ -32,6 +34,8 @@ if(isset($_GET["settings"])){ echo("virus_ctrl:virus_process:found:kill ".$setting_virus_ctrl_virus_process_found_kill."\n"); echo("server:server_url ".$setting_server_server_url."\n"); echo("rtp_folder_scan:status ".$setting_rtp_folder_scan_status."\n"); + echo("rtp_folder_scan:use_deepscan ".$setting_rtp_folder_scan_use_deepscan."\n"); + echo("rtp_process_scan:use_deepscan ".$setting_rtp_process_scan_use_deepscan."\n"); echo("rtp_process_scan:status ".$setting_rtp_process_scan_status."\n"); echo("communication:unsafe_tls ".$setting_communication_unsafe_tls."\n"); echo("application_control:status ".$setting_ac_status."\n"); @@ -125,6 +129,8 @@ function load_settings(){ global $setting_virus_ctrl_virus_process_found_kill; global $setting_server_server_url; global $setting_rtp_folder_scan_status; + global $setting_rtp_folder_scan_use_deepscan; + global $setting_rtp_process_scan_use_deepscan; global $setting_rtp_process_scan_status; global $setting_communication_unsafe_tls; global $setting_ac_status; @@ -186,6 +192,33 @@ function load_settings(){ $stmt -> close(); + //get setting: setting_rtp_process_scan_use_deepscan + $sql = "SELECT * FROM settings WHERE name = 'setting_rtp_process_scan_use_deepscan'"; + $stmt = $conn->prepare($sql); + // Execute the statement + $stmt->execute(); + // Get the result + $result = $stmt->get_result(); + $row = $result->fetch_assoc(); + if($row!==null){ + $setting_rtp_process_scan_use_deepscan=$row["value"]; + } + $stmt -> close(); + + + //get setting: setting_rtp_folder_scan_use_deepscan + $sql = "SELECT * FROM settings WHERE name = 'setting_rtp_folder_scan_use_deepscan'"; + $stmt = $conn->prepare($sql); + // Execute the statement + $stmt->execute(); + // Get the result + $result = $stmt->get_result(); + $row = $result->fetch_assoc(); + if($row!==null){ + $setting_rtp_folder_scan_use_deepscan=$row["value"]; + } + $stmt -> close(); + //get setting: setting_server_server_url $sql = "SELECT * FROM settings WHERE name = 'setting_server_server_url'"; $stmt = $conn->prepare($sql); diff --git a/src/server/cyberhex-code/system/secure_zone/php/client_settings.php b/src/server/cyberhex-code/system/secure_zone/php/client_settings.php index 4613f91..20a8020 100644 --- a/src/server/cyberhex-code/system/secure_zone/php/client_settings.php +++ b/src/server/cyberhex-code/system/secure_zone/php/client_settings.php @@ -24,6 +24,8 @@ $setting_communication_unsafe_tls = "not configured yet"; $setting_server_server_url="not configured yet"; $setting_rtp_folder_scan_status=0; $setting_rtp_process_scan_status=0; +$setting_rtp_process_scan_use_deepscan=0; +$setting_rtp_folder_scan_use_deepscan=0; $setting_ac_status=0; include "../../../config.php"; $conn = new mysqli($DB_SERVERNAME, $DB_USERNAME, $DB_PASSWORD,$DB_DATABASE); @@ -196,13 +198,29 @@ load_settings(); ?> +
+ "); + else + echo (""); + ?> + +
"); else echo (""); ?> - + +
+
+ "); + else + echo (""); + ?> +

Included folders for RTP folderscanner diff --git a/src/server/cyberhex-code/system/secure_zone/php/client_settings_functions.php b/src/server/cyberhex-code/system/secure_zone/php/client_settings_functions.php index d29ab31..5f7c4f3 100644 --- a/src/server/cyberhex-code/system/secure_zone/php/client_settings_functions.php +++ b/src/server/cyberhex-code/system/secure_zone/php/client_settings_functions.php @@ -78,6 +78,18 @@ function safe_settings(){ $stmt->execute(); $stmt->close(); } + if($_GET["update"]=="setting_rtp_process_scan_use_deepscan"){ + $stmt = $conn->prepare("INSERT INTO settings (name,value) VALUES (?,?) ON DUPLICATE KEY UPDATE value = ?;"); + $stmt->bind_param("sss",$name,$value,$value); + $stmt->execute(); + $stmt->close(); + } + if($_GET["update"]=="setting_rtp_folder_scan_use_deepscan"){ + $stmt = $conn->prepare("INSERT INTO settings (name,value) VALUES (?,?) ON DUPLICATE KEY UPDATE value = ?;"); + $stmt->bind_param("sss",$name,$value,$value); + $stmt->execute(); + $stmt->close(); + } if($_GET["update"]=="setting_communication_unsafe_tls"){ $stmt = $conn->prepare("INSERT INTO settings (name,value) VALUES (?,?) ON DUPLICATE KEY UPDATE value = ?;"); $stmt->bind_param("sss",$name,$value,$value); @@ -127,6 +139,8 @@ function load_settings(){ global $setting_virus_ctrl_virus_process_found_kill; global $setting_server_server_url; global $setting_rtp_folder_scan_status; + global $setting_rtp_folder_scan_use_deepscan; + global $setting_rtp_process_scan_use_deepscan; global $setting_rtp_process_scan_status; global $setting_communication_unsafe_tls; global $setting_ac_status; @@ -187,6 +201,32 @@ function load_settings(){ } $stmt -> close(); + //get setting: setting_rtp_process_scan_use_deepscan + $sql = "SELECT * FROM settings WHERE name = 'setting_rtp_process_scan_use_deepscan'"; + $stmt = $conn->prepare($sql); + // Execute the statement + $stmt->execute(); + // Get the result + $result = $stmt->get_result(); + $row = $result->fetch_assoc(); + if($row!==null){ + $setting_rtp_process_scan_use_deepscan=$row["value"]; + } + $stmt -> close(); + + + //get setting: setting_rtp_folder_scan_use_deepscan + $sql = "SELECT * FROM settings WHERE name = 'setting_rtp_folder_scan_use_deepscan'"; + $stmt = $conn->prepare($sql); + // Execute the statement + $stmt->execute(); + // Get the result + $result = $stmt->get_result(); + $row = $result->fetch_assoc(); + if($row!==null){ + $setting_rtp_folder_scan_use_deepscan=$row["value"]; + } + $stmt -> close(); //get setting: setting_server_server_url $sql = "SELECT * FROM settings WHERE name = 'setting_server_server_url'";