adding quickscan
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -2,10 +2,54 @@
|
|||||||
"Version": 1,
|
"Version": 1,
|
||||||
"WorkspaceRootPath": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\",
|
"WorkspaceRootPath": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\",
|
||||||
"Documents": [
|
"Documents": [
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:scan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:thread_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:client_backend.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:scan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\well_known.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:well_known.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:log.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:update.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:utils.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_com.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:deepscan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:deepscan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:connect.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"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}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:zip.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
@@ -14,18 +58,6 @@
|
|||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"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}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:security.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:client_backend.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\well_known.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:well_known.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:update.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"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}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:zip.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
@@ -42,26 +74,10 @@
|
|||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:virus_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:virus_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:scan.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue _ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"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}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:queue _ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:scan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:thread_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_com.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"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}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_com.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
@@ -70,10 +86,6 @@
|
|||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:deepscan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:deepscan.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:utils.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"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}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:check_dir.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
@@ -98,10 +110,6 @@
|
|||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"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}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:settings.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:local_schedule.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\app_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"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}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:app_ctrl.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
@@ -110,10 +118,6 @@
|
|||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\app_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"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}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:app_ctrl.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
|
||||||
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:connect.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
|
"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}"
|
"RelativeMoniker": "D:0:0:{56E65283-AAC9-43F6-9613-72BE8D648AC4}|client_backend.vcxproj|solutionrelative:connect.h||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
|
||||||
@@ -134,159 +138,76 @@
|
|||||||
"DocumentGroups": [
|
"DocumentGroups": [
|
||||||
{
|
{
|
||||||
"DockedWidth": 200,
|
"DockedWidth": 200,
|
||||||
"SelectedChildIndex": 0,
|
"SelectedChildIndex": 1,
|
||||||
"Children": [
|
"Children": [
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 0,
|
"DocumentIndex": 10,
|
||||||
"Title": "deepscan.cpp",
|
"Title": "deepscan.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.cpp",
|
||||||
"RelativeDocumentMoniker": "deepscan.cpp",
|
"RelativeDocumentMoniker": "deepscan.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.cpp",
|
||||||
"RelativeToolTip": "deepscan.cpp",
|
"RelativeToolTip": "deepscan.cpp",
|
||||||
"ViewState": "AQIAANAAAAAAAAAAAAAqwPoAAAA6AAAA",
|
"ViewState": "AQIAACwAAAAAAAAAAIAwwEcAAAARAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-03-31T08:30:41.528Z",
|
"WhenOpened": "2024-03-31T08:30:41.528Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 1,
|
"DocumentIndex": 0,
|
||||||
"Title": "zip.cpp",
|
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.cpp",
|
|
||||||
"RelativeDocumentMoniker": "zip.cpp",
|
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.cpp",
|
|
||||||
"RelativeToolTip": "zip.cpp",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAARAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
|
||||||
"WhenOpened": "2024-03-29T07:57:04.198Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 21,
|
|
||||||
"Title": "security.h",
|
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.h",
|
|
||||||
"RelativeDocumentMoniker": "security.h",
|
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.h",
|
|
||||||
"RelativeToolTip": "security.h",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAARAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
|
||||||
"WhenOpened": "2024-03-29T07:25:24.014Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 2,
|
|
||||||
"Title": "security.cpp",
|
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.cpp",
|
|
||||||
"RelativeDocumentMoniker": "security.cpp",
|
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.cpp",
|
|
||||||
"RelativeToolTip": "security.cpp",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAgAAAAAAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
|
||||||
"WhenOpened": "2024-03-29T07:05:00.157Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 22,
|
|
||||||
"Title": "md5hash.cpp",
|
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp",
|
|
||||||
"RelativeDocumentMoniker": "md5hash.cpp",
|
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp",
|
|
||||||
"RelativeToolTip": "md5hash.cpp",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAMAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
|
||||||
"WhenOpened": "2024-03-28T14:00:18.147Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 12,
|
|
||||||
"Title": "scan.h",
|
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h",
|
|
||||||
"RelativeDocumentMoniker": "scan.h",
|
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h",
|
|
||||||
"RelativeToolTip": "scan.h",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAABQAAABkAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
|
||||||
"WhenOpened": "2024-03-13T06:41:43.701Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 10,
|
|
||||||
"Title": "scan.cpp",
|
"Title": "scan.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp",
|
||||||
"RelativeDocumentMoniker": "scan.cpp",
|
"RelativeDocumentMoniker": "scan.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.cpp",
|
||||||
"RelativeToolTip": "scan.cpp",
|
"RelativeToolTip": "scan.cpp",
|
||||||
"ViewState": "AQIAACEBAAAAAAAAAAAawD0BAABxAAAA",
|
"ViewState": "AQIAAIoBAAAAAAAAAAAwwKEBAAAdAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-01-28T20:40:06.248Z"
|
"WhenOpened": "2024-01-28T20:40:06.248Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 27,
|
"DocumentIndex": 11,
|
||||||
"Title": "connect.cpp",
|
"Title": "connect.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp",
|
||||||
"RelativeDocumentMoniker": "connect.cpp",
|
"RelativeDocumentMoniker": "connect.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.cpp",
|
||||||
"RelativeToolTip": "connect.cpp",
|
"RelativeToolTip": "connect.cpp",
|
||||||
"ViewState": "AQIAAKcAAAAAAAAAAAAIwNsAAAAeAAAA",
|
"ViewState": "AQIAAE4AAAAAAAAAAIAwwGAAAAARAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-01-28T20:40:06.315Z"
|
"WhenOpened": "2024-01-28T20:40:06.315Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 3,
|
"DocumentIndex": 2,
|
||||||
"Title": "client_backend.cpp",
|
"Title": "client_backend.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp",
|
||||||
"RelativeDocumentMoniker": "client_backend.cpp",
|
"RelativeDocumentMoniker": "client_backend.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\client_backend.cpp",
|
||||||
"RelativeToolTip": "client_backend.cpp",
|
"RelativeToolTip": "client_backend.cpp",
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAQAAAAvAQAA",
|
"ViewState": "AQIAAH4AAAAAAAAAAAAAAJAAAAAcAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-01-28T20:40:06.279Z",
|
"WhenOpened": "2024-01-28T20:40:06.279Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 13,
|
"DocumentIndex": 9,
|
||||||
"Title": "thread_ctrl.cpp",
|
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp",
|
|
||||||
"RelativeDocumentMoniker": "thread_ctrl.cpp",
|
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp",
|
|
||||||
"RelativeToolTip": "thread_ctrl.cpp",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAgAAAAVAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
|
||||||
"WhenOpened": "2024-03-13T06:52:01.533Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 14,
|
|
||||||
"Title": "local_com.cpp",
|
"Title": "local_com.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp",
|
||||||
"RelativeDocumentMoniker": "local_com.cpp",
|
"RelativeDocumentMoniker": "local_com.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.cpp",
|
||||||
"RelativeToolTip": "local_com.cpp",
|
"RelativeToolTip": "local_com.cpp",
|
||||||
"ViewState": "AQIAAAEAAAAAAAAAAABBwAsAAAAXAAAA",
|
"ViewState": "AQIAAAkAAAAAAAAAAAAAAAsAAAAXAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-03-17T16:34:14.678Z"
|
"WhenOpened": "2024-03-17T16:34:14.678Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 8,
|
"DocumentIndex": 17,
|
||||||
"Title": "virus_ctrl.cpp",
|
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp",
|
|
||||||
"RelativeDocumentMoniker": "virus_ctrl.cpp",
|
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp",
|
|
||||||
"RelativeToolTip": "virus_ctrl.cpp",
|
|
||||||
"ViewState": "AQIAADgAAAAAAAAAAAAawFkAAAAtAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
|
||||||
"WhenOpened": "2024-02-18T12:49:41.861Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 9,
|
|
||||||
"Title": "virus_ctrl.h",
|
"Title": "virus_ctrl.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.h",
|
||||||
"RelativeDocumentMoniker": "virus_ctrl.h",
|
"RelativeDocumentMoniker": "virus_ctrl.h",
|
||||||
@@ -298,19 +219,158 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 17,
|
"DocumentIndex": 3,
|
||||||
|
"Title": "local_schedule.cpp",
|
||||||
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp",
|
||||||
|
"RelativeDocumentMoniker": "local_schedule.cpp",
|
||||||
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp",
|
||||||
|
"RelativeToolTip": "local_schedule.cpp",
|
||||||
|
"ViewState": "AQIAAEoAAAAAAAAAAIAwwE8AAAAKAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
|
"WhenOpened": "2024-01-28T20:40:06.279Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 7,
|
||||||
|
"Title": "update.cpp",
|
||||||
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp",
|
||||||
|
"RelativeDocumentMoniker": "update.cpp",
|
||||||
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp",
|
||||||
|
"RelativeToolTip": "update.cpp",
|
||||||
|
"ViewState": "AQIAAH4AAAAAAAAAAAAAAIgAAAAqAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
|
"WhenOpened": "2024-01-28T20:40:06.248Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 8,
|
||||||
"Title": "utils.cpp",
|
"Title": "utils.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.cpp",
|
||||||
"RelativeDocumentMoniker": "utils.cpp",
|
"RelativeDocumentMoniker": "utils.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.cpp",
|
||||||
"RelativeToolTip": "utils.cpp",
|
"RelativeToolTip": "utils.cpp",
|
||||||
"ViewState": "AQIAAJQAAAAAAAAAAABBwMEAAABnAAAA",
|
"ViewState": "AQIAAIQAAAAAAAAAAIAwwJgAAAANAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-03-14T15:55:22.469Z"
|
"WhenOpened": "2024-03-14T15:55:22.469Z",
|
||||||
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 26,
|
"DocumentIndex": 6,
|
||||||
|
"Title": "log.h",
|
||||||
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h",
|
||||||
|
"RelativeDocumentMoniker": "log.h",
|
||||||
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\log.h",
|
||||||
|
"RelativeToolTip": "log.h",
|
||||||
|
"ViewState": "AQIAACgAAAAAAAAAAIAwwDEAAAA2AAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||||
|
"WhenOpened": "2024-04-26T20:39:34.98Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 5,
|
||||||
|
"Title": "well_known.h",
|
||||||
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\well_known.h",
|
||||||
|
"RelativeDocumentMoniker": "well_known.h",
|
||||||
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\well_known.h",
|
||||||
|
"RelativeToolTip": "well_known.h",
|
||||||
|
"ViewState": "AQIAADAAAAAAAAAAAAAAAEYAAAAAAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||||
|
"WhenOpened": "2024-03-14T13:20:06.953Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 1,
|
||||||
|
"Title": "thread_ctrl.cpp",
|
||||||
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp",
|
||||||
|
"RelativeDocumentMoniker": "thread_ctrl.cpp",
|
||||||
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\thread_ctrl.cpp",
|
||||||
|
"RelativeToolTip": "thread_ctrl.cpp",
|
||||||
|
"ViewState": "AQIAADMAAAAAAAAAAAAAAEQAAAAgAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
|
"WhenOpened": "2024-03-13T06:52:01.533Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 4,
|
||||||
|
"Title": "scan.h",
|
||||||
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h",
|
||||||
|
"RelativeDocumentMoniker": "scan.h",
|
||||||
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\scan.h",
|
||||||
|
"RelativeToolTip": "scan.h",
|
||||||
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAABYAAAAUAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||||
|
"WhenOpened": "2024-03-13T06:41:43.701Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 16,
|
||||||
|
"Title": "virus_ctrl.cpp",
|
||||||
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp",
|
||||||
|
"RelativeDocumentMoniker": "virus_ctrl.cpp",
|
||||||
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\virus_ctrl.cpp",
|
||||||
|
"RelativeToolTip": "virus_ctrl.cpp",
|
||||||
|
"ViewState": "AQIAADgAAAAAAAAAAAAawFkAAAAtAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
|
"WhenOpened": "2024-02-18T12:49:41.861Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 25,
|
||||||
|
"Title": "md5hash.cpp",
|
||||||
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp",
|
||||||
|
"RelativeDocumentMoniker": "md5hash.cpp",
|
||||||
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\md5hash.cpp",
|
||||||
|
"RelativeToolTip": "md5hash.cpp",
|
||||||
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAAMAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
|
"WhenOpened": "2024-03-28T14:00:18.147Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 13,
|
||||||
|
"Title": "security.cpp",
|
||||||
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.cpp",
|
||||||
|
"RelativeDocumentMoniker": "security.cpp",
|
||||||
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.cpp",
|
||||||
|
"RelativeToolTip": "security.cpp",
|
||||||
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAgAAAAAAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
|
"WhenOpened": "2024-03-29T07:05:00.157Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 24,
|
||||||
|
"Title": "security.h",
|
||||||
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.h",
|
||||||
|
"RelativeDocumentMoniker": "security.h",
|
||||||
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\security.h",
|
||||||
|
"RelativeToolTip": "security.h",
|
||||||
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAkAAAARAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||||
|
"WhenOpened": "2024-03-29T07:25:24.014Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 12,
|
||||||
|
"Title": "zip.cpp",
|
||||||
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.cpp",
|
||||||
|
"RelativeDocumentMoniker": "zip.cpp",
|
||||||
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.cpp",
|
||||||
|
"RelativeToolTip": "zip.cpp",
|
||||||
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAYAAAARAAAA",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
|
"WhenOpened": "2024-03-29T07:57:04.198Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 28,
|
||||||
"Title": "app_ctrl.h",
|
"Title": "app_ctrl.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\app_ctrl.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\app_ctrl.h",
|
||||||
"RelativeDocumentMoniker": "app_ctrl.h",
|
"RelativeDocumentMoniker": "app_ctrl.h",
|
||||||
@@ -322,7 +382,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 15,
|
"DocumentIndex": 19,
|
||||||
"Title": "local_com.h",
|
"Title": "local_com.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_com.h",
|
||||||
"RelativeDocumentMoniker": "local_com.h",
|
"RelativeDocumentMoniker": "local_com.h",
|
||||||
@@ -334,7 +394,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 18,
|
"DocumentIndex": 21,
|
||||||
"Title": "check_dir.cpp",
|
"Title": "check_dir.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_dir.cpp",
|
||||||
"RelativeDocumentMoniker": "check_dir.cpp",
|
"RelativeDocumentMoniker": "check_dir.cpp",
|
||||||
@@ -346,7 +406,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 23,
|
"DocumentIndex": 26,
|
||||||
"Title": "settings.cpp",
|
"Title": "settings.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.cpp",
|
||||||
"RelativeDocumentMoniker": "settings.cpp",
|
"RelativeDocumentMoniker": "settings.cpp",
|
||||||
@@ -358,20 +418,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 4,
|
"DocumentIndex": 23,
|
||||||
"Title": "well_known.h",
|
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\well_known.h",
|
|
||||||
"RelativeDocumentMoniker": "well_known.h",
|
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\well_known.h",
|
|
||||||
"RelativeToolTip": "well_known.h",
|
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAADcAAABBAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
|
||||||
"WhenOpened": "2024-03-14T13:20:06.953Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 20,
|
|
||||||
"Title": "update.h",
|
"Title": "update.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.h",
|
||||||
"RelativeDocumentMoniker": "update.h",
|
"RelativeDocumentMoniker": "update.h",
|
||||||
@@ -383,7 +430,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 11,
|
"DocumentIndex": 18,
|
||||||
"Title": "queue _ctrl.cpp",
|
"Title": "queue _ctrl.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue _ctrl.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue _ctrl.cpp",
|
||||||
"RelativeDocumentMoniker": "queue _ctrl.cpp",
|
"RelativeDocumentMoniker": "queue _ctrl.cpp",
|
||||||
@@ -395,7 +442,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 30,
|
"DocumentIndex": 31,
|
||||||
"Title": "queue_ctrl.h",
|
"Title": "queue_ctrl.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue_ctrl.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\queue_ctrl.h",
|
||||||
"RelativeDocumentMoniker": "queue_ctrl.h",
|
"RelativeDocumentMoniker": "queue_ctrl.h",
|
||||||
@@ -407,7 +454,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 28,
|
"DocumentIndex": 29,
|
||||||
"Title": "connect.h",
|
"Title": "connect.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\connect.h",
|
||||||
"RelativeDocumentMoniker": "connect.h",
|
"RelativeDocumentMoniker": "connect.h",
|
||||||
@@ -419,7 +466,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 7,
|
"DocumentIndex": 15,
|
||||||
"Title": "check_process.cpp",
|
"Title": "check_process.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\check_process.cpp",
|
||||||
"RelativeDocumentMoniker": "check_process.cpp",
|
"RelativeDocumentMoniker": "check_process.cpp",
|
||||||
@@ -427,12 +474,11 @@
|
|||||||
"RelativeToolTip": "check_process.cpp",
|
"RelativeToolTip": "check_process.cpp",
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAAAAAAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAsAAAAAAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-03-14T13:35:33.369Z",
|
"WhenOpened": "2024-03-14T13:35:33.369Z"
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 19,
|
"DocumentIndex": 22,
|
||||||
"Title": "utils.h",
|
"Title": "utils.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\utils.h",
|
||||||
"RelativeDocumentMoniker": "utils.h",
|
"RelativeDocumentMoniker": "utils.h",
|
||||||
@@ -444,7 +490,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 6,
|
"DocumentIndex": 14,
|
||||||
"Title": "zip.h",
|
"Title": "zip.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\zip.h",
|
||||||
"RelativeDocumentMoniker": "zip.h",
|
"RelativeDocumentMoniker": "zip.h",
|
||||||
@@ -452,25 +498,11 @@
|
|||||||
"RelativeToolTip": "zip.h",
|
"RelativeToolTip": "zip.h",
|
||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAIAAAA/AAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAAAIAAAA/AAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
|
||||||
"WhenOpened": "2024-03-29T07:57:13.208Z",
|
"WhenOpened": "2024-03-29T07:57:13.208Z"
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 5,
|
"DocumentIndex": 20,
|
||||||
"Title": "update.cpp",
|
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp",
|
|
||||||
"RelativeDocumentMoniker": "update.cpp",
|
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\update.cpp",
|
|
||||||
"RelativeToolTip": "update.cpp",
|
|
||||||
"ViewState": "AQIAAAYAAAAAAAAAAAAAAGsAAAABAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
|
||||||
"WhenOpened": "2024-01-28T20:40:06.248Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 16,
|
|
||||||
"Title": "deepscan.h",
|
"Title": "deepscan.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\deepscan.h",
|
||||||
"RelativeDocumentMoniker": "deepscan.h",
|
"RelativeDocumentMoniker": "deepscan.h",
|
||||||
@@ -482,7 +514,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 29,
|
"DocumentIndex": 30,
|
||||||
"Title": "settings.h",
|
"Title": "settings.h",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\settings.h",
|
||||||
"RelativeDocumentMoniker": "settings.h",
|
"RelativeDocumentMoniker": "settings.h",
|
||||||
@@ -494,7 +526,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 25,
|
"DocumentIndex": 27,
|
||||||
"Title": "app_ctrl.cpp",
|
"Title": "app_ctrl.cpp",
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\app_ctrl.cpp",
|
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\app_ctrl.cpp",
|
||||||
"RelativeDocumentMoniker": "app_ctrl.cpp",
|
"RelativeDocumentMoniker": "app_ctrl.cpp",
|
||||||
@@ -503,18 +535,6 @@
|
|||||||
"ViewState": "AQIAAAAAAAAAAAAAAAAAACYAAAABAAAA",
|
"ViewState": "AQIAAAAAAAAAAAAAAAAAACYAAAABAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-03-28T13:36:41.939Z"
|
"WhenOpened": "2024-03-28T13:36:41.939Z"
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 24,
|
|
||||||
"Title": "local_schedule.cpp",
|
|
||||||
"DocumentMoniker": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp",
|
|
||||||
"RelativeDocumentMoniker": "local_schedule.cpp",
|
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_backend\\local_schedule.cpp",
|
|
||||||
"RelativeToolTip": "local_schedule.cpp",
|
|
||||||
"ViewState": "AQIAAEMAAAAAAAAAAABBwE4AAAAKAAAA",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
|
||||||
"WhenOpened": "2024-01-28T20:40:06.279Z"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -119,8 +119,7 @@ int main(int argc, char* argv[]) {
|
|||||||
yr_initialize();
|
yr_initialize();
|
||||||
init_yara_rules(YARA_DB_DIR);
|
init_yara_rules(YARA_DB_DIR);
|
||||||
log(LOGLEVEL::INFO_NOSEND, "[main()]:Yara rules initialized.");
|
log(LOGLEVEL::INFO_NOSEND, "[main()]:Yara rules initialized.");
|
||||||
// std::string a("C:\\users\\janis\\documents");
|
|
||||||
// deepscan_folder(a);
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Main thread loop
|
// Main thread loop
|
||||||
|
|||||||
Binary file not shown.
@@ -1,3 +1,5 @@
|
|||||||
Quellen werden auf Modulabhängigkeiten überprüft...
|
Quellen werden auf Modulabhängigkeiten überprüft...
|
||||||
|
scan.cpp
|
||||||
|
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\scan.cpp(255,46): warning C4018: ">=": Konflikt zwischen "signed" und "unsigned"
|
||||||
client_backend.vcxproj -> C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_backend\x64\Debug\client_backend.exe
|
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"
|
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"
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -60,6 +60,7 @@ YR_RULES* load_yara_rules(const char* ruleFilePath, YR_RULES* compiledRules = nu
|
|||||||
//std::cerr << "Failed to compile YARA rules from file: " << ruleFilePath << std::endl;
|
//std::cerr << "Failed to compile YARA rules from file: " << ruleFilePath << std::endl;
|
||||||
log(LOGLEVEL::ERR_NOSEND, "[load_yara_rules()]: Failed to compile YARA rules from file: ", ruleFilePath);
|
log(LOGLEVEL::ERR_NOSEND, "[load_yara_rules()]: Failed to compile YARA rules from file: ", ruleFilePath);
|
||||||
yr_compiler_destroy(compiler);
|
yr_compiler_destroy(compiler);
|
||||||
|
fclose(file);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,7 +69,7 @@ YR_RULES* load_yara_rules(const char* ruleFilePath, YR_RULES* compiledRules = nu
|
|||||||
|
|
||||||
// Destroy the compiler
|
// Destroy the compiler
|
||||||
yr_compiler_destroy(compiler);
|
yr_compiler_destroy(compiler);
|
||||||
|
fclose(file);
|
||||||
return compiledRules;
|
return compiledRules;
|
||||||
}
|
}
|
||||||
void init_yara_rules(const char* folderPath) {
|
void init_yara_rules(const char* folderPath) {
|
||||||
@@ -206,28 +207,6 @@ int process_callback(YR_SCAN_CONTEXT* context,int message, void* message_data, v
|
|||||||
}
|
}
|
||||||
return CALLBACK_CONTINUE;
|
return CALLBACK_CONTINUE;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
bool deepscan_file_t(const std::string&file_path) {
|
|
||||||
set_num_threads(get_num_threads() + 1);
|
|
||||||
//we do not need to make a new instance of yara rules, because they are global and do not get deteled or modified
|
|
||||||
thread_local std::string file_path_(file_path);
|
|
||||||
//first we scan the file with the normal scanner, which means md5
|
|
||||||
thread_local std::string hash(md5_file_t(file_path));
|
|
||||||
thread_local char* db_path = new char[300];
|
|
||||||
|
|
||||||
sprintf_s(db_path, 295, "%s\\%c%c.jdbf", DB_DIR, hash[0], hash[1]);
|
|
||||||
if (search_hash(db_path, hash, file_path) != 1) { //if we allready found a match in the database, we do not need to scan the file with yara
|
|
||||||
//get globally set yara rules and iterate over them
|
|
||||||
Callback_data* callback_data = new Callback_data();
|
|
||||||
for (YR_RULES* rule : compiled_rules) {
|
|
||||||
callback_data->filepath = file_path_;
|
|
||||||
yr_rules_scan_file(rule, file_path.c_str(), 0, process_callback, callback_data, 5000);
|
|
||||||
}
|
|
||||||
set_num_threads(get_num_threads() - 1);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
bool deepscan_file_t(const std::string& file_path) {
|
bool deepscan_file_t(const std::string& file_path) {
|
||||||
set_num_threads(get_num_threads() + 1);
|
set_num_threads(get_num_threads() + 1);
|
||||||
// we do not need to make a new instance of yara rules, because they are global and do not get deleted or modified
|
// we do not need to make a new instance of yara rules, because they are global and do not get deleted or modified
|
||||||
|
|||||||
@@ -73,10 +73,11 @@ void unlock_task(const std::string& task_name) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int check_for_sched_tasks(const char* sched_name, const char* sched_path) {
|
int check_for_sched_tasks(const char* sched_name, const char* sched_path) {
|
||||||
FILE* fp = nullptr;
|
FILE* fp;
|
||||||
char command[505];
|
char command[505];
|
||||||
if (fopen_s(&fp, sched_path, "r") != 0) {
|
int a;
|
||||||
//delete[] command;
|
if ((a=fopen_s(&fp, sched_path, "r")) != 0) {
|
||||||
|
//printf("%d\n",a);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@@ -107,6 +107,7 @@ void log(LOGLEVEL level, const std::string& message, Args&&... args) {
|
|||||||
url += get_machineid(SECRETS);
|
url += get_machineid(SECRETS);
|
||||||
url += "&apikey=";
|
url += "&apikey=";
|
||||||
url += get_apikey(SECRETS);
|
url += get_apikey(SECRETS);
|
||||||
|
//printf("sending to srv: %s", url.c_str());
|
||||||
//send with fastsend in new thread
|
//send with fastsend in new thread
|
||||||
std::thread send_thread(fast_send, url, get_setting("communication:unsafe_tls"));
|
std::thread send_thread(fast_send, url, get_setting("communication:unsafe_tls"));
|
||||||
send_thread.detach();
|
send_thread.detach();
|
||||||
|
|||||||
@@ -25,9 +25,11 @@ std::mutex fileHandlesMutex;
|
|||||||
std::mutex mappingHandlesMutex;
|
std::mutex mappingHandlesMutex;
|
||||||
std::mutex fileDataMutex;
|
std::mutex fileDataMutex;
|
||||||
std::mutex cntMutex;
|
std::mutex cntMutex;
|
||||||
|
std::mutex sizeHandlesMutex;
|
||||||
|
|
||||||
std::unordered_map<std::string, HANDLE> fileHandles;
|
std::unordered_map<std::string, HANDLE> fileHandles;
|
||||||
std::unordered_map<std::string, HANDLE> mappingHandles;
|
std::unordered_map<std::string, HANDLE> mappingHandles;
|
||||||
|
std::unordered_map<std::string, DWORD> sizeHandles;
|
||||||
std::unordered_map<std::string, char*> fileData;
|
std::unordered_map<std::string, char*> fileData;
|
||||||
|
|
||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
@@ -85,6 +87,11 @@ int initialize(const std::string& folderPath) {
|
|||||||
std::lock_guard<std::mutex> lock(fileDataMutex);
|
std::lock_guard<std::mutex> lock(fileDataMutex);
|
||||||
fileData[filename] = fileDataPtr;
|
fileData[filename] = fileDataPtr;
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
std::lock_guard<std::mutex> lock(sizeHandlesMutex);
|
||||||
|
sizeHandles[filename] = GetFileSize(hFile, NULL);
|
||||||
|
}
|
||||||
|
CloseHandle(hFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@@ -132,21 +139,22 @@ int search_hash(const std::string& dbname_, const std::string& hash_, const std:
|
|||||||
filepath = filepath_;
|
filepath = filepath_;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto fileIter = fileHandles.find(dbname);
|
|
||||||
if (fileIter == fileHandles.end() && dbname_.find("c:.jdbf") == std::string::npos) {
|
// auto fileIter = fileHandles.find(dbname);
|
||||||
|
//if (fileIter == fileHandles.end() && dbname_.find("c:.jdbf") == std::string::npos) {
|
||||||
//log(LOGLEVEL::ERR_NOSEND, "[search_hash()]: File mapping not initialized for ", dbname);
|
//log(LOGLEVEL::ERR_NOSEND, "[search_hash()]: File mapping not initialized for ", dbname);
|
||||||
return 2;
|
// return 2;
|
||||||
}
|
//}
|
||||||
else if (fileIter == fileHandles.end()) {
|
//else if (fileIter == fileHandles.end()) {
|
||||||
return 2;
|
// return 2;
|
||||||
}
|
//}
|
||||||
|
|
||||||
// Use fileData for subsequent searches
|
// Use fileData for subsequent searches
|
||||||
DWORD fileSize;
|
DWORD fileSize;
|
||||||
std::string fileContent;
|
std::string fileContent;
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lock(fileDataMutex);
|
std::lock_guard<std::mutex> lock(fileDataMutex);
|
||||||
fileSize = GetFileSize(fileHandles[dbname], NULL);
|
fileSize = sizeHandles[dbname];
|
||||||
fileContent = std::string(fileData[dbname], fileSize);
|
fileContent = std::string(fileData[dbname], fileSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -380,4 +388,40 @@ void scan_process_t(const std::string& filepath_) {
|
|||||||
}
|
}
|
||||||
set_num_threads(get_num_threads() - 1);
|
set_num_threads(get_num_threads() - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void do_quickscan() {
|
||||||
|
thread_init();
|
||||||
|
//scan windows startup folders & commonly infected places
|
||||||
|
//tell the desktop client that the scan has started
|
||||||
|
std::ofstream answer_com1(ANSWER_COM_PATH, std::ios::app);
|
||||||
|
if (answer_com1.is_open()) {
|
||||||
|
answer_com1 << "start " << 0 << "\n";
|
||||||
|
answer_com1.close();
|
||||||
|
}
|
||||||
|
//general startup folder
|
||||||
|
scan_folder("C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Startup");
|
||||||
|
//find every users startupfolder and scan it:
|
||||||
|
std::string user_folder = "C:\\Users\\*";
|
||||||
|
std::string user_folder_no_wildcrad = "C:\\Users";
|
||||||
|
WIN32_FIND_DATA find_file_data;
|
||||||
|
HANDLE hFind = FindFirstFile(user_folder.c_str(), &find_file_data);
|
||||||
|
if (hFind != INVALID_HANDLE_VALUE) {
|
||||||
|
do {
|
||||||
|
if (strcmp(find_file_data.cFileName, ".") == 0 || strcmp(find_file_data.cFileName, "..") == 0) {
|
||||||
|
continue; // Skip the current and parent directories
|
||||||
|
}
|
||||||
|
std::string full_path = user_folder_no_wildcrad + "\\" + find_file_data.cFileName + "\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup";
|
||||||
|
scan_folder(full_path);
|
||||||
|
//printf("Scanning: %s\n", full_path.c_str());
|
||||||
|
} while (FindNextFile(hFind, &find_file_data) != 0);
|
||||||
|
FindClose(hFind);
|
||||||
|
printf("finished\n");
|
||||||
|
}
|
||||||
|
std::ofstream answer_com(ANSWER_COM_PATH, std::ios::app);
|
||||||
|
if (answer_com.is_open()) {
|
||||||
|
answer_com << "end " << "\"" << "nothing" << "\"" << " " << "nothing" << " " << "nothing" << "\n";
|
||||||
|
answer_com.close();
|
||||||
|
}
|
||||||
|
thread_shutdown();
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -20,3 +20,4 @@ void scan_process_t(const std::string& filepath_);
|
|||||||
int get_num_files(const std::string& directory);
|
int get_num_files(const std::string& directory);
|
||||||
int search_hash(const std::string& dbname_, const std::string& hash_, const std::string& filepath_);
|
int search_hash(const std::string& dbname_, const std::string& hash_, const std::string& filepath_);
|
||||||
void cleanup();
|
void cleanup();
|
||||||
|
void do_quickscan();
|
||||||
|
|||||||
@@ -66,6 +66,12 @@ int start_thread(const std::string& command) {
|
|||||||
t1.detach();
|
t1.detach();
|
||||||
has_run = 1;
|
has_run = 1;
|
||||||
}
|
}
|
||||||
|
else if (out1 == "quick_scan"){
|
||||||
|
log(LOGLEVEL::INFO, "[start_thread()]: starting quickscan with arguments: ");
|
||||||
|
std::thread t1(do_quickscan);
|
||||||
|
t1.detach();
|
||||||
|
has_run = 1;
|
||||||
|
}
|
||||||
Sleep(10); // Sleep for 10 ms to give the thread time to start
|
Sleep(10); // Sleep for 10 ms to give the thread time to start
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -24,17 +24,6 @@ void split(const std::string& input, char delimiter, std::string& out1, std::str
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
bool is_valid_path(const std::string& filename) {
|
bool is_valid_path(const std::string& filename) {
|
||||||
//printf("1\n");
|
|
||||||
//for (char c : filename) {
|
|
||||||
// if (c == '<' || c == '>' || c == '"' || c == '|' || c == '?' || c == '*' || c > 126 || c < 32 ) {
|
|
||||||
// return 0; // Special character found
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
//printf("2\n");
|
|
||||||
//if (!file_exists(filename)) {
|
|
||||||
// return 0; // File does not exist
|
|
||||||
//}
|
|
||||||
//printf("3\n");
|
|
||||||
if (!has_read_access(filename)) {//this also fails if the file does not exist
|
if (!has_read_access(filename)) {//this also fails if the file does not exist
|
||||||
return 0; // No read access
|
return 0; // No read access
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,5 +69,4 @@
|
|||||||
#define DLL_ZLIB1_PATH "C:\\Program Files\\cyberhex\\secure\\app\\zlib1.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"
|
#define DLL_UCRTBASED_PATH "C:\\Program Files\\cyberhex\\secure\\app\\ucrtbased.dll"
|
||||||
|
|
||||||
|
|
||||||
#endif // !WELL_KNOWN_H
|
#endif // !WELL_KNOWN_H
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -24,7 +24,7 @@
|
|||||||
"RelativeDocumentMoniker": "client_frontend.cpp",
|
"RelativeDocumentMoniker": "client_frontend.cpp",
|
||||||
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_frontend\\client_frontend.cpp",
|
"ToolTip": "C:\\Users\\janis\\Documents\\Projekte_mit_c\\ma\\ma\\src\\client_frontend\\client_frontend.cpp",
|
||||||
"RelativeToolTip": "client_frontend.cpp",
|
"RelativeToolTip": "client_frontend.cpp",
|
||||||
"ViewState": "AQIAADkAAAAAAAAAAAAwwFUAAABsAAAA",
|
"ViewState": "AQIAAEsAAAAAAAAAAAAAAGQAAACHAAAA",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
|
||||||
"WhenOpened": "2024-03-23T13:52:32.121Z",
|
"WhenOpened": "2024-03-23T13:52:32.121Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
#define IDM_SCAN_FOLDER 102
|
#define IDM_SCAN_FOLDER 102
|
||||||
#define IDM_DEEP_SCAN_FILE 103
|
#define IDM_DEEP_SCAN_FILE 103
|
||||||
#define IDM_DEEP_SCAN_FOLDER 104
|
#define IDM_DEEP_SCAN_FOLDER 104
|
||||||
|
#define IDM_QUICK_SCAN 105
|
||||||
|
|
||||||
|
|
||||||
std::wstring string_to_widestring(const std::string& str) {
|
std::wstring string_to_widestring(const std::string& str) {
|
||||||
@@ -91,13 +92,13 @@ void scan_file(HWND hWndTextField, const std::string& filePath, bool deep) {
|
|||||||
else {
|
else {
|
||||||
update_textfield(hWndTextField, "No virus found in file: " + scannedFilePath + "\r\n");
|
update_textfield(hWndTextField, "No virus found in file: " + scannedFilePath + "\r\n");
|
||||||
}
|
}
|
||||||
update_textfield(hWndTextField, "------------------------------------------\r\n");
|
update_textfield(hWndTextField, "------------------------------------------------------------------------------------\r\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
answered = true;
|
answered = true;
|
||||||
update_textfield(hWndTextField, "Error: Unable to talk to daemon!\n");
|
update_textfield(hWndTextField, "Error: Unable to talk to daemon!\n");
|
||||||
update_textfield(hWndTextField, "------------------------------------------\n");
|
update_textfield(hWndTextField, "------------------------------------------------------------------------------------\r\n");
|
||||||
}
|
}
|
||||||
inputFile.close();
|
inputFile.close();
|
||||||
std::remove(ANSWER_COM_PATH);
|
std::remove(ANSWER_COM_PATH);
|
||||||
@@ -167,7 +168,7 @@ void scan_folder(HWND hProgressBar,HWND hWndTextField, const std::string& folder
|
|||||||
else {
|
else {
|
||||||
update_textfield(hWndTextField, "No virus found in file: " + scannedFilePath + "\r\n");
|
update_textfield(hWndTextField, "No virus found in file: " + scannedFilePath + "\r\n");
|
||||||
}
|
}
|
||||||
update_textfield(hWndTextField, "------------------------------------------\r\n");
|
update_textfield(hWndTextField, "------------------------------------------------------------------------------------\r\n");
|
||||||
}
|
}
|
||||||
else if (status == "progress") {
|
else if (status == "progress") {
|
||||||
std::string progress;
|
std::string progress;
|
||||||
@@ -196,13 +197,91 @@ void scan_folder(HWND hProgressBar,HWND hWndTextField, const std::string& folder
|
|||||||
}
|
}
|
||||||
update_textfield(hWndTextField, "Folder scan completed\r\n");
|
update_textfield(hWndTextField, "Folder scan completed\r\n");
|
||||||
update_textfield(hWndTextField, "Number of infected files: " + std::to_string(num_of_found) + "\r\n");
|
update_textfield(hWndTextField, "Number of infected files: " + std::to_string(num_of_found) + "\r\n");
|
||||||
update_textfield(hWndTextField, "------------------------------------------\r\n");
|
update_textfield(hWndTextField, "------------------------------------------------------------------------------------\r\n");
|
||||||
SendMessage(hProgressBar, PBM_SETPOS, 100, 0);
|
SendMessage(hProgressBar, PBM_SETPOS, 100, 0);
|
||||||
// Remove the answer file
|
// Remove the answer file
|
||||||
std::remove(ANSWER_COM_PATH);
|
std::remove(ANSWER_COM_PATH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void quick_scan(HWND hProgressBar, HWND hWndTextField) {
|
||||||
|
//set progress bar to 0
|
||||||
|
SendMessage(hProgressBar, PBM_SETPOS, 0, 0);
|
||||||
|
int num_of_found = 0;
|
||||||
|
// Remove the answer file
|
||||||
|
std::remove(ANSWER_COM_PATH);
|
||||||
|
|
||||||
|
update_textfield(hWndTextField, "Running quick scan\r\n");
|
||||||
|
bool answered = false;
|
||||||
|
// Write command into com file
|
||||||
|
std::ofstream outputFile(MAIN_COM_PATH);
|
||||||
|
if (outputFile.is_open()) {
|
||||||
|
outputFile << "quick_scan \"" << "_._" << "\"";
|
||||||
|
outputFile.close();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
update_textfield(hWndTextField, "Error: Unable to talk to daemon!\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (!answered) {
|
||||||
|
// Wait for answer in file
|
||||||
|
std::ifstream inputFile(ANSWER_COM_PATH);
|
||||||
|
// The structure of the answer file is as follows:
|
||||||
|
// found/not_found
|
||||||
|
// filepath
|
||||||
|
// hash
|
||||||
|
// action_taken/no_action_taken
|
||||||
|
if (inputFile.is_open()) {
|
||||||
|
std::string status, scannedFilePath, hash, action;
|
||||||
|
while (!inputFile.eof()) {
|
||||||
|
if (inputFile >> status) {
|
||||||
|
if (status == "found" || status == "not_found") {
|
||||||
|
inputFile.ignore(1); // Ignore space
|
||||||
|
inputFile.ignore(1); // Ignore starting double quote
|
||||||
|
std::getline(inputFile, scannedFilePath, '\"'); // Read until closing double quote
|
||||||
|
inputFile.ignore(1); // Ignore space between filepath and hash
|
||||||
|
inputFile.ignore(1); // Ignore starting double quote
|
||||||
|
std::getline(inputFile, hash, ' '); // Read until space
|
||||||
|
std::getline(inputFile, action); // Read until end of line
|
||||||
|
|
||||||
|
//answered = true;
|
||||||
|
|
||||||
|
if (status == "found") {
|
||||||
|
update_textfield(hWndTextField, "Virus found in file: " + scannedFilePath + "\r\n");
|
||||||
|
update_textfield(hWndTextField, "Hash: " + hash + "\r\n");
|
||||||
|
update_textfield(hWndTextField, "Action taken: " + action + "\r\n");
|
||||||
|
num_of_found++;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
update_textfield(hWndTextField, "No virus found in file: " + scannedFilePath + "\r\n");
|
||||||
|
}
|
||||||
|
update_textfield(hWndTextField, "------------------------------------------------------------------------------------\r\n");
|
||||||
|
}
|
||||||
|
else if (status == "start") {
|
||||||
|
std::string all_files;
|
||||||
|
inputFile.ignore(1); // Ignore space
|
||||||
|
inputFile >> all_files;
|
||||||
|
update_textfield(hWndTextField, "Quick scan started\r\n\r\n");
|
||||||
|
}
|
||||||
|
else if (status == "end") {
|
||||||
|
answered = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
inputFile.close();
|
||||||
|
std::ofstream(ANSWER_COM_PATH);//clear the file
|
||||||
|
Sleep(1000);//only see for new entrys ~ once a second
|
||||||
|
}
|
||||||
|
// Wait for 1 second before checking again
|
||||||
|
std::this_thread::sleep_for(std::chrono::seconds(1));
|
||||||
|
}
|
||||||
|
update_textfield(hWndTextField, "Quick scan completed\r\n");
|
||||||
|
update_textfield(hWndTextField, "Number of infected files: " + std::to_string(num_of_found) + "\r\n");
|
||||||
|
update_textfield(hWndTextField, "------------------------------------------------------------------------------------\r\n");
|
||||||
|
SendMessage(hProgressBar, PBM_SETPOS, 100, 0);
|
||||||
|
// Remove the answer file
|
||||||
|
std::remove(ANSWER_COM_PATH);
|
||||||
|
}
|
||||||
|
|
||||||
std::string getFolderPath(HWND hWnd) {
|
std::string getFolderPath(HWND hWnd) {
|
||||||
std::wstring selectedFolderPath;
|
std::wstring selectedFolderPath;
|
||||||
@@ -223,8 +302,6 @@ std::string getFolderPath(HWND hWnd) {
|
|||||||
if (pidlSelected != NULL) {
|
if (pidlSelected != NULL) {
|
||||||
SHGetPathFromIDList(pidlSelected, selectedPath);
|
SHGetPathFromIDList(pidlSelected, selectedPath);
|
||||||
|
|
||||||
// Convert TCHAR array to std::string
|
|
||||||
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
|
|
||||||
selectedFolderPath = selectedPath;
|
selectedFolderPath = selectedPath;
|
||||||
|
|
||||||
// Free the PIDL
|
// Free the PIDL
|
||||||
@@ -238,7 +315,9 @@ std::string getFolderPath(HWND hWnd) {
|
|||||||
// Uninitialize COM
|
// Uninitialize COM
|
||||||
CoUninitialize();
|
CoUninitialize();
|
||||||
|
|
||||||
return std::string(selectedFolderPath.begin(), selectedFolderPath.end());
|
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
|
||||||
|
std::string narrowSelectedFolder = converter.to_bytes(selectedFolderPath);
|
||||||
|
return narrowSelectedFolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
|
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
|
||||||
@@ -273,6 +352,11 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
|
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
|
||||||
20, 130, 150, 30, hWnd, (HMENU)IDM_DEEP_SCAN_FOLDER, GetModuleHandle(NULL), NULL);
|
20, 130, 150, 30, hWnd, (HMENU)IDM_DEEP_SCAN_FOLDER, GetModuleHandle(NULL), NULL);
|
||||||
|
|
||||||
|
//create the quick scan button
|
||||||
|
CreateWindowEx(NULL, L"BUTTON", L"Quick Scan",
|
||||||
|
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
|
||||||
|
20, 170, 150, 30, hWnd, (HMENU)IDM_QUICK_SCAN, GetModuleHandle(NULL), NULL);
|
||||||
|
|
||||||
// Create a multi-line edit control for displaying text
|
// Create a multi-line edit control for displaying text
|
||||||
hWndTextField = CreateWindowEx(WS_EX_CLIENTEDGE, L"EDIT", NULL,
|
hWndTextField = CreateWindowEx(WS_EX_CLIENTEDGE, L"EDIT", NULL,
|
||||||
WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY,
|
WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY,
|
||||||
@@ -319,7 +403,8 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
|
|
||||||
if (GetOpenFileName(&ofn) == TRUE) {
|
if (GetOpenFileName(&ofn) == TRUE) {
|
||||||
std::wstring selectedFile = ofn.lpstrFile; // Use std::wstring for wide characters
|
std::wstring selectedFile = ofn.lpstrFile; // Use std::wstring for wide characters
|
||||||
std::string narrowSelectedFile(selectedFile.begin(), selectedFile.end());
|
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
|
||||||
|
std::string narrowSelectedFile = converter.to_bytes(selectedFile);
|
||||||
std::thread(scan_file, hWndTextField, narrowSelectedFile,0).detach();
|
std::thread(scan_file, hWndTextField, narrowSelectedFile,0).detach();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -354,8 +439,9 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
|
|
||||||
if (GetOpenFileName(&ofn) == TRUE) {
|
if (GetOpenFileName(&ofn) == TRUE) {
|
||||||
std::wstring selectedFile = ofn.lpstrFile; // Use std::wstring for wide characters
|
std::wstring selectedFile = ofn.lpstrFile; // Use std::wstring for wide characters
|
||||||
std::string narrowSelectedFile(selectedFile.begin(), selectedFile.end());
|
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
|
||||||
std::thread(scan_file, hWndTextField, narrowSelectedFile, 1).detach();
|
std::string narrowSelectedFile = converter.to_bytes(selectedFile);
|
||||||
|
std::thread(scan_file, hWndTextField, narrowSelectedFile, 0).detach();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -368,6 +454,11 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
if(selected_folder!="")
|
if(selected_folder!="")
|
||||||
std::thread(scan_folder,hProgressBar, hWndTextField, selected_folder,1).detach();
|
std::thread(scan_folder,hProgressBar, hWndTextField, selected_folder,1).detach();
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
case IDM_QUICK_SCAN:
|
||||||
|
{
|
||||||
|
std::thread(quick_scan, hProgressBar, hWndTextField).detach();
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@@ -1,36 +1,3 @@
|
|||||||
client_frontend.cpp
|
client_frontend.cpp
|
||||||
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\xutility(4537,18): warning C4244: "=": Konvertierung von "wchar_t" in "char", möglicher Datenverlust
|
|
||||||
(Quelldatei „client_frontend.cpp“ wird kompiliert)
|
|
||||||
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\xutility(4537,18):
|
|
||||||
der Vorlageninstanziierungskontext (der älteste zuerst) ist
|
|
||||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_frontend\client_frontend.cpp(241,23):
|
|
||||||
Siehe Verweis auf die gerade kompilierte Instanziierung "std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<std::_String_iterator<std::_String_val<std::_Simple_types<_Elem>>>,0>(_Iter,_Iter,const _Alloc &)" der Funktions-Vorlage.
|
|
||||||
with
|
|
||||||
[
|
|
||||||
_Elem=wchar_t,
|
|
||||||
_Iter=std::_String_iterator<std::_String_val<std::_Simple_types<wchar_t>>>,
|
|
||||||
_Alloc=std::allocator<char>
|
|
||||||
]
|
|
||||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_frontend\client_frontend.cpp(241,5):
|
|
||||||
Ersten Verweis auf "std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string" in "getFolderPath" anzeigen
|
|
||||||
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\xstring(2600,17):
|
|
||||||
Siehe Verweis auf die gerade kompilierte Instanziierung "void std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Construct_from_iter<wchar_t*,wchar_t*,_Size_type>(_Iter,const _Sent,_Size)" der Funktions-Vorlage.
|
|
||||||
with
|
|
||||||
[
|
|
||||||
_Size_type=unsigned __int64,
|
|
||||||
_Iter=wchar_t *,
|
|
||||||
_Sent=wchar_t *,
|
|
||||||
_Size=unsigned __int64
|
|
||||||
]
|
|
||||||
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\xstring(2756,18):
|
|
||||||
Siehe Verweis auf die gerade kompilierte Instanziierung "_OutIt *std::_Copy_n_unchecked4<wchar_t*,_Size,char*>(_InIt,_SizeTy,_OutIt)" der Funktions-Vorlage.
|
|
||||||
with
|
|
||||||
[
|
|
||||||
_OutIt=char *,
|
|
||||||
_Size=unsigned __int64,
|
|
||||||
_InIt=wchar_t *,
|
|
||||||
_SizeTy=unsigned __int64
|
|
||||||
]
|
|
||||||
|
|
||||||
client_frontend.vcxproj -> C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_frontend\x64\Debug\client_frontend.exe
|
client_frontend.vcxproj -> C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_frontend\x64\Debug\client_frontend.exe
|
||||||
C:\vcpkg\vcpkg-2023.08.09\scripts\buildsystems\msbuild\vcpkg.targets(228,5): warning : [vcpkg] Failed to gather app local DLL dependencies, program may not run. Set VcpkgApplocalDeps to false in your project file to suppress this warning. PowerShell arguments: -ExecutionPolicy Bypass -noprofile -File "C:\vcpkg\vcpkg-2023.08.09\scripts\buildsystems\msbuild\applocal.ps1" "C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_frontend\x64\Debug\client_frontend.exe" "C:\vcpkg\vcpkg-2023.08.09\installed\x64-windows\debug\bin" "client_frontend\x64\Debug\client_frontend.tlog\client_frontend.write.1u.tlog" "client_frontend\x64\Debug\vcpkg.applocal.log"
|
C:\vcpkg\vcpkg-2023.08.09\scripts\buildsystems\msbuild\vcpkg.targets(228,5): warning : [vcpkg] Failed to gather app local DLL dependencies, program may not run. Set VcpkgApplocalDeps to false in your project file to suppress this warning. PowerShell arguments: -ExecutionPolicy Bypass -noprofile -File "C:\vcpkg\vcpkg-2023.08.09\scripts\buildsystems\msbuild\applocal.ps1" "C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\client_frontend\x64\Debug\client_frontend.exe" "C:\vcpkg\vcpkg-2023.08.09\installed\x64-windows\debug\bin" "client_frontend\x64\Debug\client_frontend.tlog\client_frontend.write.1u.tlog" "client_frontend\x64\Debug\vcpkg.applocal.log"
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -87,7 +87,7 @@
|
|||||||
// Create log table
|
// Create log table
|
||||||
$sql = "CREATE TABLE IF NOT EXISTS log (
|
$sql = "CREATE TABLE IF NOT EXISTS log (
|
||||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||||
logtext VARCHAR(255) NOT NULL,
|
logtext VARCHAR(500) NOT NULL,
|
||||||
loglevel VARCHAR(255) NOT NULL,
|
loglevel VARCHAR(255) NOT NULL,
|
||||||
machine_id VARCHAR(255),
|
machine_id VARCHAR(255),
|
||||||
time VARCHAR(255)
|
time VARCHAR(255)
|
||||||
|
|||||||
Reference in New Issue
Block a user