diff --git a/src/client_backend/.vs/client_backend/v17/.suo b/src/client_backend/.vs/client_backend/v17/.suo index 8a40954..aa61c5c 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 01cf8b7..6a7752c 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 665525f..9024c0c 100644 --- a/src/client_backend/.vs/client_backend/v17/DocumentLayout.json +++ b/src/client_backend/.vs/client_backend/v17/DocumentLayout.json @@ -3,8 +3,24 @@ "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\\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\\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\\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\\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\\virus_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", @@ -15,16 +31,24 @@ "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:log.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" }, { - "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", - "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}" }, { - "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\\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\\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\\check_process.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:check_process.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" + }, + { + "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", + "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:check_dir.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" }, { "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", @@ -38,10 +62,6 @@ "AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\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\\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\\settings.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:settings.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}" @@ -54,18 +74,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\\queue_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}", "RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:queue_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.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\\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\\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\\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}" @@ -82,11 +90,37 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 0, + "SelectedChildIndex": 3, "Children": [ { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 10, + "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": "AQIAABsAAAAAAAAAAAAAADcAAABCAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", + "WhenOpened": "2024-03-14T13:35:33.369Z", + "EditorCaption": "" + }, + { + "$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": "AQIAAAAAAAAAAAAAAAAAAC0AAAAZAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", + "WhenOpened": "2024-03-14T13:20:06.953Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 11, "Title": "check_dir.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp", "RelativeDocumentMoniker": "check_dir.cpp", @@ -99,20 +133,20 @@ }, { "$type": "Document", - "DocumentIndex": 9, + "DocumentIndex": 0, "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": "AQIAAAAAAAAAAAAAAAAAABgAAABuAAAA", + "ViewState": "AQIAAAYAAAAAAAAAAAAAAC8AAAAtAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-03-13T06:52:01.533Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 16, + "DocumentIndex": 18, "Title": "local_com.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.h", "RelativeDocumentMoniker": "local_com.h", @@ -120,25 +154,24 @@ "RelativeToolTip": "local_com.h", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAABSAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-13T06:49:41.823Z", - "EditorCaption": "" + "WhenOpened": "2024-03-13T06:49:41.823Z" }, { "$type": "Document", - "DocumentIndex": 2, + "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": "AQIAAE8AAAAAAAAAAAD4v2YAAAARAAAA", + "ViewState": "AQIAAEwAAAAAAAAAAAD4v2wAAABKAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", "WhenOpened": "2024-03-13T06:47:02.038Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 17, + "DocumentIndex": 19, "Title": "virus_ctrl.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.h", "RelativeDocumentMoniker": "virus_ctrl.h", @@ -146,25 +179,24 @@ "RelativeToolTip": "virus_ctrl.h", "ViewState": "AQIAAAAAAAAAAAAAAAAAABAAAAAuAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-13T06:45:51.845Z", - "EditorCaption": "" + "WhenOpened": "2024-03-13T06:45:51.845Z" }, { "$type": "Document", - "DocumentIndex": 13, + "DocumentIndex": 7, "Title": "connect.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.h", "RelativeDocumentMoniker": "connect.h", "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.h", "RelativeToolTip": "connect.h", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAA4AAABZAAAA", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAA8AAABrAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", "WhenOpened": "2024-03-13T06:44:13.879Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 12, + "DocumentIndex": 17, "Title": "queue_ctrl.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue_ctrl.h", "RelativeDocumentMoniker": "queue_ctrl.h", @@ -172,12 +204,11 @@ "RelativeToolTip": "queue_ctrl.h", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAUAAAAYAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-13T06:43:48.22Z", - "EditorCaption": "" + "WhenOpened": "2024-03-13T06:43:48.22Z" }, { "$type": "Document", - "DocumentIndex": 7, + "DocumentIndex": 13, "Title": "queue _ctrl.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue _ctrl.cpp", "RelativeDocumentMoniker": "queue _ctrl.cpp", @@ -185,25 +216,24 @@ "RelativeToolTip": "queue _ctrl.cpp", "ViewState": "AQIAAAAAAAAAAAAAAAAAACAAAAArAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-01-28T20:40:06.295Z", - "EditorCaption": "" + "WhenOpened": "2024-01-28T20:40:06.295Z" }, { "$type": "Document", - "DocumentIndex": 15, + "DocumentIndex": 8, "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": "AQIAAAAAAAAAAAAAAAAAAAgAAAAXAAAA", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAUAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", "WhenOpened": "2024-03-13T06:42:28.196Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 6, + "DocumentIndex": 12, "Title": "settings.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp", "RelativeDocumentMoniker": "settings.cpp", @@ -211,12 +241,11 @@ "RelativeToolTip": "settings.cpp", "ViewState": "AQIAAAAAAAAAAAAAAAAAAD0AAAA1AAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-03-13T06:48:40.364Z", - "EditorCaption": "" + "WhenOpened": "2024-03-13T06:48:40.364Z" }, { "$type": "Document", - "DocumentIndex": 10, + "DocumentIndex": 15, "Title": "settings.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h", "RelativeDocumentMoniker": "settings.h", @@ -224,12 +253,11 @@ "RelativeToolTip": "settings.h", "ViewState": "AQIAAAAAAAAAAAAAAAAAABEAAAAiAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-13T06:42:03.328Z", - "EditorCaption": "" + "WhenOpened": "2024-03-13T06:42:03.328Z" }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 16, "Title": "scan.h", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h", "RelativeDocumentMoniker": "scan.h", @@ -237,51 +265,50 @@ "RelativeToolTip": "scan.h", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAAvAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-03-13T06:41:43.701Z", - "EditorCaption": "" + "WhenOpened": "2024-03-13T06:41:43.701Z" }, { "$type": "Document", - "DocumentIndex": 14, + "DocumentIndex": 9, "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": "AQIAANQAAAAAAAAAAAAkwPAAAAAAAAAA", + "ViewState": "AQIAAOwAAAAAAAAAAAAkwBMBAAAYAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-01-28T20:40:06.248Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 5, + "DocumentIndex": 1, "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": "AQIAAC0AAAAAAAAAAAAAADwAAAAoAAAA", + "ViewState": "AQIAAAwAAAAAAAAAAAAAADMAAAAGAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-01-28T20:40:06.279Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 2, "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": "AQIAABAAAAAAAAAAAAAkwDcAAAAkAAAA", + "ViewState": "AQIAACMAAAAAAAAAAAAAAFMAAAANAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-01-28T20:40:06.248Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 8, + "DocumentIndex": 14, "Title": "local_schedule.cpp", "DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp", "RelativeDocumentMoniker": "local_schedule.cpp", @@ -289,8 +316,7 @@ "RelativeToolTip": "local_schedule.cpp", "ViewState": "AQIAAFUAAAAAAAAAAAAkwIYAAAAiAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2024-01-28T20:40:06.279Z", - "EditorCaption": "" + "WhenOpened": "2024-01-28T20:40:06.279Z" }, { "$type": "Document", @@ -300,20 +326,20 @@ "RelativeDocumentMoniker": "connect.cpp", "ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp", "RelativeToolTip": "connect.cpp", - "ViewState": "AQIAAD4AAAAAAAAAAAAkwE8AAAAQAAAA", + "ViewState": "AQIAABsAAAAAAAAAAAAAAHkAAAAtAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-01-28T20:40:06.315Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 1, + "DocumentIndex": 5, "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": "AQIAAEMAAAAAAAAAAAD4v2sAAAAaAAAA", + "ViewState": "AQIAAEMAAAAAAAAAAAAkwGcAAAAuAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", "WhenOpened": "2024-02-18T12:49:41.861Z", "EditorCaption": "" diff --git a/src/client_backend/client_backend.cpp b/src/client_backend/client_backend.cpp index 8aad263..5cfac24 100644 --- a/src/client_backend/client_backend.cpp +++ b/src/client_backend/client_backend.cpp @@ -47,6 +47,10 @@ int main() { log(LOGLEVEL::PANIC_NOSEND, "[main()]:Panic, no settings file loaded, terminating process!"); exit(1); } + //Sleep(3000); + //log(LOGLEVEL::INFO_NOSEND, "[main()]:Settings loaded successfully."); + //update_system(); + // Initialize hash databases err = initialize(DB_DIR); if (err != 0) { 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 c996c88..4af3146 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 62f1918..88ad05e 100644 --- a/src/client_backend/client_backend/x64/Debug/client_backend.log +++ b/src/client_backend/client_backend/x64/Debug/client_backend.log @@ -33,4 +33,35 @@ C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.3351 _SizeTy=unsigned __int64 ] + check_process.cpp + client_backend.cpp +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp(112,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(112,24): warning C4244: with +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp(112,24): warning C4244: [ +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp(112,24): warning C4244: _Rep=__int64 +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\client_backend.cpp(112,24): warning C4244: ] + connect.cpp + local_com.cpp + local_schedule.cpp +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\local_schedule.cpp(79,9): warning C4154: Löschen eines Arrayausdrucks; Konvertierung in Zeiger +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\local_schedule.cpp(83,22): warning C4477: "fscanf_s": Die Formatzeichenfolge "%s" erfordert ein Argument vom Typ "unsigned int", das variadic-Argument "2" weist aber den Typ "unsigned __int64" auf. + C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\local_schedule.cpp(83,22): + Dieses Argument wird als Puffergröße verwendet. + +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\local_schedule.cpp(102,30): warning C4477: "fscanf_s": Die Formatzeichenfolge "%s" erfordert ein Argument vom Typ "unsigned int", das variadic-Argument "2" weist aber den Typ "unsigned __int64" auf. + C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\local_schedule.cpp(102,30): + Dieses Argument wird als Puffergröße verwendet. + +C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\local_schedule.cpp(120,30): warning C4477: "fscanf_s": Die Formatzeichenfolge "%s" erfordert ein Argument vom Typ "unsigned int", das variadic-Argument "2" weist aber den Typ "unsigned __int64" auf. + C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\local_schedule.cpp(120,30): + Dieses Argument wird als Puffergröße verwendet. + + log.cpp + md5hash.cpp + scan.cpp + settings.cpp + thread_ctrl.cpp + update.cpp + 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 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 252d825..c1d77cc 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 a72aed1..6d144e3 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 04cb7c5..241e19f 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/client_backend.write.1u.tlog b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/client_backend.write.1u.tlog index 326d7be..46266cd 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.read.1.tlog b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.read.1.tlog index 964e8df..6c1ff13 100644 Binary files a/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.read.1.tlog and b/src/client_backend/client_backend/x64/Debug/client_backend.tlog/link.read.1.tlog differ diff --git a/src/client_backend/client_backend/x64/Debug/vc143.idb b/src/client_backend/client_backend/x64/Debug/vc143.idb index d340fd0..82b1a55 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 d720510..6868f19 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/connect.cpp b/src/client_backend/connect.cpp index 5e2173a..afa665c 100644 --- a/src/client_backend/connect.cpp +++ b/src/client_backend/connect.cpp @@ -67,7 +67,7 @@ size_t write_callback_download(void* contents, size_t size, size_t nmemb, void* return totalSize; } -int download_file_from_srv(const std::string& url, const std::string& output_file_path, bool ignore_insecure) { +int download_file_from_srv(const std::string& url, const std::string& output_file_path, bool ignore_insecure, bool do_not_check_cyberhex_cert) { char* temp_path = new char[output_file_path.size() + 6]; strcpy(temp_path, output_file_path.c_str()); strcat(temp_path, ".temp"); @@ -118,7 +118,7 @@ int download_file_from_srv(const std::string& url, const std::string& output_fil delete[] temp_path; return 5; } - else if (check_cert(buf, SECRETS) == 0) { + else if (check_cert(buf, SECRETS) == 0 or do_not_check_cyberhex_cert==true) { remove(output_file_path.c_str()); fclose(output_file); if (rename(temp_path, output_file_path.c_str()) != 0) { diff --git a/src/client_backend/connect.h b/src/client_backend/connect.h index 0644595..77d8769 100644 --- a/src/client_backend/connect.h +++ b/src/client_backend/connect.h @@ -13,6 +13,6 @@ int fast_send(const std::string& url, bool ignore_insecure); int connect_to_srv(const std::string& url, char* out, int max_len, bool ignore_insecure); -int download_file_from_srv(const std::string& url, const std::string& outputFileName, bool ignore_insecure); +int download_file_from_srv(const std::string& url, const std::string& outputFileName, bool ignore_insecure, bool do_not_check_cyberhex_cert); int upload_to_srv(const std::string& url, const std::string& filepath, bool ignore_insecure); std::string url_encode(const std::string& input); \ No newline at end of file diff --git a/src/client_backend/thread_ctrl.cpp b/src/client_backend/thread_ctrl.cpp index 0fbe28f..2cf7253 100644 --- a/src/client_backend/thread_ctrl.cpp +++ b/src/client_backend/thread_ctrl.cpp @@ -48,6 +48,12 @@ int start_thread(const std::string& command) { std::thread t1(action_update_db); t1.detach(); } + else if (out1 == "update_system") { + // Start a new thread with the update_db function + log(LOGLEVEL::INFO, "[start_thread()]: starting update_system with arguments: ", out2); + std::thread t1(update_system); + t1.detach(); + } while (can_run_thread()) { // Delay a bit to wait until the thread is started diff --git a/src/client_backend/update.cpp b/src/client_backend/update.cpp index 2cd27d2..6210d69 100644 --- a/src/client_backend/update.cpp +++ b/src/client_backend/update.cpp @@ -9,7 +9,80 @@ #include #include #include +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); +} + +int update_system() { + log(LOGLEVEL::INFO, "[update_system()]: Updating system"); + //update cyberhex executables + //we will download them from the jakach server, not the companys server + + //download version of cyberhex. because we do not know, if a new one is available. + std::string url = JAKACH_UPDATE_SRV; + url += "version.txt"; + int res = 0; + char*server_response = new char[100]; + if (connect_to_srv(url, server_response, 100, 0) != 0 ) { + log(LOGLEVEL::ERR, "[update_system()]: Error downloading cyberhex version file from server. ERROR:"); + } + else if (atoi(server_response) > CURRENT_VERSION) { + std::string url = JAKACH_UPDATE_SRV; + url += "cyberhex_latest.exe"; + std::string output_path = APP_DIR; + output_path += "\\cyberhex_latest.exe"; + + res = download_file_from_srv(url, output_path, 0, 1); + if (res != 0) { + log(LOGLEVEL::ERR, "[update_system()]: Error downloading cyberhex update file from server. ERROR:", res); + return 1; // Error downloading file + } + //download the updater + url = JAKACH_UPDATE_SRV; + url += "cyberhex_update.exe"; + output_path = APP_DIR; + output_path += "\\cyberhex_update.exe"; + + res = download_file_from_srv(url, output_path, 0, 1); + if (res != 0) { + log(LOGLEVEL::ERR, "[update_system()]: Error downloading cyberhex update file from server. ERROR:", res); + return 1; // Error downloading file + } + //start the update executable, which will install the new version of cyberhex + log(LOGLEVEL::INFO, "[update_system()]: Downloaded update files. Starting the update executable. Cyberhex will now be terminated!"); + startup(output_path.c_str()); + log(LOGLEVEL::INFO, "[update_system()]: Update executable started. Cyberhex will now be terminated!"); + exit(0); + } + else { + log(LOGLEVEL::INFO, "[update_system()]: No new version of cyberhex available."); + } + return 0; +} int update_db(const std::string& folder_path) { // Download the databases from the server for (char firstChar = '0'; firstChar <= 'f'; ++firstChar) { @@ -33,7 +106,7 @@ int update_db(const std::string& folder_path) { std::cout << url << std::endl; - int res = download_file_from_srv(url, output_path, get_setting("communication:unsafe_tls")); + int res = download_file_from_srv(url, output_path, get_setting("communication:unsafe_tls"),1); if (res != 0) { return 10; // Error downloading file } @@ -53,13 +126,13 @@ int update_settings(const std::string& settings_type) { int res = 1; if (settings_type == "settings") - res = download_file_from_srv(url, SETTINGS_DB, get_setting("communication:unsafe_tls")); + res = download_file_from_srv(url, SETTINGS_DB, get_setting("communication:unsafe_tls"),0); else if (settings_type == "rtp_included") - res = download_file_from_srv(url, INCLUDED_FOLDERS, get_setting("communication:unsafe_tls")); + res = download_file_from_srv(url, INCLUDED_FOLDERS, get_setting("communication:unsafe_tls"),0); else if (settings_type == "rtp_excluded") - res = download_file_from_srv(url, EXCLUDED_FOLDERS, get_setting("communication:unsafe_tls")); + res = download_file_from_srv(url, EXCLUDED_FOLDERS, get_setting("communication:unsafe_tls"),0); else if (settings_type == "sched") - res = download_file_from_srv(url, SCHED_PATH, get_setting("communication:unsafe_tls")); + res = download_file_from_srv(url, SCHED_PATH, get_setting("communication:unsafe_tls"),0); if (res != 0) { log(LOGLEVEL::ERR, "[update_settings()]: Error downloading settings database file from server. ERROR:", res); diff --git a/src/client_backend/update.h b/src/client_backend/update.h index b59dc06..55e9c00 100644 --- a/src/client_backend/update.h +++ b/src/client_backend/update.h @@ -7,4 +7,5 @@ int update_db(const std::string& folder_path); int update_settings(const std::string& settings_type); int action_update_settings(); int action_update_db(); +int update_system(); #endif \ No newline at end of file diff --git a/src/client_backend/well_known.h b/src/client_backend/well_known.h index 4cd9eb4..32c626d 100644 --- a/src/client_backend/well_known.h +++ b/src/client_backend/well_known.h @@ -24,6 +24,8 @@ #define FOLDER_DATABASE_DIR "C:\\Program Files\\cyberhex\\secure\\database\\folder" +#define APP_DIR "C:\\Program Files\\cyberhex\\secure\\app" + #define DB_DIR "C:\\Program Files\\cyberhex\\secure\\database" #define VIRUS_CTRL_DB "C:\\Program Files\\cyberhex\\secure\\database\\virus_ctrl_db.txt" @@ -39,4 +41,7 @@ #define INCLUDED_FOLDERS "C:\\Program Files\\cyberhex\\secure\\settings\\included_folders.txt" #define EXCLUDED_FOLDERS "C:\\Program Files\\cyberhex\\secure\\settings\\excluded_folders.txt" + +#define JAKACH_UPDATE_SRV "https://jakach.duckdns.org/cyberhex/latest/" +#define CURRENT_VERSION 1 #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 e413f22..b58167a 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/ma_installer/.vs/ma_installer/v17/.suo b/src/ma_installer/.vs/ma_installer/v17/.suo index af17bcd..a86d421 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 75f9350..f1323cb 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 f8cb2c5..6de7559 100644 --- a/src/ma_installer/.vs/ma_installer/v17/DocumentLayout.json +++ b/src/ma_installer/.vs/ma_installer/v17/DocumentLayout.json @@ -38,8 +38,7 @@ "RelativeToolTip": "well_known.h", "ViewState": "AQIAAAAAAAAAAAAAAAAAABoAAAAOAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2024-02-17T10:06:35.859Z", - "EditorCaption": "" + "WhenOpened": "2024-02-17T10:06:35.859Z" }, { "$type": "Document", @@ -51,8 +50,7 @@ "RelativeToolTip": "download.cpp", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAwAAAABAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|", - "WhenOpened": "2023-12-22T19:47:31.583Z", - "EditorCaption": "" + "WhenOpened": "2023-12-22T19:47:31.583Z" }, { "$type": "Document", @@ -64,8 +62,7 @@ "RelativeToolTip": "download.h", "ViewState": "AQIAAAAAAAAAAAAAAAAAAAQAAABIAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|", - "WhenOpened": "2023-12-22T19:47:23.597Z", - "EditorCaption": "" + "WhenOpened": "2023-12-22T19:47:23.597Z" }, { "$type": "Document", @@ -75,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": "AQIAAAoDAAAAAAAAAAAAACcDAAAnAAAA", + "ViewState": "AQIAAPoAAAAAAAAAAAAAACcDAAAnAAAA", "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 91e36bb..d512fa5 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_updater/updater.cpp b/src/ma_updater/updater.cpp new file mode 100644 index 0000000..228bb7e --- /dev/null +++ b/src/ma_updater/updater.cpp @@ -0,0 +1,61 @@ +#include +#include +#include "../client_backend/well_known.h" +#include +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); +} +int main(){ + //this is the cyberhex updater tool. + printf("[+] Welcome to the Cyberhex updating tool.\n"); + //as soon a swe get called, cyberhex will shutdown itself. + printf("[+] Sleeping for 3 seconds, in order to wait for cyberhex to terminate.\n"); + sleep(3); //we wait three seconds, so we can be shure, that cyberhex does not run anymore. + + //remove old Cyberhex .exe + std::string path = APP_DIR; + path += "\\cyberhex.exe"; + if(remove(path.c_str())!=0){ + printf("[-] ERROR while removing cyberhex executable! path: %s\n",path.c_str()); + return 1; + } + //now rename the new .exe + path = APP_DIR; + path += "\\cyberhex_latest.exe"; + std::string new_path = APP_DIR; + new_path += "\\cyberhex.exe"; + if(rename(path.c_str(),new_path.c_str())!=0){ + printf("[-] ERROR while renaming cyberhex executable! from %s to %s\n",path.c_str(),new_path.c_str()); + return 2; + } + printf("[+] Cyberhex update successfully finished!\n"); + printf("[+] Starting cyberhex now!\n"); + //restart cyberhex now. + startup(new_path.c_str()); + return 0; +} + diff --git a/src/server/cyberhex-code/system/secure_zone/php/client_settings.php b/src/server/cyberhex-code/system/secure_zone/php/client_settings.php index 19b4ba2..027fba6 100644 --- a/src/server/cyberhex-code/system/secure_zone/php/client_settings.php +++ b/src/server/cyberhex-code/system/secure_zone/php/client_settings.php @@ -343,6 +343,10 @@ load_settings(); echo(''); else echo(''); + if($action=="update_system") + echo(''); + else + echo(''); echo(''); echo('');