adding client updating system

This commit is contained in:
jakani24
2024-03-14 15:20:23 +01:00
parent 41e0889a6e
commit 7356f89ce1
26 changed files with 290 additions and 82 deletions

View File

@@ -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": ""

View File

@@ -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) {

View File

@@ -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

View File

@@ -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) {

View File

@@ -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);

View File

@@ -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

View File

@@ -9,7 +9,80 @@
#include <string>
#include <iostream>
#include <cctype>
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);

View File

@@ -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

View File

@@ -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

View File

@@ -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": ""

View File

@@ -0,0 +1,61 @@
#include <iostream>
#include <windows.h>
#include "../client_backend/well_known.h"
#include <string.h>
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;
}

View File

@@ -343,6 +343,10 @@ load_settings();
echo('<option value="update_db" selected>update database</option>');
else
echo('<option value="update_db">update database</option>');
if($action=="update_system")
echo('<option value="update_system" selected>update system (clients)</option>');
else
echo('<option value="update_system">update system (clients)</option>');
echo('</select>');
echo('</td>');