diff --git a/src/client_backend/.vs/client_backend/v17/.suo b/src/client_backend/.vs/client_backend/v17/.suo index 6df3bdf..c82f637 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 1ec7294..555a097 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 adb36fc..8d85934 100644 --- a/src/client_backend/.vs/client_backend/v17/DocumentLayout.json +++ b/src/client_backend/.vs/client_backend/v17/DocumentLayout.json @@ -3,36 +3,84 @@ "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\\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\\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\\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\\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\\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}" }, { "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_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\\client_backend.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:client_backend.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" }, { - "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:virus_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\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}" + }, + { + "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}" + }, + { + "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}" + }, + { + "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\\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\\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\\security.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:security.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\\md5hash.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:md5hash.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + }, + { + "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\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\\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\\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}" + "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\\local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + }, + { + "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_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\\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}" + }, + { + "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\\virus_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:virus_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" }, { "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", @@ -50,30 +98,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\\connect.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:connect.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" }, - { - "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\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\\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\\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.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}" - }, - { - "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\\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}" @@ -102,23 +130,76 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 11, + "SelectedChildIndex": 25, "Children": [ { "$type": "Document", - "DocumentIndex": 19, - "Title": "settings.h", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h", - "RelativeDocumentMoniker": "settings.h", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h", - "RelativeToolTip": "settings.h", - "ViewState": "AQIAAAAAAAAAAAAAAAAAABEAAAAiAAAA", + "DocumentIndex": 6, + "Title": "zip.h", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.h", + "RelativeDocumentMoniker": "zip.h", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.h", + "RelativeToolTip": "zip.h", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAEAAAARAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-13T06:42:03.328Z" + "WhenOpened": "2024-03-29T07:57:13.208Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 8, + "DocumentIndex": 5, + "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": "AQIAAAAAAAAAAAAAAAAAAD0AAAABAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-03-29T07:57:04.198Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 10, + "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", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 7, + "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": "AQIAAC4AAAAAAAAAAAAawD0AAAA0AAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-03-29T07:05:00.157Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 11, + "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", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 20, "Title": "scan.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h", "RelativeDocumentMoniker": "scan.h", @@ -130,20 +211,20 @@ }, { "$type": "Document", - "DocumentIndex": 2, + "DocumentIndex": 8, "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": "AQIAAPgAAAAAAAAAAAAawGIBAAAQAAAA", + "ViewState": "AQIAAHYAAAAAAAAAAAAawJEAAAAKAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-01-28T20:40:06.248Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 10, + "DocumentIndex": 22, "Title": "connect.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp", "RelativeDocumentMoniker": "connect.cpp", @@ -155,32 +236,32 @@ }, { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 3, "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": "AQIAADkAAAAAAAAAAAAawEwAAAA4AAAA", + "ViewState": "AQIAABYAAAAAAAAAAAAqwDwAAAACAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-01-28T20:40:06.279Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 6, + "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": "AQIAAAAAAAAAAAAAAAAAABwAAAAsAAAA", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABUAAAAqAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-03-13T06:52:01.533Z" }, { "$type": "Document", - "DocumentIndex": 9, + "DocumentIndex": 21, "Title": "local_com.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp", "RelativeDocumentMoniker": "local_com.cpp", @@ -192,7 +273,7 @@ }, { "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 19, "Title": "virus_ctrl.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp", "RelativeDocumentMoniker": "virus_ctrl.cpp", @@ -204,7 +285,7 @@ }, { "$type": "Document", - "DocumentIndex": 22, + "DocumentIndex": 29, "Title": "virus_ctrl.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.h", "RelativeDocumentMoniker": "virus_ctrl.h", @@ -216,7 +297,7 @@ }, { "$type": "Document", - "DocumentIndex": 13, + "DocumentIndex": 24, "Title": "log.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h", "RelativeDocumentMoniker": "log.h", @@ -228,7 +309,32 @@ }, { "$type": "Document", - "DocumentIndex": 21, + "DocumentIndex": 2, + "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": "AQIAAI0AAAAAAAAAAAAAAKcAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-03-14T15:55:22.469Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 18, + "Title": "app_ctrl.h", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\app_ctrl.h", + "RelativeDocumentMoniker": "app_ctrl.h", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\app_ctrl.h", + "RelativeToolTip": "app_ctrl.h", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAoAAAAWAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", + "WhenOpened": "2024-03-28T13:37:13.587Z" + }, + { + "$type": "Document", + "DocumentIndex": 28, "Title": "local_com.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.h", "RelativeDocumentMoniker": "local_com.h", @@ -240,68 +346,58 @@ }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 14, "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": "AQIAAA4AAAAAAAAAAAAawC0AAAAJAAAA", + "ViewState": "AQIAAAYAAAAAAAAAAAAAACMAAAAGAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-13T06:48:31.009Z", - "EditorCaption": "" + "WhenOpened": "2024-03-13T06:48:31.009Z" }, { "$type": "Document", - "DocumentIndex": 3, - "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": "AQIAAAAAAAAAAAAAAAAAABkAAAAEAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-14T15:55:22.469Z" - }, - { - "$type": "Document", - "DocumentIndex": 17, + "DocumentIndex": 12, "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": "AQIAAAAAAAAAAAAAAAAAAD0AAAA1AAAA", + "ViewState": "AQIAABgAAAAAAAAAAAAAAD0AAAA1AAAA", "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": 15, + "DocumentIndex": 9, "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": "AQIAAAAAAAAAAAAAAAAAAC0AAAAZAAAA", + "ViewState": "AQIAACYAAAAAAAAAAAAawEIAAABbAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-14T13:20:06.953Z" + "WhenOpened": "2024-03-14T13:20:06.953Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 16, + "DocumentIndex": 4, "Title": "update.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.h", "RelativeDocumentMoniker": "update.h", "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.h", "RelativeToolTip": "update.h", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAUAAAA", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAAvAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-13T06:42:28.196Z" + "WhenOpened": "2024-03-13T06:42:28.196Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 18, + "DocumentIndex": 25, "Title": "queue _ctrl.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue _ctrl.cpp", "RelativeDocumentMoniker": "queue _ctrl.cpp", @@ -313,7 +409,7 @@ }, { "$type": "Document", - "DocumentIndex": 20, + "DocumentIndex": 27, "Title": "queue_ctrl.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue_ctrl.h", "RelativeDocumentMoniker": "queue_ctrl.h", @@ -325,7 +421,7 @@ }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 23, "Title": "connect.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.h", "RelativeDocumentMoniker": "connect.h", @@ -337,49 +433,75 @@ }, { "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 16, "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": "AQIAABUAAAAAAAAAAAAAADMAAAAaAAAA", + "ViewState": "AQIAAAkAAAAAAAAAAAAAACsAAABtAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-03-14T13:35:33.369Z" }, { "$type": "Document", - "DocumentIndex": 7, - "Title": "utils.h", - "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.h", - "RelativeDocumentMoniker": "utils.h", - "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.h", - "RelativeToolTip": "utils.h", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAAAbAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-14T15:55:30.524Z" - }, - { - "$type": "Document", - "DocumentIndex": 14, + "DocumentIndex": 0, "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": "AQIAAAAAAAAAAAAAAIBZwAkAAAARAAAA", + "ViewState": "AQIAABsAAAAAAAAAAAAAADgAAAAQAAAA", "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": 12, + "DocumentIndex": 1, + "Title": "utils.h", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.h", + "RelativeDocumentMoniker": "utils.h", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.h", + "RelativeToolTip": "utils.h", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAA0AAAA4AAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", + "WhenOpened": "2024-03-14T15:55:30.524Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 26, + "Title": "settings.h", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h", + "RelativeDocumentMoniker": "settings.h", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h", + "RelativeToolTip": "settings.h", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABEAAAAiAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", + "WhenOpened": "2024-03-13T06:42:03.328Z" + }, + { + "$type": "Document", + "DocumentIndex": 17, + "Title": "app_ctrl.cpp", + "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\app_ctrl.cpp", + "RelativeDocumentMoniker": "app_ctrl.cpp", + "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\app_ctrl.cpp", + "RelativeToolTip": "app_ctrl.cpp", + "ViewState": "AQIAAAAAAAAAAAAAAAAAACYAAAABAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-03-28T13:36:41.939Z" + }, + { + "$type": "Document", + "DocumentIndex": 15, "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": "AQIAAAAAAAAAAAAAAAAAAEIAAAAAAAAA", + "ViewState": "AQIAAEUAAAAAAAAAAAAAAE4AAAAKAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-01-28T20:40:06.279Z" } diff --git a/src/client_backend/app_ctrl.cpp b/src/client_backend/app_ctrl.cpp index 6073f26..f7fc461 100644 --- a/src/client_backend/app_ctrl.cpp +++ b/src/client_backend/app_ctrl.cpp @@ -4,6 +4,7 @@ bool app_stop_ = false; bool can_run_thread_ = true; bool can_scan_folder_ = true; +bool debug_mode_ = false; int app_stop() { return app_stop_; } @@ -29,4 +30,11 @@ int scan_folder_shutdown() { can_scan_folder_ = true; return can_scan_folder_; } +int debug_mode() { + return debug_mode_; +} +int debug_mode_init() { + debug_mode_ = true; + return debug_mode_; +} #endif \ No newline at end of file diff --git a/src/client_backend/app_ctrl.h b/src/client_backend/app_ctrl.h index 445060b..1488856 100644 --- a/src/client_backend/app_ctrl.h +++ b/src/client_backend/app_ctrl.h @@ -7,4 +7,6 @@ int thread_shutdown(); int can_scan_folder(); int scan_folder_init(); int scan_folder_shutdown(); +int debug_mode(); +int debug_mode_init(); #endif \ No newline at end of file diff --git a/src/client_backend/check_dir.cpp b/src/client_backend/check_dir.cpp index e2ea8ff..fe83576 100644 --- a/src/client_backend/check_dir.cpp +++ b/src/client_backend/check_dir.cpp @@ -32,11 +32,11 @@ void process_changes(const FILE_NOTIFY_INFORMATION* pInfo) { // Allocate a buffer for the file name and copy the content std::wstring fileName(pInfo->FileName, pInfo->FileNameLength / sizeof(wchar_t)); fileName.push_back(L'\0'); //NULL-terminate the string - + //if (debug_mode()) + // std::wcout<<"[HIGH_ALERT_DEBUG/NO_DISK_WRITE]: file changed " << fileName <= std::thread::hardware_concurrency()) { Sleep(10); @@ -54,7 +53,8 @@ void process_changes(const FILE_NOTIFY_INFORMATION* pInfo) { set_num_threads(0); } } - //log(LOGLEVEL::INFO_NOSEND, "[process_changes()]: Scanning new file: ", filename_str); + if (debug_mode()) + log(LOGLEVEL::INFO_NOSEND, "[process_changes()]: File ", filename_str.c_str(), " has been changed. Scanning it for viruses"); std::thread scan_thread(scan_file_t, filename_str); scan_thread.detach(); Sleep(1); diff --git a/src/client_backend/client_backend.cpp b/src/client_backend/client_backend.cpp index 4ea84ee..dde6563 100644 --- a/src/client_backend/client_backend.cpp +++ b/src/client_backend/client_backend.cpp @@ -49,8 +49,26 @@ int main(int argc, char*argv[]) { else { log(LOGLEVEL::ERR_NOSEND, "[main()]:Could not load settings from file."); log(LOGLEVEL::PANIC_NOSEND, "[main()]:Panic, no settings file loaded, terminating process!"); + Sleep(1000); //wait for the log to be written exit(1); } + //do self check + if ((err=selfcheck())!=0) { + log(LOGLEVEL::PANIC, "[main()]:This installation of cyberhex failed the self check! Application may be tampered with!", err); + log(LOGLEVEL::PANIC, "[main()]:Panic, self check failed, terminating process!"); + Sleep(1000); //wait for the log to be written and swnt to the server + exit(1); + } + printf("self check passed\n"); + update_db2(DB_DIR); + + + //init debug mode if needed + if (argc == 2) { + if (strcmp(argv[1], "-d") == 0) { + debug_mode_init(); + } + } // Initialize hash databases err = initialize(DB_DIR); diff --git a/src/client_backend/client_backend.vcxproj b/src/client_backend/client_backend.vcxproj index eb60db7..0af9af5 100644 --- a/src/client_backend/client_backend.vcxproj +++ b/src/client_backend/client_backend.vcxproj @@ -155,6 +155,7 @@ + @@ -175,6 +176,7 @@ + diff --git a/src/client_backend/client_backend.vcxproj.filters b/src/client_backend/client_backend.vcxproj.filters index a6101ea..f2b1455 100644 --- a/src/client_backend/client_backend.vcxproj.filters +++ b/src/client_backend/client_backend.vcxproj.filters @@ -72,6 +72,9 @@ Headerdateien + + Headerdateien + @@ -128,6 +131,9 @@ Headerdateien + + Headerdateien + diff --git a/src/client_backend/client_backend/x64/Debug/app_ctrl.h.ifc b/src/client_backend/client_backend/x64/Debug/app_ctrl.h.ifc index 9861a4a..b619942 100644 Binary files a/src/client_backend/client_backend/x64/Debug/app_ctrl.h.ifc and b/src/client_backend/client_backend/x64/Debug/app_ctrl.h.ifc differ 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 7cdc96f..a987b40 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 3664067..3c20a1f 100644 --- a/src/client_backend/client_backend/x64/Debug/client_backend.log +++ b/src/client_backend/client_backend/x64/Debug/client_backend.log @@ -1,11 +1,11 @@  Quellen werden auf Modulabhängigkeiten überprüft... check_dir.cpp -C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\check_dir.cpp(50,38): warning C4018: ">=": Konflikt zwischen "signed" und "unsigned" +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\check_dir.cpp(49,38): warning C4018: ">=": Konflikt zwischen "signed" und "unsigned" 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(37,29): + C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\check_dir.cpp(38,29): Siehe Verweis auf die gerade kompilierte Instanziierung "std::basic_string,std::allocator>::basic_string>>,0>(_Iter,_Iter,const _Alloc &)" der Funktions-Vorlage. with [ @@ -13,7 +13,7 @@ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.3351 _Iter=std::_String_iterator>>, _Alloc=std::allocator ] - C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\check_dir.cpp(37,29): + C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\check_dir.cpp(38,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. @@ -34,4 +34,21 @@ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.3351 _SizeTy=unsigned __int64 ] + check_process.cpp +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\check_process.cpp(59,58): warning C4018: ">=": Konflikt zwischen "signed" und "unsigned" + client_backend.cpp +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp(131,24): warning C4244: "Argument": Konvertierung von "_Rep" in "DWORD", möglicher Datenverlust +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp(131,24): warning C4244: with +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp(131,24): warning C4244: [ +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp(131,24): warning C4244: _Rep=__int64 +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp(131,24): warning C4244: ] + scan.cpp +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\scan.cpp(256,46): warning C4018: ">=": Konflikt zwischen "signed" und "unsigned" + thread_ctrl.cpp + update.cpp + utils.cpp +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\utils.cpp(174,42): warning C4101: "e": Unreferenzierte lokale Variable + virus_ctrl.cpp + Code wird generiert... 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 ff35fef..bc11407 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 4811e18..1e933cd 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 17f48e3..7a07e46 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/Cl.items.tlog b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/Cl.items.tlog index 20fe037..742679c 100644 --- a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/Cl.items.tlog +++ b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/Cl.items.tlog @@ -17,3 +17,4 @@ C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\thread_ctrl.cpp C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\update.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\update.obj C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\utils.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\utils.obj C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\virus_ctrl.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\virus_ctrl.obj +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\zip.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\zip.obj diff --git a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/client_backend.write.1u.tlog b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/client_backend.write.1u.tlog index 9c12570..ea3c2db 100644 Binary files a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/client_backend.write.1u.tlog and b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/client_backend.write.1u.tlog differ diff --git a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.command.1.tlog b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.command.1.tlog index 554add7..38cb3b1 100644 Binary files a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.command.1.tlog and b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.command.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 aa811da..0418291 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/client_backend.tlog/link.secondary.1.tlog b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.secondary.1.tlog index dea05bf..7d178e6 100644 --- a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.secondary.1.tlog +++ b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.secondary.1.tlog @@ -1,2 +1,2 @@ -^C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\APP_CTRL.H.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\APP_CTRL.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CHECK_DIR.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CHECK_PROCESS.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CLIENT_BACKEND.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CLIENT_BACKEND.RES|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CONNECT.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\LOCAL_COM.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\LOCAL_SCHEDULE.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\LOG.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\MD5HASH.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\PERMISSIONS.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\QUEUE _CTRL.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\SCAN.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\SECURITY.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\SETTINGS.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\THREAD_CTRL.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\UPDATE.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\UTILS.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\VIRUS_CTRL.OBJ +^C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\APP_CTRL.H.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\APP_CTRL.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CHECK_DIR.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CHECK_PROCESS.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CLIENT_BACKEND.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CLIENT_BACKEND.RES|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\CONNECT.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\LOCAL_COM.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\LOCAL_SCHEDULE.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\LOG.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\MD5HASH.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\PERMISSIONS.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\QUEUE _CTRL.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\SCAN.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\SECURITY.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\SETTINGS.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\THREAD_CTRL.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\UPDATE.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\UTILS.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\VIRUS_CTRL.OBJ|C:\USERS\JANIS\DOCUMENTS\PROJEKTE_MIT_C\MA\MA\SRC\CLIENT_BACKEND\CLIENT_BACKEND\X64\DEBUG\ZIP.OBJ C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\client_backend.ilk diff --git a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.write.1.tlog b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.write.1.tlog index f395f02..6549b95 100644 Binary files a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.write.1.tlog and b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.write.1.tlog differ diff --git a/src/client_backend/client_backend/x64/Debug/client_backend.vcxproj.FileListAbsolute.txt b/src/client_backend/client_backend/x64/Debug/client_backend.vcxproj.FileListAbsolute.txt index d364fae..e69de29 100644 --- a/src/client_backend/client_backend/x64/Debug/client_backend.vcxproj.FileListAbsolute.txt +++ b/src/client_backend/client_backend/x64/Debug/client_backend.vcxproj.FileListAbsolute.txt @@ -1,2 +0,0 @@ -C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\libcrypto-3-x64.dll -C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend\x64\Debug\client_b.C1767528.Up2Date diff --git a/src/client_backend/client_backend/x64/Debug/vc143.idb b/src/client_backend/client_backend/x64/Debug/vc143.idb index ff92ea2..20540bb 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 4f2da62..b5da89d 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/local_schedule.cpp b/src/client_backend/local_schedule.cpp index 65e9129..3089088 100644 --- a/src/client_backend/local_schedule.cpp +++ b/src/client_backend/local_schedule.cpp @@ -76,7 +76,7 @@ int check_for_sched_tasks(const char* sched_name, const char* sched_path) { FILE* fp = nullptr; char command[505]; if (fopen_s(&fp, sched_path, "r") != 0) { - delete[] command; + //delete[] command; return 1; } else { diff --git a/src/client_backend/md5hash.cpp b/src/client_backend/md5hash.cpp index 436a9da..5af6855 100644 --- a/src/client_backend/md5hash.cpp +++ b/src/client_backend/md5hash.cpp @@ -44,10 +44,11 @@ int md5_file(const char* path, char* md5Hash) { std::string md5_file_t(const std::string& path_) { std::string path(path_); FILE* fp = fopen(path.c_str(), "rb"); + //printf("%s\n",path.c_str()); if (!fp) { // Log the error if needed (uncomment if required) - // log(LOGLEVEL::WARN, "[md5_file_t()]: Could not open file for scanning ", path.c_str()); - return path; // Return the path because otherwise, it might crash (if we send a nullptr) + // log(LOGLEVEL::WARN_NOSEND, "[md5_file_t()]: Could not open file for scanning ", path.c_str()); + return "nan"; // Return the path because otherwise, it might crash (if we send a nullptr) } // Lock access to the file diff --git a/src/client_backend/scan.cpp b/src/client_backend/scan.cpp index 9ee1951..104564d 100644 --- a/src/client_backend/scan.cpp +++ b/src/client_backend/scan.cpp @@ -143,7 +143,7 @@ int search_hash(const std::string& dbname_, const std::string& hash_, const std: 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); + //log(LOGLEVEL::ERR_NOSEND, "[search_hash()]: File mapping not initialized for ", dbname); return 2; } else if (fileIter == fileHandles.end()) { @@ -247,6 +247,9 @@ void scan_folder(const std::string& directory) { directories.push(full_path); } else { + if(debug_mode()) + log(LOGLEVEL::INFO_NOSEND, "[scan_folder()]: Scanning file: ", full_path); + // Do multithreading here int thread_timeout = 0; //log(LOGLEVEL::INFO_NOSEND, "[scan_folder()]: Scanning file: ", full_path); @@ -279,7 +282,7 @@ void scan_folder(const std::string& directory) { //printf("Number of threads: %d\n", num_threads); } if (cnt % 1000 == 0) { - int actual_threads = get_num_threads(); + int actual_threads = get_num_running_threads(); if(get_num_threads()>actual_threads) set_num_threads(actual_threads);//correct value of threads minus the main and the rtp thread printf("Number of threads: %d\n", get_num_threads()); @@ -296,7 +299,6 @@ void scan_folder(const std::string& directory) { } else { log(LOGLEVEL::ERR_NOSEND, "[scan_folder()]: Could not open directory: ", current_dir, " while scanning files inside directory."); - //std::cerr << "[scan_folder()]: Could not open directory: " << current_dir << " while scanning files inside directory." << std::endl; } } } @@ -309,7 +311,9 @@ void action_scanfile(const std::string& filepath_) { const std::string filepath(filepath_); char* db_path = new char[300]; char* hash = new char[300]; - if (is_valid_path(filepath_)) { //filter out invalid paths and paths with weird characters + //printf("start\n"); + if (is_valid_path(filepath)) { //filter out invalid paths and paths with weird characters + //printf("valid\n"); std::string hash_(md5_file_t(filepath)); if (strlen(hash_.c_str()) < 290) strcpy_s(hash, 295, hash_.c_str()); @@ -356,14 +360,14 @@ void scan_file_t(const std::string& filepath_) { set_num_threads(get_num_threads() + 1); thread_local const std::string filepath(filepath_); thread_local char* db_path = new char[300]; - thread_local char* hash = new char[300]; - thread_local std::string hash_(md5_file_t(filepath)); - if (strlen(hash_.c_str()) < 290) - strcpy_s(hash, 295, hash_.c_str()); - else{ - strcpy_s(hash, 295, ""); - log(LOGLEVEL::ERR_NOSEND, "[scan_file_t()]: Could not calculate hash for file: ", filepath); - } + //thread_local char* hash = new char[300]; + thread_local std::string hash(md5_file_t(filepath)); + //if (strlen(hash_.c_str()) < 290) + // strcpy_s(hash, 295, hash_.c_str()); + //else{ + // strcpy_s(hash, 295, ""); + // log(LOGLEVEL::ERR_NOSEND, "[scan_file_t()]: Could not calculate hash for file: ", filepath); + //} sprintf_s(db_path, 295, "%s\\%c%c.jdbf", DB_DIR, hash[0], hash[1]); search_hash(db_path, hash, filepath); set_num_threads(get_num_threads() - 1); diff --git a/src/client_backend/security.cpp b/src/client_backend/security.cpp index 574bec2..62761bb 100644 --- a/src/client_backend/security.cpp +++ b/src/client_backend/security.cpp @@ -2,6 +2,8 @@ #include // Include the mutex header #include // Include the string header #include // Include the file stream header +#include "md5hash.h" +#include "well_known.h" std::mutex fileMutex_sec; // Mutex to synchronize file access @@ -63,3 +65,28 @@ std::string get_machineid(const std::string& secrets_path) { return ""; } } + +bool selfcheck() { + //hash all the cyberhex files and check if they have been tampered with + if (md5_file_t(DLL_LIBCRYPTO_PATH) != DLL_LIBCRYPTO_HASH) + return 1; + if(md5_file_t(DLL_LIBCURL_PATH)!=DLL_LIBCURL_HASH) + return 2; + if(md5_file_t(DLL_MSVCP140_PATH)!=DLL_MSVCP140_HASH) + return 3; + if(md5_file_t(DLL_MSVCP140D_PATH)!=DLL_MSVCP140D_HASH) + return 4; + if(md5_file_t(DLL_VCRUNTIME140_PATH)!=DLL_VCRUNTIME140_HASH) + return 5; + if(md5_file_t(DLL_VCRUNTIME140D_PATH)!=DLL_VCRUNTIME140D_HASH) + return 6; + if(md5_file_t(DLL_VCRUNTIME140_1D_PATH)!=DLL_VCRUNTIME140_1D_HASH) + return 7; + if(md5_file_t(DLL_ZLIB1_PATH)!=DLL_ZLIB1_HASH) + return 8; + if(md5_file_t(DLL_UCRTBASED_PATH)!=DLL_UCRTBASED_HASH) + return 9; + //if(md5_file_t(APP_PATH)!=APP_HASH) + // return 10; + return 0; +} \ No newline at end of file diff --git a/src/client_backend/security.h b/src/client_backend/security.h index 444bfc8..4d4da7a 100644 --- a/src/client_backend/security.h +++ b/src/client_backend/security.h @@ -7,4 +7,5 @@ int check_cert(const std::string& cert, const std::string& secrets_path); std::string get_apikey(const std::string& secrets_path); std::string get_machineid(const std::string& secrets_path); +bool selfcheck(); #endif // !SECURITY_H \ No newline at end of file diff --git a/src/client_backend/update.cpp b/src/client_backend/update.cpp index a860815..f86f417 100644 --- a/src/client_backend/update.cpp +++ b/src/client_backend/update.cpp @@ -11,6 +11,8 @@ #include #include #include +#include +#include "zip.h" int update_system() { thread_init(); @@ -60,6 +62,29 @@ int update_system() { thread_shutdown(); return 0; } + +int update_db2(const std::string&folder_path) { + //remove the old databases + std::string path = folder_path + "\\"; + delete_all_files(folder_path); //remove all files in the folder + + std::string url = get_setting_string("server:server_url"); + if (url.empty() || url == "nan") { + return 2; // Invalid server URL + } + url += "/database_srv/sig.zip"; + std::string output_path = folder_path + "\\" + "sig.zip"; + int res = download_file_from_srv(url, output_path, get_setting("communication:unsafe_tls"), 1); + + if (res != 0) { + return 10; // Error downloading file + } + + //unzip the file + unzip(output_path, folder_path); + return 0; +} + int update_db(const std::string& folder_path) { // Download the databases from the server for (char firstChar = '0'; firstChar <= 'f'; ++firstChar) { diff --git a/src/client_backend/update.h b/src/client_backend/update.h index 55e9c00..5c3d397 100644 --- a/src/client_backend/update.h +++ b/src/client_backend/update.h @@ -4,6 +4,7 @@ #include #include int update_db(const std::string& folder_path); +int update_db2(const std::string& folder_path); int update_settings(const std::string& settings_type); int action_update_settings(); int action_update_db(); diff --git a/src/client_backend/utils.cpp b/src/client_backend/utils.cpp index f3f7c1b..fc53be2 100644 --- a/src/client_backend/utils.cpp +++ b/src/client_backend/utils.cpp @@ -9,6 +9,7 @@ #include #include +namespace fs = std::filesystem; void split(const std::string& input, char delimiter, std::string& out1, std::string& out2) { // Split a string at the delimiter. The delimiter only occurs once. // The first part is stored in out1 and the second part in out2. @@ -19,18 +20,25 @@ 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 } } - if (!std::filesystem::exists(filename)) { - return 0; // File does not exist - } + //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 + } return 1; // No special character found } + void startup(LPCTSTR lpApplicationName) { // additional information @@ -146,3 +154,25 @@ int get_num_running_threads() { return runningThreads; } + +bool has_read_access(const std::string &path) { + // Check if the current process has read access to the file + FILE* fp; + if(fopen_s(&fp, path.c_str(), "r")==0){ + fclose(fp); + return true; + } + return false; +} + +void delete_all_files(const std::string& directoryPath) { + for (const auto& entry : fs::directory_iterator(directoryPath)) { + if (fs::is_regular_file(entry)) { + try { + fs::remove(entry.path()); + } + catch (const std::exception& e) { + } + } + } +} \ No newline at end of file diff --git a/src/client_backend/utils.h b/src/client_backend/utils.h index 957812d..7d0c93c 100644 --- a/src/client_backend/utils.h +++ b/src/client_backend/utils.h @@ -9,4 +9,6 @@ void startup(LPCTSTR lpApplicationName); void split(const std::string& input, char delimiter, std::string& out1, std::string& out2); bool is_valid_path(const std::string& filename); bool file_exists(const std::string& filename); -int get_num_running_threads(); \ No newline at end of file +int get_num_running_threads(); +bool has_read_access(const std::string& path); +void delete_all_files(const std::string& directoryPath); \ No newline at end of file diff --git a/src/client_backend/uznnaoeu.gp4~ b/src/client_backend/uznnaoeu.gp4~ new file mode 100644 index 0000000..c8478f4 --- /dev/null +++ b/src/client_backend/uznnaoeu.gp4~ @@ -0,0 +1,150 @@ +#include "utils.h" +#include +#include +#include +#include "log.h" +#include +#include +#include +#include +#include + +void split(const std::string& input, char delimiter, std::string& out1, std::string& out2) { + // Split a string at the delimiter. The delimiter only occurs once. + // The first part is stored in out1 and the second part in out2. + size_t pos = input.find(delimiter); + if (pos != std::string::npos) { + out1 = input.substr(0, pos); + out2 = input.substr(pos + 1); + } +} +bool is_valid_path(const std::string& filename) { + for (char c : filename) { + if (c == '<' || c == '>' || c == '"' || c == '|' || c == '?' || c == '*' || c > 126 || c < 32 ) { + return 0; // Special character found + } + } + if (!std::filesystem::exists(filename)) { + return 0; // File does not exist + } + return 1; // No special character found +} + + +void startup(LPCTSTR lpApplicationName) +{ + // additional information + STARTUPINFO si; + PROCESS_INFORMATION pi; + + // set the size of the structures + ZeroMemory(&si, sizeof(si)); + si.cb = sizeof(si); + ZeroMemory(&pi, sizeof(pi)); + + // start the program up + CreateProcess(lpApplicationName, // the path + NULL, // Command line + NULL, // Process handle not inheritable + NULL, // Thread handle not inheritable + FALSE, // Set handle inheritance to FALSE + 0, // No creation flags + NULL, // Use parent's environment block + NULL, // Use parent's starting directory + &si, // Pointer to STARTUPINFO structure + &pi // Pointer to PROCESS_INFORMATION structure + ); + // Close process and thread handles. + CloseHandle(pi.hProcess); + CloseHandle(pi.hThread); +} + + +std::string get_filename(const std::string& path) { + auto pos = path.find_last_of("\\"); + if (pos == std::string::npos) { + // No directory separator found, return the original path + return path; + } + else { + // Return the substring after the last directory separator + return path.substr(pos + 1); + } +} + +int strcasecmp(const std::string& s1, const std::string& s2) { + auto it1 = s1.begin(); + auto it2 = s2.begin(); + while (it1 != s1.end() && it2 != s2.end()) { + int diff = std::tolower(*it1) - std::tolower(*it2); + if (diff != 0) + return diff; + ++it1; + ++it2; + } + return 0; +} + +void kill_process(const std::string& path) { + HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, NULL); + PROCESSENTRY32 pEntry; + pEntry.dwSize = sizeof(pEntry); + BOOL hRes = Process32First(hSnapShot, &pEntry); + while (hRes) + { + if (strcasecmp(pEntry.szExeFile, get_filename(path).c_str()) == 0) + { + HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, 0, static_cast(pEntry.th32ProcessID)); + if (hProcess != NULL) + { + TerminateProcess(hProcess, 9); + CloseHandle(hProcess); + } + else + log(LOGLEVEL::ERR, "[kill_process()]: Error while killing process: ", path); + } + hRes = Process32Next(hSnapShot, &pEntry); + } + CloseHandle(hSnapShot); +} + + +bool file_exists(const std::string& filePath) { + DWORD fileAttributes = GetFileAttributes(filePath.c_str()); + + if (fileAttributes == INVALID_FILE_ATTRIBUTES) { + // The file does not exist or there was an error + return false; + } + + // Check if it's a regular file and not a directory + return (fileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0; +} + +int get_num_running_threads() { + DWORD runningThreads = 0; + HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); + + if (hSnapshot != INVALID_HANDLE_VALUE) { + THREADENTRY32 te; + te.dwSize = sizeof(THREADENTRY32); + + if (Thread32First(hSnapshot, &te)) { + do { + if (te.dwSize >= FIELD_OFFSET(THREADENTRY32, th32OwnerProcessID) + + sizeof(te.th32OwnerProcessID)) { + if (te.th32OwnerProcessID == GetCurrentProcessId()) { + runningThreads++; + } + } + te.dwSize = sizeof(THREADENTRY32); + } while (Thread32Next(hSnapshot, &te)); + } + + CloseHandle(hSnapshot); + } + + return runningThreads; +} + + diff --git a/src/client_backend/well_known.h b/src/client_backend/well_known.h index 32c626d..b91cc72 100644 --- a/src/client_backend/well_known.h +++ b/src/client_backend/well_known.h @@ -44,4 +44,29 @@ #define JAKACH_UPDATE_SRV "https://jakach.duckdns.org/cyberhex/latest/" #define CURRENT_VERSION 1 + +//hashes for self check +#define APP_HASH "aa" +#define DLL_LIBCRYPTO_HASH "06431d044cf37522e1434019522d11a0" +#define DLL_LIBCURL_HASH "cec7fb7e6cfb46be0740b02fb828900d" +#define DLL_MSVCP140_HASH "ebf8072a3c5c586979313f76e503aabf" +#define DLL_MSVCP140D_HASH "f265bdccc3d8dbc56344c0d900a833bc" +#define DLL_VCRUNTIME140_HASH "699dd61122d91e80abdfcc396ce0ec10" +#define DLL_VCRUNTIME140D_HASH "8e32121bc62367042f6d105df057d6b4" +#define DLL_VCRUNTIME140_1D_HASH "75e81353c004a6bea844c212db09e1ed" +#define DLL_ZLIB1_HASH "a966f1c10844493269521fef54e4cdef" +#define DLL_UCRTBASED_HASH "ffc3b14a9c1280517429e805ed9625b2" + +#define APP_PATH "C:\\Program Files\\cyberhex\\secure\\app\\cyberhex.exe" +#define DLL_LIBCRYPTO_PATH "c:\\Program Files\\cyberhex\\secure\\app\\libcrypto-3-x64.dll" +#define DLL_LIBCURL_PATH "C:\\Program Files\\cyberhex\\secure\\app\\libcurl.dll" +#define DLL_MSVCP140_PATH "C:\\Program Files\\cyberhex\\secure\\app\\msvcp140.dll" +#define DLL_MSVCP140D_PATH "C:\\Program Files\\cyberhex\\secure\\app\\msvcp140d.dll" +#define DLL_VCRUNTIME140_PATH "C:\\Program Files\\cyberhex\\secure\\app\\vcruntime140.dll" +#define DLL_VCRUNTIME140D_PATH "C:\\Program Files\\cyberhex\\secure\\app\\vcruntime140d.dll" +#define DLL_VCRUNTIME140_1D_PATH "C:\\Program Files\\cyberhex\\secure\\app\\vcruntime140_1d.dll" +#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 76963bb..4681fb3 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_backend/zip.cpp b/src/client_backend/zip.cpp new file mode 100644 index 0000000..3500076 --- /dev/null +++ b/src/client_backend/zip.cpp @@ -0,0 +1,62 @@ +#include "zip.h" +#include +#include +#include +#include +#include +//thanks https://vcpptips.wordpress.com/2013/10/28/how-to-zipunzip-files/ + +void unzip(const std::string& source, const std::string& dest) +{ + HRESULT hResult = S_FALSE; + IShellDispatch* pIShellDispatch = NULL; + Folder* pToFolder = NULL; + VARIANT variantDir, variantFile, variantOpt; + + CoInitialize(NULL); + + hResult = CoCreateInstance(CLSID_Shell, NULL, CLSCTX_INPROC_SERVER, + IID_IShellDispatch, (void**)&pIShellDispatch); + if (SUCCEEDED(hResult)) + { + VariantInit(&variantDir); + variantDir.vt = VT_BSTR; + variantDir.bstrVal = SysAllocStringLen(NULL, MultiByteToWideChar(CP_UTF8, 0, dest.c_str(), -1, NULL, 0)); + MultiByteToWideChar(CP_UTF8, 0, dest.c_str(), -1, variantDir.bstrVal, SysStringLen(variantDir.bstrVal)); + + hResult = pIShellDispatch->NameSpace(variantDir, &pToFolder); + + if (SUCCEEDED(hResult)) + { + Folder* pFromFolder = NULL; + VariantInit(&variantFile); + variantFile.vt = VT_BSTR; + variantFile.bstrVal = SysAllocStringLen(NULL, MultiByteToWideChar(CP_UTF8, 0, source.c_str(), -1, NULL, 0)); + MultiByteToWideChar(CP_UTF8, 0, source.c_str(), -1, variantFile.bstrVal, SysStringLen(variantFile.bstrVal)); + + pIShellDispatch->NameSpace(variantFile, &pFromFolder); + + FolderItems* fi = NULL; + pFromFolder->Items(&fi); + + VariantInit(&variantOpt); + variantOpt.vt = VT_I4; + variantOpt.lVal = FOF_NO_UI; + + VARIANT newV; + VariantInit(&newV); + newV.vt = VT_DISPATCH; + newV.pdispVal = fi; + hResult = pToFolder->CopyHere(newV, variantOpt); + Sleep(1000); + + pFromFolder->Release(); + pToFolder->Release(); + } + pIShellDispatch->Release(); + } + + CoUninitialize(); + SysFreeString(variantDir.bstrVal); + SysFreeString(variantFile.bstrVal); +} \ No newline at end of file diff --git a/src/client_backend/zip.h b/src/client_backend/zip.h new file mode 100644 index 0000000..ff9869c --- /dev/null +++ b/src/client_backend/zip.h @@ -0,0 +1,3 @@ +#pragma once +#include +void unzip(const std::string& source, const std::string& dest); \ No newline at end of file diff --git a/src/ma_installer/.vs/ma_installer/v17/.suo b/src/ma_installer/.vs/ma_installer/v17/.suo index a86d421..ba61359 100644 Binary files a/src/ma_installer/.vs/ma_installer/v17/.suo and b/src/ma_installer/.vs/ma_installer/v17/.suo differ diff --git a/src/ma_installer/.vs/ma_installer/v17/Browse.VC.db b/src/ma_installer/.vs/ma_installer/v17/Browse.VC.db index f1323cb..29b71fc 100644 Binary files a/src/ma_installer/.vs/ma_installer/v17/Browse.VC.db and b/src/ma_installer/.vs/ma_installer/v17/Browse.VC.db differ diff --git a/src/ma_installer/.vs/ma_installer/v17/DocumentLayout.json b/src/ma_installer/.vs/ma_installer/v17/DocumentLayout.json index 6de7559..05ebe0e 100644 --- a/src/ma_installer/.vs/ma_installer/v17/DocumentLayout.json +++ b/src/ma_installer/.vs/ma_installer/v17/DocumentLayout.json @@ -6,6 +6,10 @@ "AbsoluteMoniker": "D:0:0:{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}|ma_installer.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\ma_installer\\ma_installer.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}|ma_installer.vcxproj|solutionrelative:ma_installer.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" }, + { + "AbsoluteMoniker": "D:0:0:{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}|ma_installer.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\ma_installer\\download.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}|ma_installer.vcxproj|solutionrelative:download.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + }, { "AbsoluteMoniker": "D:0:0:{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}|ma_installer.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\ma_installer\\well_known.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}|ma_installer.vcxproj|solutionrelative:well_known.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" @@ -13,10 +17,6 @@ { "AbsoluteMoniker": "D:0:0:{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}|ma_installer.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\ma_installer\\download.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}|ma_installer.vcxproj|solutionrelative:download.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" - }, - { - "AbsoluteMoniker": "D:0:0:{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}|ma_installer.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\ma_installer\\download.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "RelativeMoniker": "D:0:0:{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}|ma_installer.vcxproj|solutionrelative:download.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" } ], "DocumentGroupContainers": [ @@ -30,7 +30,7 @@ "Children": [ { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 2, "Title": "well_known.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\ma_installer\\well_known.h", "RelativeDocumentMoniker": "well_known.h", @@ -42,7 +42,7 @@ }, { "$type": "Document", - "DocumentIndex": 2, + "DocumentIndex": 3, "Title": "download.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\ma_installer\\download.cpp", "RelativeDocumentMoniker": "download.cpp", @@ -54,7 +54,7 @@ }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 1, "Title": "download.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\ma_installer\\download.h", "RelativeDocumentMoniker": "download.h", @@ -72,7 +72,7 @@ "RelativeDocumentMoniker": "ma_installer.cpp", "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\ma_installer\\ma_installer.cpp", "RelativeToolTip": "ma_installer.cpp", - "ViewState": "AQIAAPoAAAAAAAAAAAAAACcDAAAnAAAA", + "ViewState": "AQIAAGgDAAAAAAAAAAAAAIQDAAAIAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2023-12-22T18:52:51.74Z", "EditorCaption": "" diff --git a/src/ma_installer/.vs/ma_installer/v17/ipch/AutoPCH/d30ea52e71910fa3/MA_INSTALLER.ipch b/src/ma_installer/.vs/ma_installer/v17/ipch/AutoPCH/d30ea52e71910fa3/MA_INSTALLER.ipch index d512fa5..01c43f2 100644 Binary files a/src/ma_installer/.vs/ma_installer/v17/ipch/AutoPCH/d30ea52e71910fa3/MA_INSTALLER.ipch and b/src/ma_installer/.vs/ma_installer/v17/ipch/AutoPCH/d30ea52e71910fa3/MA_INSTALLER.ipch differ diff --git a/src/ma_installer/ma_installer.cpp b/src/ma_installer/ma_installer.cpp index 91e8db1..da968e3 100644 --- a/src/ma_installer/ma_installer.cpp +++ b/src/ma_installer/ma_installer.cpp @@ -8,7 +8,15 @@ #include #include "download.h" #include "well_known.h" -#pragma comment(lib, "advapi32.lib") +#include +#include +#include // For CoInitialize and CoUninitialize +#include // For IPersistFile +#include // For InitPropVariantFromString +#include // For IShellLink +#include +#include // For PKEY_AppUserModel_ID + /* Tasks to do: - launch as admin @@ -646,7 +654,99 @@ int copy(const char* source_path, const char* destination_path) { return 0; + } + + +HRESULT create_shortcut(const wchar_t* targetPath, const wchar_t* shortcutPath, const wchar_t* iconPath) { + // Initialize the COM library + HRESULT hr = CoInitialize(NULL); + if (FAILED(hr)) { + return hr; + } + + // Create an instance of the ShellLink interface + IShellLink* pShellLink = NULL; + hr = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID*)&pShellLink); + if (FAILED(hr)) { + CoUninitialize(); + return hr; + } + + // Set the path of the target file + pShellLink->SetPath(targetPath); + + // Query the IPropertyStore interface + IPropertyStore* pPropertyStore = NULL; + hr = pShellLink->QueryInterface(IID_IPropertyStore, (void**)&pPropertyStore); + if (FAILED(hr)) { + pShellLink->Release(); + CoUninitialize(); + return hr; + } + + // Load the icon file and set the System.Icon property + PROPVARIANT propvar; + hr = InitPropVariantFromString(iconPath, &propvar); + if (SUCCEEDED(hr)) { + hr = pPropertyStore->SetValue(PKEY_AppUserModel_ID, propvar); + if (SUCCEEDED(hr)) { + hr = pPropertyStore->Commit(); + if (FAILED(hr)) { + CoUninitialize(); + pPropertyStore->Release(); + pShellLink->Release(); + return hr; + } + } + else { + CoUninitialize(); + pPropertyStore->Release(); + pShellLink->Release(); + return hr; + } + PropVariantClear(&propvar); // Free memory allocated by InitPropVariantFromString + } + else { + CoUninitialize(); + pPropertyStore->Release(); + pShellLink->Release(); + return hr; + } + + // Release the IPropertyStore interface + pPropertyStore->Release(); + + // Query the IPersistFile interface + IPersistFile* pPersistFile = NULL; + hr = pShellLink->QueryInterface(IID_IPersistFile, (void**)&pPersistFile); + if (FAILED(hr)) { + pShellLink->Release(); + CoUninitialize(); + return hr; + } + + // Save the shortcut to disk + hr = pPersistFile->Save(shortcutPath, TRUE); + if (FAILED(hr)) { + pPersistFile->Release(); + pShellLink->Release(); + CoUninitialize(); + return hr; + } + + // Release COM interfaces + pPersistFile->Release(); + pShellLink->Release(); + + // Uninitialize the COM library + CoUninitialize(); + + return S_OK; // Success +} + + + int main() { printf("Welcome to the Cyberhex installer!\n"); @@ -797,6 +897,17 @@ int main() std::cerr << "Task creation failed!" << std::endl; error=5; } + //create the shortcut + + if (error == 0) { + printf("Creating shortcut\n"); + HRESULT hr = create_shortcut(L"C:\\Program Files\\cyberhex\\app\\cyberhex_desktop.exe", L"C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\cyberhex.lnk", L"C:\\Program Files\\cyberhex\\app\\icon.ico"); + if (FAILED(hr)) + { + std::cerr << "Shortcut creation failed!" << std::endl; + error = 6; + } + } } switch (error) { diff --git a/src/ma_installer/ma_installer/x64/Debug/ma_installer.ilk b/src/ma_installer/ma_installer/x64/Debug/ma_installer.ilk index 8ad0aaf..24f763c 100644 Binary files a/src/ma_installer/ma_installer/x64/Debug/ma_installer.ilk and b/src/ma_installer/ma_installer/x64/Debug/ma_installer.ilk differ diff --git a/src/ma_installer/ma_installer/x64/Debug/ma_installer.log b/src/ma_installer/ma_installer/x64/Debug/ma_installer.log index c0c36e1..d50937c 100644 --- a/src/ma_installer/ma_installer/x64/Debug/ma_installer.log +++ b/src/ma_installer/ma_installer/x64/Debug/ma_installer.log @@ -1,3 +1,4 @@  ma_installer.cpp -C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\ma_installer.cpp(704,15): warning C4101: "fp": Unreferenzierte lokale Variable +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\ma_installer.cpp(804,15): warning C4101: "fp": Unreferenzierte lokale Variable ma_installer.vcxproj -> C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\x64\Debug\ma_installer.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\ma_installer\x64\Debug\ma_installer.exe" "C:\vcpkg\vcpkg-2023.08.09\installed\x64-windows\debug\bin" "ma_installer\x64\Debug\ma_installer.tlog\ma_installer.write.1u.tlog" "ma_installer\x64\Debug\vcpkg.applocal.log" diff --git a/src/ma_installer/ma_installer/x64/Debug/ma_installer.tlog/CL.read.1.tlog b/src/ma_installer/ma_installer/x64/Debug/ma_installer.tlog/CL.read.1.tlog index 4f47e3f..9c8568d 100644 Binary files a/src/ma_installer/ma_installer/x64/Debug/ma_installer.tlog/CL.read.1.tlog and b/src/ma_installer/ma_installer/x64/Debug/ma_installer.tlog/CL.read.1.tlog differ diff --git a/src/ma_installer/ma_installer/x64/Debug/ma_installer.tlog/link.read.1.tlog b/src/ma_installer/ma_installer/x64/Debug/ma_installer.tlog/link.read.1.tlog index 285a8bd..0e3bedb 100644 Binary files a/src/ma_installer/ma_installer/x64/Debug/ma_installer.tlog/link.read.1.tlog and b/src/ma_installer/ma_installer/x64/Debug/ma_installer.tlog/link.read.1.tlog differ diff --git a/src/ma_installer/ma_installer/x64/Debug/ma_installer.tlog/ma_installer.write.1u.tlog b/src/ma_installer/ma_installer/x64/Debug/ma_installer.tlog/ma_installer.write.1u.tlog index 1142325..048a651 100644 Binary files a/src/ma_installer/ma_installer/x64/Debug/ma_installer.tlog/ma_installer.write.1u.tlog and b/src/ma_installer/ma_installer/x64/Debug/ma_installer.tlog/ma_installer.write.1u.tlog differ diff --git a/src/ma_installer/ma_installer/x64/Debug/ma_installer.vcxproj.FileListAbsolute.txt b/src/ma_installer/ma_installer/x64/Debug/ma_installer.vcxproj.FileListAbsolute.txt index 543bc8b..e69de29 100644 --- a/src/ma_installer/ma_installer/x64/Debug/ma_installer.vcxproj.FileListAbsolute.txt +++ b/src/ma_installer/ma_installer/x64/Debug/ma_installer.vcxproj.FileListAbsolute.txt @@ -1,3 +0,0 @@ -C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\x64\Debug\libcurl-d.dll -C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\x64\Debug\zlibd1.dll -C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\ma_installer\x64\Debug\ma_insta.BC7E6B48.Up2Date diff --git a/src/ma_installer/ma_installer/x64/Debug/vc143.idb b/src/ma_installer/ma_installer/x64/Debug/vc143.idb index 41a6644..609ad71 100644 Binary files a/src/ma_installer/ma_installer/x64/Debug/vc143.idb and b/src/ma_installer/ma_installer/x64/Debug/vc143.idb differ diff --git a/src/ma_installer/ma_installer/x64/Debug/vc143.pdb b/src/ma_installer/ma_installer/x64/Debug/vc143.pdb index 011b6db..69c8d81 100644 Binary files a/src/ma_installer/ma_installer/x64/Debug/vc143.pdb and b/src/ma_installer/ma_installer/x64/Debug/vc143.pdb differ diff --git a/src/ma_installer/x64/Debug/ma_installer.pdb b/src/ma_installer/x64/Debug/ma_installer.pdb index 7fdf6ab..db82bfe 100644 Binary files a/src/ma_installer/x64/Debug/ma_installer.pdb and b/src/ma_installer/x64/Debug/ma_installer.pdb differ diff --git a/src/server/cyberhex-code/api/php/database/compile_database.php b/src/server/cyberhex-code/api/php/database/compile_database.php index 6ac3625..c83c4d4 100644 --- a/src/server/cyberhex-code/api/php/database/compile_database.php +++ b/src/server/cyberhex-code/api/php/database/compile_database.php @@ -61,6 +61,30 @@ function download_files($excluded){ sort_hashes("/var/www/html/database_srv/buf.md5", $excluded); } +function create_zip($directory) { + // Create a new ZipArchive object + $zip = new ZipArchive(); + + // Open or create the zip file + if ($zip->open('sig.zip', ZipArchive::CREATE) !== TRUE) { + } + + // Get list of files in the directory + $files = scandir($directory); + + // Loop through each file + foreach ($files as $file) { + // Check if it's a regular file and has a .txt extension + if (is_file($directory . '/' . $file) && pathinfo($file, PATHINFO_EXTENSION) == 'jdbf') { + // Add the file to the zip archive + $zip->addFile($directory . '/' . $file, $file); + } + } + + // Close the zip file + $zip->close(); + +} include "../../../config.php"; @@ -109,5 +133,7 @@ foreach ($files as $file) { } } set_time_limit(0); -download_files($excluded); +//download_files($excluded); +//make a zip file with all the files in it. +create_zip($directory); ?>