diff --git a/src/client_backend/.vs/client_backend/v17/.suo b/src/client_backend/.vs/client_backend/v17/.suo index ae0ce25..586dc48 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/Browse.VC.db b/src/client_backend/.vs/client_backend/v17/Browse.VC.db index d5bce78..ce6ed9d 100644 Binary files a/src/client_backend/.vs/client_backend/v17/Browse.VC.db and b/src/client_backend/.vs/client_backend/v17/Browse.VC.db differ diff --git a/src/client_backend/.vs/client_backend/v17/DocumentLayout.json b/src/client_backend/.vs/client_backend/v17/DocumentLayout.json index 9aef536..ac50672 100644 --- a/src/client_backend/.vs/client_backend/v17/DocumentLayout.json +++ b/src/client_backend/.vs/client_backend/v17/DocumentLayout.json @@ -2,10 +2,54 @@ "Version": 1, "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\\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\\thread_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:thread_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + }, + { + "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\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\\local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + }, + { + "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:scan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + }, + { + "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\well_known.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:well_known.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + }, + { + "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:log.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + }, + { + "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\\utils.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:utils.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + }, + { + "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_com.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + }, { "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\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\\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\\zip.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:zip.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" @@ -14,18 +58,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\\security.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:security.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\\well_known.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:well_known.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" - }, - { - "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:update.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" - }, { "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:zip.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" @@ -42,26 +74,10 @@ "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:virus_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" }, - { - "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\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\\queue _ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:queue _ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" }, - { - "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.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:scan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" - }, - { - "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:thread_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" - }, - { - "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_com.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" - }, { "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_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}" @@ -70,10 +86,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\\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\\utils.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:utils.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}" @@ -98,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\\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\\local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" - }, { "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\app_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:app_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" @@ -110,10 +118,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\\app_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:app_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" }, - { - "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:connect.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" - }, { "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:connect.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" @@ -134,159 +138,76 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 0, + "SelectedChildIndex": 1, "Children": [ { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 10, "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": "AQIAANAAAAAAAAAAAAAqwPoAAAA6AAAA", + "ViewState": "AQIAACwAAAAAAAAAAIAwwEcAAAARAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-03-31T08:30:41.528Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 1, - "Title": "zip.cpp", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.cpp", - "RelativeDocumentMoniker": "zip.cpp", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.cpp", - "RelativeToolTip": "zip.cpp", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAARAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-29T07:57:04.198Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 21, - "Title": "security.h", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.h", - "RelativeDocumentMoniker": "security.h", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.h", - "RelativeToolTip": "security.h", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAARAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-29T07:25:24.014Z" - }, - { - "$type": "Document", - "DocumentIndex": 2, - "Title": "security.cpp", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.cpp", - "RelativeDocumentMoniker": "security.cpp", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.cpp", - "RelativeToolTip": "security.cpp", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAgAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-29T07:05:00.157Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 22, - "Title": "md5hash.cpp", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp", - "RelativeDocumentMoniker": "md5hash.cpp", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp", - "RelativeToolTip": "md5hash.cpp", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAMAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-28T14:00:18.147Z" - }, - { - "$type": "Document", - "DocumentIndex": 12, - "Title": "scan.h", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h", - "RelativeDocumentMoniker": "scan.h", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h", - "RelativeToolTip": "scan.h", - "ViewState": "AQIAAAAAAAAAAAAAAAAAABQAAABkAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-13T06:41:43.701Z" - }, - { - "$type": "Document", - "DocumentIndex": 10, + "DocumentIndex": 0, "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": "AQIAACEBAAAAAAAAAAAawD0BAABxAAAA", + "ViewState": "AQIAAIoBAAAAAAAAAAAwwKEBAAAdAAAA", "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": 27, + "DocumentIndex": 11, "Title": "connect.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp", "RelativeDocumentMoniker": "connect.cpp", "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp", "RelativeToolTip": "connect.cpp", - "ViewState": "AQIAAKcAAAAAAAAAAAAIwNsAAAAeAAAA", + "ViewState": "AQIAAE4AAAAAAAAAAIAwwGAAAAARAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-01-28T20:40:06.315Z" + "WhenOpened": "2024-01-28T20:40:06.315Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 2, "Title": "client_backend.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp", "RelativeDocumentMoniker": "client_backend.cpp", "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp", "RelativeToolTip": "client_backend.cpp", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAQAAAAvAQAA", + "ViewState": "AQIAAH4AAAAAAAAAAAAAAJAAAAAcAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-01-28T20:40:06.279Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 13, - "Title": "thread_ctrl.cpp", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp", - "RelativeDocumentMoniker": "thread_ctrl.cpp", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp", - "RelativeToolTip": "thread_ctrl.cpp", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAgAAAAVAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-13T06:52:01.533Z" - }, - { - "$type": "Document", - "DocumentIndex": 14, + "DocumentIndex": 9, "Title": "local_com.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp", "RelativeDocumentMoniker": "local_com.cpp", "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp", "RelativeToolTip": "local_com.cpp", - "ViewState": "AQIAAAEAAAAAAAAAAABBwAsAAAAXAAAA", + "ViewState": "AQIAAAkAAAAAAAAAAAAAAAsAAAAXAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-17T16:34:14.678Z" + "WhenOpened": "2024-03-17T16:34:14.678Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 8, - "Title": "virus_ctrl.cpp", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp", - "RelativeDocumentMoniker": "virus_ctrl.cpp", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp", - "RelativeToolTip": "virus_ctrl.cpp", - "ViewState": "AQIAADgAAAAAAAAAAAAawFkAAAAtAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-02-18T12:49:41.861Z" - }, - { - "$type": "Document", - "DocumentIndex": 9, + "DocumentIndex": 17, "Title": "virus_ctrl.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.h", "RelativeDocumentMoniker": "virus_ctrl.h", @@ -298,19 +219,158 @@ }, { "$type": "Document", - "DocumentIndex": 17, + "DocumentIndex": 3, + "Title": "local_schedule.cpp", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp", + "RelativeDocumentMoniker": "local_schedule.cpp", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp", + "RelativeToolTip": "local_schedule.cpp", + "ViewState": "AQIAAEoAAAAAAAAAAIAwwE8AAAAKAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-01-28T20:40:06.279Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 7, + "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": "AQIAAH4AAAAAAAAAAAAAAIgAAAAqAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-01-28T20:40:06.248Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 8, "Title": "utils.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.cpp", "RelativeDocumentMoniker": "utils.cpp", "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.cpp", "RelativeToolTip": "utils.cpp", - "ViewState": "AQIAAJQAAAAAAAAAAABBwMEAAABnAAAA", + "ViewState": "AQIAAIQAAAAAAAAAAIAwwJgAAAANAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-14T15:55:22.469Z" + "WhenOpened": "2024-03-14T15:55:22.469Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 26, + "DocumentIndex": 6, + "Title": "log.h", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h", + "RelativeDocumentMoniker": "log.h", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h", + "RelativeToolTip": "log.h", + "ViewState": "AQIAACgAAAAAAAAAAIAwwDEAAAA2AAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", + "WhenOpened": "2024-04-26T20:39:34.98Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 5, + "Title": "well_known.h", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\well_known.h", + "RelativeDocumentMoniker": "well_known.h", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\well_known.h", + "RelativeToolTip": "well_known.h", + "ViewState": "AQIAADAAAAAAAAAAAAAAAEYAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", + "WhenOpened": "2024-03-14T13:20:06.953Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "thread_ctrl.cpp", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp", + "RelativeDocumentMoniker": "thread_ctrl.cpp", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp", + "RelativeToolTip": "thread_ctrl.cpp", + "ViewState": "AQIAADMAAAAAAAAAAAAAAEQAAAAgAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-03-13T06:52:01.533Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "scan.h", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h", + "RelativeDocumentMoniker": "scan.h", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h", + "RelativeToolTip": "scan.h", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABYAAAAUAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", + "WhenOpened": "2024-03-13T06:41:43.701Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 16, + "Title": "virus_ctrl.cpp", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp", + "RelativeDocumentMoniker": "virus_ctrl.cpp", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp", + "RelativeToolTip": "virus_ctrl.cpp", + "ViewState": "AQIAADgAAAAAAAAAAAAawFkAAAAtAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-02-18T12:49:41.861Z" + }, + { + "$type": "Document", + "DocumentIndex": 25, + "Title": "md5hash.cpp", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp", + "RelativeDocumentMoniker": "md5hash.cpp", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp", + "RelativeToolTip": "md5hash.cpp", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAMAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-03-28T14:00:18.147Z" + }, + { + "$type": "Document", + "DocumentIndex": 13, + "Title": "security.cpp", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.cpp", + "RelativeDocumentMoniker": "security.cpp", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.cpp", + "RelativeToolTip": "security.cpp", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAgAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-03-29T07:05:00.157Z" + }, + { + "$type": "Document", + "DocumentIndex": 24, + "Title": "security.h", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.h", + "RelativeDocumentMoniker": "security.h", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.h", + "RelativeToolTip": "security.h", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAARAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", + "WhenOpened": "2024-03-29T07:25:24.014Z" + }, + { + "$type": "Document", + "DocumentIndex": 12, + "Title": "zip.cpp", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.cpp", + "RelativeDocumentMoniker": "zip.cpp", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.cpp", + "RelativeToolTip": "zip.cpp", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAARAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-03-29T07:57:04.198Z" + }, + { + "$type": "Document", + "DocumentIndex": 28, "Title": "app_ctrl.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\app_ctrl.h", "RelativeDocumentMoniker": "app_ctrl.h", @@ -322,7 +382,7 @@ }, { "$type": "Document", - "DocumentIndex": 15, + "DocumentIndex": 19, "Title": "local_com.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.h", "RelativeDocumentMoniker": "local_com.h", @@ -334,7 +394,7 @@ }, { "$type": "Document", - "DocumentIndex": 18, + "DocumentIndex": 21, "Title": "check_dir.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp", "RelativeDocumentMoniker": "check_dir.cpp", @@ -346,7 +406,7 @@ }, { "$type": "Document", - "DocumentIndex": 23, + "DocumentIndex": 26, "Title": "settings.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp", "RelativeDocumentMoniker": "settings.cpp", @@ -358,20 +418,7 @@ }, { "$type": "Document", - "DocumentIndex": 4, - "Title": "well_known.h", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\well_known.h", - "RelativeDocumentMoniker": "well_known.h", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\well_known.h", - "RelativeToolTip": "well_known.h", - "ViewState": "AQIAAAAAAAAAAAAAAAAAADcAAABBAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-14T13:20:06.953Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 20, + "DocumentIndex": 23, "Title": "update.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.h", "RelativeDocumentMoniker": "update.h", @@ -383,7 +430,7 @@ }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 18, "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,7 +442,7 @@ }, { "$type": "Document", - "DocumentIndex": 30, + "DocumentIndex": 31, "Title": "queue_ctrl.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue_ctrl.h", "RelativeDocumentMoniker": "queue_ctrl.h", @@ -407,7 +454,7 @@ }, { "$type": "Document", - "DocumentIndex": 28, + "DocumentIndex": 29, "Title": "connect.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.h", "RelativeDocumentMoniker": "connect.h", @@ -419,7 +466,7 @@ }, { "$type": "Document", - "DocumentIndex": 7, + "DocumentIndex": 15, "Title": "check_process.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.cpp", "RelativeDocumentMoniker": "check_process.cpp", @@ -427,12 +474,11 @@ "RelativeToolTip": "check_process.cpp", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAAAAAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-14T13:35:33.369Z", - "EditorCaption": "" + "WhenOpened": "2024-03-14T13:35:33.369Z" }, { "$type": "Document", - "DocumentIndex": 19, + "DocumentIndex": 22, "Title": "utils.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.h", "RelativeDocumentMoniker": "utils.h", @@ -444,7 +490,7 @@ }, { "$type": "Document", - "DocumentIndex": 6, + "DocumentIndex": 14, "Title": "zip.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.h", "RelativeDocumentMoniker": "zip.h", @@ -452,25 +498,11 @@ "RelativeToolTip": "zip.h", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAIAAAA/AAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-29T07:57:13.208Z", - "EditorCaption": "" + "WhenOpened": "2024-03-29T07:57:13.208Z" }, { "$type": "Document", - "DocumentIndex": 5, - "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": "AQIAAAYAAAAAAAAAAAAAAGsAAAABAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-01-28T20:40:06.248Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 16, + "DocumentIndex": 20, "Title": "deepscan.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.h", "RelativeDocumentMoniker": "deepscan.h", @@ -482,7 +514,7 @@ }, { "$type": "Document", - "DocumentIndex": 29, + "DocumentIndex": 30, "Title": "settings.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h", "RelativeDocumentMoniker": "settings.h", @@ -494,7 +526,7 @@ }, { "$type": "Document", - "DocumentIndex": 25, + "DocumentIndex": 27, "Title": "app_ctrl.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\app_ctrl.cpp", "RelativeDocumentMoniker": "app_ctrl.cpp", @@ -503,18 +535,6 @@ "ViewState": "AQIAAAAAAAAAAAAAAAAAACYAAAABAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-03-28T13:36:41.939Z" - }, - { - "$type": "Document", - "DocumentIndex": 24, - "Title": "local_schedule.cpp", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp", - "RelativeDocumentMoniker": "local_schedule.cpp", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp", - "RelativeToolTip": "local_schedule.cpp", - "ViewState": "AQIAAEMAAAAAAAAAAABBwE4AAAAKAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-01-28T20:40:06.279Z" } ] } diff --git a/src/client_backend/client_backend.cpp b/src/client_backend/client_backend.cpp index 63a7e45..afa744a 100644 --- a/src/client_backend/client_backend.cpp +++ b/src/client_backend/client_backend.cpp @@ -119,8 +119,7 @@ int main(int argc, char* argv[]) { yr_initialize(); init_yara_rules(YARA_DB_DIR); log(LOGLEVEL::INFO_NOSEND, "[main()]:Yara rules initialized."); -// std::string a("C:\\users\\janis\\documents"); -// deepscan_folder(a); + // // Main thread loop 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 e97ef83..3f8c51f 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 08bd94f..6fe450c 100644 --- a/src/client_backend/client_backend/x64/Debug/client_backend.log +++ b/src/client_backend/client_backend/x64/Debug/client_backend.log @@ -1,3 +1,5 @@  Quellen werden auf Modulabhängigkeiten überprüft... + scan.cpp +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\scan.cpp(255,46): warning C4018: ">=": Konflikt zwischen "signed" und "unsigned" 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 e85c371..0da9cdc 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 b0371bf..4af789f 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 dafa1d0..8cb18f7 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/vc143.idb b/src/client_backend/client_backend/x64/Debug/vc143.idb index fab2b50..460ebf4 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 f876e63..e4d3f6f 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 4863309..042ddd1 100644 --- a/src/client_backend/deepscan.cpp +++ b/src/client_backend/deepscan.cpp @@ -60,6 +60,7 @@ YR_RULES* load_yara_rules(const char* ruleFilePath, YR_RULES* compiledRules = nu //std::cerr << "Failed to compile YARA rules from file: " << ruleFilePath << std::endl; log(LOGLEVEL::ERR_NOSEND, "[load_yara_rules()]: Failed to compile YARA rules from file: ", ruleFilePath); yr_compiler_destroy(compiler); + fclose(file); return nullptr; } @@ -68,7 +69,7 @@ YR_RULES* load_yara_rules(const char* ruleFilePath, YR_RULES* compiledRules = nu // Destroy the compiler yr_compiler_destroy(compiler); - + fclose(file); return compiledRules; } void init_yara_rules(const char* folderPath) { @@ -206,28 +207,6 @@ int process_callback(YR_SCAN_CONTEXT* context,int message, void* message_data, v } return CALLBACK_CONTINUE; } -/* -bool deepscan_file_t(const std::string&file_path) { - set_num_threads(get_num_threads() + 1); - //we do not need to make a new instance of yara rules, because they are global and do not get deteled or modified - thread_local std::string file_path_(file_path); - //first we scan the file with the normal scanner, which means md5 - thread_local std::string hash(md5_file_t(file_path)); - thread_local char* db_path = new char[300]; - - sprintf_s(db_path, 295, "%s\\%c%c.jdbf", DB_DIR, hash[0], hash[1]); - if (search_hash(db_path, hash, file_path) != 1) { //if we allready found a match in the database, we do not need to scan the file with yara - //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 = file_path_; - yr_rules_scan_file(rule, file_path.c_str(), 0, process_callback, callback_data, 5000); - } - set_num_threads(get_num_threads() - 1); - } - return true; -} -*/ bool deepscan_file_t(const std::string& file_path) { set_num_threads(get_num_threads() + 1); // we do not need to make a new instance of yara rules, because they are global and do not get deleted or modified diff --git a/src/client_backend/local_schedule.cpp b/src/client_backend/local_schedule.cpp index 3089088..335db1f 100644 --- a/src/client_backend/local_schedule.cpp +++ b/src/client_backend/local_schedule.cpp @@ -73,10 +73,11 @@ void unlock_task(const std::string& task_name) { } int check_for_sched_tasks(const char* sched_name, const char* sched_path) { - FILE* fp = nullptr; + FILE* fp; char command[505]; - if (fopen_s(&fp, sched_path, "r") != 0) { - //delete[] command; + int a; + if ((a=fopen_s(&fp, sched_path, "r")) != 0) { + //printf("%d\n",a); return 1; } else { diff --git a/src/client_backend/log.h b/src/client_backend/log.h index ec5ea2c..a6dfb60 100644 --- a/src/client_backend/log.h +++ b/src/client_backend/log.h @@ -107,6 +107,7 @@ void log(LOGLEVEL level, const std::string& message, Args&&... args) { url += get_machineid(SECRETS); url += "&apikey="; url += get_apikey(SECRETS); + //printf("sending to srv: %s", url.c_str()); //send with fastsend in new thread std::thread send_thread(fast_send, url, get_setting("communication:unsafe_tls")); send_thread.detach(); diff --git a/src/client_backend/scan.cpp b/src/client_backend/scan.cpp index d751acc..7ae85f0 100644 --- a/src/client_backend/scan.cpp +++ b/src/client_backend/scan.cpp @@ -25,9 +25,11 @@ std::mutex fileHandlesMutex; std::mutex mappingHandlesMutex; std::mutex fileDataMutex; std::mutex cntMutex; +std::mutex sizeHandlesMutex; std::unordered_map fileHandles; std::unordered_map mappingHandles; +std::unordered_map sizeHandles; std::unordered_map fileData; int cnt = 0; @@ -85,6 +87,11 @@ int initialize(const std::string& folderPath) { std::lock_guard lock(fileDataMutex); fileData[filename] = fileDataPtr; } + { + std::lock_guard lock(sizeHandlesMutex); + sizeHandles[filename] = GetFileSize(hFile, NULL); + } + CloseHandle(hFile); } } return 0; @@ -132,21 +139,22 @@ int search_hash(const std::string& dbname_, const std::string& hash_, const std: filepath = filepath_; } - auto fileIter = fileHandles.find(dbname); - if (fileIter == fileHandles.end() && dbname_.find("c:.jdbf") == std::string::npos) { + + // auto fileIter = fileHandles.find(dbname); + //if (fileIter == fileHandles.end() && dbname_.find("c:.jdbf") == std::string::npos) { //log(LOGLEVEL::ERR_NOSEND, "[search_hash()]: File mapping not initialized for ", dbname); - return 2; - } - else if (fileIter == fileHandles.end()) { - return 2; - } + // return 2; + //} + //else if (fileIter == fileHandles.end()) { + // return 2; + //} // Use fileData for subsequent searches DWORD fileSize; std::string fileContent; { std::lock_guard lock(fileDataMutex); - fileSize = GetFileSize(fileHandles[dbname], NULL); + fileSize = sizeHandles[dbname]; fileContent = std::string(fileData[dbname], fileSize); } @@ -380,4 +388,40 @@ void scan_process_t(const std::string& filepath_) { } set_num_threads(get_num_threads() - 1); } + +void do_quickscan() { + thread_init(); + //scan windows startup folders & commonly infected places + //tell the desktop client that the scan has started + std::ofstream answer_com1(ANSWER_COM_PATH, std::ios::app); + if (answer_com1.is_open()) { + answer_com1 << "start " << 0 << "\n"; + answer_com1.close(); + } + //general startup folder + scan_folder("C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup"); + //find every users startupfolder and scan it: + std::string user_folder = "C:\\Users\\*"; + std::string user_folder_no_wildcrad = "C:\\Users"; + WIN32_FIND_DATA find_file_data; + HANDLE hFind = FindFirstFile(user_folder.c_str(), &find_file_data); + if (hFind != INVALID_HANDLE_VALUE) { + 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 = user_folder_no_wildcrad + "\\" + find_file_data.cFileName + "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup"; + scan_folder(full_path); + //printf("Scanning: %s\n", full_path.c_str()); + } while (FindNextFile(hFind, &find_file_data) != 0); + FindClose(hFind); + printf("finished\n"); + } + std::ofstream answer_com(ANSWER_COM_PATH, std::ios::app); + if (answer_com.is_open()) { + answer_com << "end " << "\"" << "nothing" << "\"" << " " << "nothing" << " " << "nothing" << "\n"; + answer_com.close(); + } + thread_shutdown(); +} #endif \ No newline at end of file diff --git a/src/client_backend/scan.h b/src/client_backend/scan.h index 71cd84b..99157bc 100644 --- a/src/client_backend/scan.h +++ b/src/client_backend/scan.h @@ -20,3 +20,4 @@ void scan_process_t(const std::string& filepath_); int get_num_files(const std::string& directory); int search_hash(const std::string& dbname_, const std::string& hash_, const std::string& filepath_); void cleanup(); +void do_quickscan(); diff --git a/src/client_backend/thread_ctrl.cpp b/src/client_backend/thread_ctrl.cpp index 7b0f73a..fac9ebf 100644 --- a/src/client_backend/thread_ctrl.cpp +++ b/src/client_backend/thread_ctrl.cpp @@ -66,6 +66,12 @@ int start_thread(const std::string& command) { t1.detach(); has_run = 1; } + else if (out1 == "quick_scan"){ + log(LOGLEVEL::INFO, "[start_thread()]: starting quickscan with arguments: "); + std::thread t1(do_quickscan); + t1.detach(); + has_run = 1; + } Sleep(10); // Sleep for 10 ms to give the thread time to start } return 0; diff --git a/src/client_backend/utils.cpp b/src/client_backend/utils.cpp index 1afa3a6..6640607 100644 --- a/src/client_backend/utils.cpp +++ b/src/client_backend/utils.cpp @@ -24,17 +24,6 @@ void split(const std::string& input, char delimiter, std::string& out1, std::str } } bool is_valid_path(const std::string& filename) { - //printf("1\n"); - //for (char c : filename) { - // if (c == '<' || c == '>' || c == '"' || c == '|' || c == '?' || c == '*' || c > 126 || c < 32 ) { - // return 0; // Special character found - // } - //} - //printf("2\n"); - //if (!file_exists(filename)) { - // return 0; // File does not exist - //} - //printf("3\n"); if (!has_read_access(filename)) {//this also fails if the file does not exist return 0; // No read access } diff --git a/src/client_backend/well_known.h b/src/client_backend/well_known.h index 5da1661..db01263 100644 --- a/src/client_backend/well_known.h +++ b/src/client_backend/well_known.h @@ -69,5 +69,4 @@ #define DLL_ZLIB1_PATH "C:\\Program Files\\cyberhex\\secure\\app\\zlib1.dll" #define DLL_UCRTBASED_PATH "C:\\Program Files\\cyberhex\\secure\\app\\ucrtbased.dll" - #endif // !WELL_KNOWN_H \ No newline at end of file diff --git a/src/client_backend/x64/Debug/client_backend.pdb b/src/client_backend/x64/Debug/client_backend.pdb index 170d032..6bd8551 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/client_frontend/.vs/client_frontend/v17/.suo b/src/client_frontend/.vs/client_frontend/v17/.suo index 7ae2517..4f1b596 100644 Binary files a/src/client_frontend/.vs/client_frontend/v17/.suo and b/src/client_frontend/.vs/client_frontend/v17/.suo differ diff --git a/src/client_frontend/.vs/client_frontend/v17/Browse.VC.db b/src/client_frontend/.vs/client_frontend/v17/Browse.VC.db index bb3fd12..6fd4019 100644 Binary files a/src/client_frontend/.vs/client_frontend/v17/Browse.VC.db and b/src/client_frontend/.vs/client_frontend/v17/Browse.VC.db differ diff --git a/src/client_frontend/.vs/client_frontend/v17/DocumentLayout.json b/src/client_frontend/.vs/client_frontend/v17/DocumentLayout.json index 87631f9..65fc934 100644 --- a/src/client_frontend/.vs/client_frontend/v17/DocumentLayout.json +++ b/src/client_frontend/.vs/client_frontend/v17/DocumentLayout.json @@ -24,7 +24,7 @@ "RelativeDocumentMoniker": "client_frontend.cpp", "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_frontend\\client_frontend.cpp", "RelativeToolTip": "client_frontend.cpp", - "ViewState": "AQIAADkAAAAAAAAAAAAwwFUAAABsAAAA", + "ViewState": "AQIAAEsAAAAAAAAAAAAAAGQAAACHAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-03-23T13:52:32.121Z", "EditorCaption": "" diff --git a/src/client_frontend/client_frontend.cpp b/src/client_frontend/client_frontend.cpp index 0a4949f..b3ae564 100644 --- a/src/client_frontend/client_frontend.cpp +++ b/src/client_frontend/client_frontend.cpp @@ -11,6 +11,7 @@ #define IDM_SCAN_FOLDER 102 #define IDM_DEEP_SCAN_FILE 103 #define IDM_DEEP_SCAN_FOLDER 104 +#define IDM_QUICK_SCAN 105 std::wstring string_to_widestring(const std::string& str) { @@ -91,13 +92,13 @@ void scan_file(HWND hWndTextField, const std::string& filePath, bool deep) { else { update_textfield(hWndTextField, "No virus found in file: " + scannedFilePath + "\r\n"); } - update_textfield(hWndTextField, "------------------------------------------\r\n"); + update_textfield(hWndTextField, "------------------------------------------------------------------------------------\r\n"); } } else { answered = true; update_textfield(hWndTextField, "Error: Unable to talk to daemon!\n"); - update_textfield(hWndTextField, "------------------------------------------\n"); + update_textfield(hWndTextField, "------------------------------------------------------------------------------------\r\n"); } inputFile.close(); std::remove(ANSWER_COM_PATH); @@ -167,7 +168,7 @@ void scan_folder(HWND hProgressBar,HWND hWndTextField, const std::string& folder else { update_textfield(hWndTextField, "No virus found in file: " + scannedFilePath + "\r\n"); } - update_textfield(hWndTextField, "------------------------------------------\r\n"); + update_textfield(hWndTextField, "------------------------------------------------------------------------------------\r\n"); } else if (status == "progress") { std::string progress; @@ -196,13 +197,91 @@ void scan_folder(HWND hProgressBar,HWND hWndTextField, const std::string& folder } update_textfield(hWndTextField, "Folder scan completed\r\n"); update_textfield(hWndTextField, "Number of infected files: " + std::to_string(num_of_found) + "\r\n"); - update_textfield(hWndTextField, "------------------------------------------\r\n"); + update_textfield(hWndTextField, "------------------------------------------------------------------------------------\r\n"); SendMessage(hProgressBar, PBM_SETPOS, 100, 0); // Remove the answer file std::remove(ANSWER_COM_PATH); } +void quick_scan(HWND hProgressBar, HWND hWndTextField) { + //set progress bar to 0 + SendMessage(hProgressBar, PBM_SETPOS, 0, 0); + int num_of_found = 0; + // Remove the answer file + std::remove(ANSWER_COM_PATH); + update_textfield(hWndTextField, "Running quick scan\r\n"); + bool answered = false; + // Write command into com file + std::ofstream outputFile(MAIN_COM_PATH); + if (outputFile.is_open()) { + outputFile << "quick_scan \"" << "_._" << "\""; + outputFile.close(); + } + else { + update_textfield(hWndTextField, "Error: Unable to talk to daemon!\n"); + return; + } + + while (!answered) { + // Wait for answer in file + std::ifstream inputFile(ANSWER_COM_PATH); + // The structure of the answer file is as follows: + // found/not_found + // filepath + // hash + // action_taken/no_action_taken + if (inputFile.is_open()) { + std::string status, scannedFilePath, hash, action; + while (!inputFile.eof()) { + if (inputFile >> status) { + if (status == "found" || status == "not_found") { + inputFile.ignore(1); // Ignore space + inputFile.ignore(1); // Ignore starting double quote + std::getline(inputFile, scannedFilePath, '\"'); // Read until closing double quote + inputFile.ignore(1); // Ignore space between filepath and hash + inputFile.ignore(1); // Ignore starting double quote + std::getline(inputFile, hash, ' '); // Read until space + std::getline(inputFile, action); // Read until end of line + + //answered = true; + + if (status == "found") { + update_textfield(hWndTextField, "Virus found in file: " + scannedFilePath + "\r\n"); + update_textfield(hWndTextField, "Hash: " + hash + "\r\n"); + update_textfield(hWndTextField, "Action taken: " + action + "\r\n"); + num_of_found++; + } + else { + update_textfield(hWndTextField, "No virus found in file: " + scannedFilePath + "\r\n"); + } + update_textfield(hWndTextField, "------------------------------------------------------------------------------------\r\n"); + } + else if (status == "start") { + std::string all_files; + inputFile.ignore(1); // Ignore space + inputFile >> all_files; + update_textfield(hWndTextField, "Quick scan started\r\n\r\n"); + } + else if (status == "end") { + answered = true; + } + } + } + inputFile.close(); + std::ofstream(ANSWER_COM_PATH);//clear the file + Sleep(1000);//only see for new entrys ~ once a second + } + // Wait for 1 second before checking again + std::this_thread::sleep_for(std::chrono::seconds(1)); + } + update_textfield(hWndTextField, "Quick scan completed\r\n"); + update_textfield(hWndTextField, "Number of infected files: " + std::to_string(num_of_found) + "\r\n"); + update_textfield(hWndTextField, "------------------------------------------------------------------------------------\r\n"); + SendMessage(hProgressBar, PBM_SETPOS, 100, 0); + // Remove the answer file + std::remove(ANSWER_COM_PATH); +} std::string getFolderPath(HWND hWnd) { std::wstring selectedFolderPath; @@ -223,8 +302,6 @@ std::string getFolderPath(HWND hWnd) { if (pidlSelected != NULL) { SHGetPathFromIDList(pidlSelected, selectedPath); - // Convert TCHAR array to std::string - std::wstring_convert> converter; selectedFolderPath = selectedPath; // Free the PIDL @@ -238,7 +315,9 @@ std::string getFolderPath(HWND hWnd) { // Uninitialize COM CoUninitialize(); - return std::string(selectedFolderPath.begin(), selectedFolderPath.end()); + std::wstring_convert> converter; + std::string narrowSelectedFolder = converter.to_bytes(selectedFolderPath); + return narrowSelectedFolder; } LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { @@ -273,6 +352,11 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, 20, 130, 150, 30, hWnd, (HMENU)IDM_DEEP_SCAN_FOLDER, GetModuleHandle(NULL), NULL); + //create the quick scan button + CreateWindowEx(NULL, L"BUTTON", L"Quick Scan", + WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, + 20, 170, 150, 30, hWnd, (HMENU)IDM_QUICK_SCAN, GetModuleHandle(NULL), NULL); + // Create a multi-line edit control for displaying text hWndTextField = CreateWindowEx(WS_EX_CLIENTEDGE, L"EDIT", NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY, @@ -319,7 +403,8 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) if (GetOpenFileName(&ofn) == TRUE) { std::wstring selectedFile = ofn.lpstrFile; // Use std::wstring for wide characters - std::string narrowSelectedFile(selectedFile.begin(), selectedFile.end()); + std::wstring_convert> converter; + std::string narrowSelectedFile = converter.to_bytes(selectedFile); std::thread(scan_file, hWndTextField, narrowSelectedFile,0).detach(); } } @@ -354,8 +439,9 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) if (GetOpenFileName(&ofn) == TRUE) { std::wstring selectedFile = ofn.lpstrFile; // Use std::wstring for wide characters - std::string narrowSelectedFile(selectedFile.begin(), selectedFile.end()); - std::thread(scan_file, hWndTextField, narrowSelectedFile, 1).detach(); + std::wstring_convert> converter; + std::string narrowSelectedFile = converter.to_bytes(selectedFile); + std::thread(scan_file, hWndTextField, narrowSelectedFile, 0).detach(); } } @@ -368,6 +454,11 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) if(selected_folder!="") std::thread(scan_folder,hProgressBar, hWndTextField, selected_folder,1).detach(); } + break; + case IDM_QUICK_SCAN: + { + std::thread(quick_scan, hProgressBar, hWndTextField).detach(); + } default: return DefWindowProc(hWnd, message, wParam, lParam); } diff --git a/src/client_frontend/client_frontend/x64/Debug/client_frontend.ilk b/src/client_frontend/client_frontend/x64/Debug/client_frontend.ilk index c9072ec..1880d3d 100644 Binary files a/src/client_frontend/client_frontend/x64/Debug/client_frontend.ilk and b/src/client_frontend/client_frontend/x64/Debug/client_frontend.ilk differ diff --git a/src/client_frontend/client_frontend/x64/Debug/client_frontend.log b/src/client_frontend/client_frontend/x64/Debug/client_frontend.log index a5e6d0e..fad1e22 100644 --- a/src/client_frontend/client_frontend/x64/Debug/client_frontend.log +++ b/src/client_frontend/client_frontend/x64/Debug/client_frontend.log @@ -1,36 +1,3 @@  client_frontend.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 „client_frontend.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_frontend\client_frontend.cpp(241,23): - 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_frontend\client_frontend.cpp(241,5): - Ersten Verweis auf "std::basic_string,std::allocator>::basic_string" in "getFolderPath" 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_frontend.vcxproj -> C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_frontend\x64\Debug\client_frontend.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_frontend\x64\Debug\client_frontend.exe" "C:\vcpkg\vcpkg-2023.08.09\installed\x64-windows\debug\bin" "client_frontend\x64\Debug\client_frontend.tlog\client_frontend.write.1u.tlog" "client_frontend\x64\Debug\vcpkg.applocal.log" diff --git a/src/client_frontend/client_frontend/x64/Debug/vc143.idb b/src/client_frontend/client_frontend/x64/Debug/vc143.idb index 9b45063..9909eea 100644 Binary files a/src/client_frontend/client_frontend/x64/Debug/vc143.idb and b/src/client_frontend/client_frontend/x64/Debug/vc143.idb differ diff --git a/src/client_frontend/client_frontend/x64/Debug/vc143.pdb b/src/client_frontend/client_frontend/x64/Debug/vc143.pdb index f708535..3f70407 100644 Binary files a/src/client_frontend/client_frontend/x64/Debug/vc143.pdb and b/src/client_frontend/client_frontend/x64/Debug/vc143.pdb differ diff --git a/src/client_frontend/x64/Debug/client_frontend.pdb b/src/client_frontend/x64/Debug/client_frontend.pdb index ccef433..b5f7516 100644 Binary files a/src/client_frontend/x64/Debug/client_frontend.pdb and b/src/client_frontend/x64/Debug/client_frontend.pdb differ diff --git a/src/server/cyberhex-code/install/create_db.php b/src/server/cyberhex-code/install/create_db.php index fb7873e..f9dc465 100644 --- a/src/server/cyberhex-code/install/create_db.php +++ b/src/server/cyberhex-code/install/create_db.php @@ -87,7 +87,7 @@ // Create log table $sql = "CREATE TABLE IF NOT EXISTS log ( id INT AUTO_INCREMENT PRIMARY KEY, - logtext VARCHAR(255) NOT NULL, + logtext VARCHAR(500) NOT NULL, loglevel VARCHAR(255) NOT NULL, machine_id VARCHAR(255), time VARCHAR(255)