created installer
Created an installer which can create secure folders, create a background process and downloa the main applications files.
This commit is contained in:
Binary file not shown.
Binary file not shown.
BIN
src/ma_installer/.vs/ma_installer/v17/.suo
Normal file
BIN
src/ma_installer/.vs/ma_installer/v17/.suo
Normal file
Binary file not shown.
BIN
src/ma_installer/.vs/ma_installer/v17/Browse.VC.db
Normal file
BIN
src/ma_installer/.vs/ma_installer/v17/Browse.VC.db
Normal file
Binary file not shown.
Binary file not shown.
53
src/ma_installer/download.cpp
Normal file
53
src/ma_installer/download.cpp
Normal file
@@ -0,0 +1,53 @@
|
||||
#pragma warning(disable:4996)
|
||||
#ifndef CONNECT_CPP
|
||||
#define CONNECT_CPP
|
||||
#include "download.h"
|
||||
|
||||
size_t write_callback(void* contents, size_t size, size_t nmemb, void* userp) {
|
||||
size_t totalSize = size * nmemb;
|
||||
FILE* file = (FILE*)userp;
|
||||
if (file) {
|
||||
fwrite(contents, 1, totalSize, file);
|
||||
}
|
||||
return totalSize;
|
||||
}
|
||||
|
||||
|
||||
int download_file_from_srv(const char* url, const char* outputFileName) {
|
||||
//use curl to download a file from a server
|
||||
|
||||
CURL* curl;
|
||||
CURLcode res;
|
||||
FILE* output_file;
|
||||
|
||||
curl = curl_easy_init();
|
||||
if (!curl) {
|
||||
return 7;
|
||||
}
|
||||
|
||||
// Set the URL to download
|
||||
curl_easy_setopt(curl, CURLOPT_URL, url);
|
||||
|
||||
// Create a file to write the downloaded data
|
||||
output_file = fopen(outputFileName, "wb");
|
||||
if (!output_file) {
|
||||
curl_easy_cleanup(curl);
|
||||
return 7;
|
||||
}
|
||||
|
||||
// Set the write callback function
|
||||
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
|
||||
curl_easy_setopt(curl, CURLOPT_WRITEDATA, output_file);
|
||||
|
||||
// Perform the download
|
||||
res = curl_easy_perform(curl);
|
||||
if (res != CURLE_OK) {
|
||||
return 7;
|
||||
}
|
||||
// Cleanup and close the file
|
||||
curl_easy_cleanup(curl);
|
||||
fclose(output_file);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
5
src/ma_installer/download.h
Normal file
5
src/ma_installer/download.h
Normal file
@@ -0,0 +1,5 @@
|
||||
#pragma once
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <curl/curl.h>
|
||||
int download_file_from_srv(const char* url, const char* outputFileName);
|
||||
297
src/ma_installer/ma_installer.cpp
Normal file
297
src/ma_installer/ma_installer.cpp
Normal file
@@ -0,0 +1,297 @@
|
||||
// ma_installer.cpp : Diese Datei enthält die Funktion "main". Hier beginnt und endet die Ausführung des Programms.
|
||||
//
|
||||
#define _WIN32_WINNT 0x0500
|
||||
|
||||
#include <iostream>
|
||||
#include <windows.h>
|
||||
#include <sddl.h>
|
||||
#include <stdio.h>
|
||||
#include "download.h"
|
||||
#pragma comment(lib, "advapi32.lib")
|
||||
/*
|
||||
Tasks to do:
|
||||
- launch as admin
|
||||
- create secure folder
|
||||
- download app files from server
|
||||
- install app files
|
||||
- create background service
|
||||
- create folder for communication
|
||||
|
||||
*/
|
||||
//check if programm is run as admin
|
||||
bool is_admin() {
|
||||
BOOL fIsRunAsAdmin = FALSE;
|
||||
PSID pAdminSID = NULL;
|
||||
|
||||
SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY;
|
||||
if (AllocateAndInitializeSid(&NtAuthority, 2, SECURITY_BUILTIN_DOMAIN_RID,
|
||||
DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0,
|
||||
&pAdminSID)) {
|
||||
if (!CheckTokenMembership(NULL, pAdminSID, &fIsRunAsAdmin)) {
|
||||
fIsRunAsAdmin = FALSE;
|
||||
}
|
||||
|
||||
FreeSid(pAdminSID);
|
||||
}
|
||||
|
||||
return (fIsRunAsAdmin != 0);
|
||||
}
|
||||
bool run_as_admin() {
|
||||
wchar_t szPath[MAX_PATH];
|
||||
if (GetModuleFileName(NULL, szPath, ARRAYSIZE(szPath))) {
|
||||
// Launch itself as admin
|
||||
SHELLEXECUTEINFO sei = { sizeof(sei) };
|
||||
sei.lpVerb = L"runas";
|
||||
sei.lpFile = szPath;
|
||||
sei.hwnd = NULL;
|
||||
sei.nShow = SW_NORMAL;
|
||||
|
||||
if (!ShellExecuteEx(&sei)) {
|
||||
DWORD dwError = GetLastError();
|
||||
if (dwError == ERROR_CANCELLED)
|
||||
{
|
||||
// The user refused to allow privileges elevation.
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// End the calling process. User allowd admin rights
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
BOOL create_dacl(SECURITY_ATTRIBUTES* pSA)
|
||||
{
|
||||
// Define the SDDL for the DACL. This example sets
|
||||
// the following access:
|
||||
// Built-in guests are denied all access.
|
||||
// Anonymous logon is denied all access.
|
||||
// Authenticated users are allowed
|
||||
// read/write/execute access.
|
||||
// Administrators are allowed full control.
|
||||
// Modify these values as needed to generate the proper
|
||||
// DACL for your application.
|
||||
const wchar_t* szSD = TEXT("D:")
|
||||
TEXT("(D;OICI;GA;;;BG)") // Deny access to authenticated users
|
||||
TEXT("(D;OICI;GA;;;AN)") // Deny access to authenticated users
|
||||
//TEXT("(D;OICI;GA;;;AU)") // Deny access to authenticated users
|
||||
TEXT("(A;OICI;GA;;;BA)"); // Allow full control to builtinadministrators
|
||||
//TEXT("(A;OICI;GA;;;AA)"); // Allow full control to administrators
|
||||
|
||||
|
||||
if (NULL == pSA)
|
||||
return FALSE;
|
||||
|
||||
return ConvertStringSecurityDescriptorToSecurityDescriptor(
|
||||
szSD,
|
||||
SDDL_REVISION_1,
|
||||
&(pSA->lpSecurityDescriptor),
|
||||
NULL);
|
||||
}
|
||||
int create_secure_folder(LPCWSTR folderpath) {
|
||||
int error = 0;
|
||||
SECURITY_ATTRIBUTES sa;
|
||||
|
||||
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
|
||||
sa.bInheritHandle = FALSE;// objects are not inherited
|
||||
|
||||
// Call function to set the DACL. The DACL
|
||||
// is set in the SECURITY_ATTRIBUTES
|
||||
// lpSecurityDescriptor member.
|
||||
if (!create_dacl(&sa))
|
||||
{
|
||||
// Error encountered; generate message and exit.
|
||||
//printf("Failed to create access control list\n");
|
||||
error = 1;
|
||||
}
|
||||
|
||||
// Use the updated SECURITY_ATTRIBUTES to specify
|
||||
// security attributes for securable objects.
|
||||
// This example uses security attributes during
|
||||
// creation of a new directory.
|
||||
if (error == 0) {
|
||||
if (0 == CreateDirectory(folderpath, &sa))
|
||||
{
|
||||
// Error encountered; generate message and exit.
|
||||
//could not create directory
|
||||
error = 2;
|
||||
}
|
||||
}
|
||||
// Free the memory allocated for the SECURITY_DESCRIPTOR.
|
||||
if (error == 0) {
|
||||
if (NULL != LocalFree(sa.lpSecurityDescriptor))
|
||||
{
|
||||
// Error encountered; generate message and exit.
|
||||
//printf("Failed to free the allocated memory\n");
|
||||
error = 3;
|
||||
}
|
||||
}
|
||||
return error;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
printf("Welcome to the Cyberhex installer!\n");
|
||||
int error = 0;
|
||||
if (!is_admin()) {
|
||||
printf("We are not administrator, requesting UAC\n");
|
||||
if (!run_as_admin()) {
|
||||
printf("We did not get administrative rights. Please restart the installer!\n");
|
||||
MessageBox(NULL, L"Please start the installer with amdin privileges!", L"Error", MB_OK);
|
||||
exit(1);
|
||||
}
|
||||
else {
|
||||
//we started the app as admin. This process can be terminated now
|
||||
exit(0);
|
||||
}
|
||||
}else {
|
||||
// We're admin, so we can do admin stuff here ...
|
||||
printf("Creating directorys\n");
|
||||
printf("Creating directory for application\n");
|
||||
CreateDirectory(L"C:\\Program Files\\cyberhex", NULL); //create main folder for cyberhex
|
||||
printf("Creating directory for communication\n");
|
||||
CreateDirectory(L"C:\\Program Files\\cyberhex\\com", NULL); //create folder for communication with desktop client
|
||||
printf("Creating directory for desktop client\n");
|
||||
CreateDirectory(L"C:\\Program Files\\cyberhex\\app", NULL); //create folder for desktop client application
|
||||
printf("Creating directory for secure files\n");
|
||||
error = create_secure_folder(L"C:\\Program Files\\cyberhex\\secure"); //create secure folder
|
||||
if (error == 0){
|
||||
printf("Creating directory for database\n");
|
||||
error = create_secure_folder(L"C:\\Program Files\\cyberhex\\secure\\database"); //create secure folder for hash database
|
||||
}if (error == 0){
|
||||
printf("Creating directory for settings\n");
|
||||
error = create_secure_folder(L"C:\\Program Files\\cyberhex\\secure\\settings"); //create secure folder for settings
|
||||
}if (error == 0){
|
||||
printf("Creating directory for quarantined files\n");
|
||||
error = create_secure_folder(L"C:\\Program Files\\cyberhex\\secure\\quarantine"); //create secure folder for quarantined files = viruses
|
||||
}if (error == 0){
|
||||
printf("Creating directory for log files\n");
|
||||
error = create_secure_folder(L"C:\\Program Files\\cyberhex\\secure\\log"); //create secure folder for log files
|
||||
}if (error == 0){
|
||||
printf("Creating directory for communication\n");
|
||||
error = create_secure_folder(L"C:\\Program Files\\cyberhex\\secure\\com"); //create secure folder for communication with server
|
||||
}if (error == 0) {
|
||||
printf("Creating directory for application\n");
|
||||
error = create_secure_folder(L"C:\\Program Files\\cyberhex\\secure\\app"); //create secure folder for application files
|
||||
}
|
||||
|
||||
//download files from server
|
||||
if (error == 0) {
|
||||
printf("Downloading files from server\n");
|
||||
printf("Downloading cyberhex.exe\n");
|
||||
error=download_file_from_srv("https://cyberhex.org/download/cyberhex.exe", "C:\\Program Files\\cyberhex\\secure\\app\\cyberhex.exe");
|
||||
if (error == 0) {
|
||||
printf("Downloading libcrypto-3-x64.dll\n");
|
||||
error = download_file_from_srv("https://cyberhex.org/download/libcrypto-3-x64.dll", "C:\\Program Files\\cyberhex\\secure\\app\\libcrypto-3-x64.dll");
|
||||
}if (error == 0) {
|
||||
printf("Downloading libcurl.dll\n");
|
||||
error = download_file_from_srv("https://cyberhex.org/download/libcurl.dll", "C:\\Program Files\\cyberhex\\secure\\app\\libcurl.dll");
|
||||
}if (error == 0) {
|
||||
printf("Downloading zlib1.dll\n");
|
||||
error = download_file_from_srv("https://cyberhex.org/download/zlib1.dll", "C:\\Program Files\\cyberhex\\secure\\app\\zlib1.dll");
|
||||
}if (error == 0) {
|
||||
printf("Downloading cyberhex_desktop.dll\n");
|
||||
error = download_file_from_srv("https://cyberhex.org/download/cyberhex_desktop.exe", "C:\\Program Files\\cyberhex\\app\\cyberhex_desktop.exe");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//create background service
|
||||
if (error == 0) {
|
||||
printf("Creating background service\n");
|
||||
SC_HANDLE hSCManager = OpenSCManager(nullptr, nullptr, SC_MANAGER_ALL_ACCESS);
|
||||
if (!hSCManager) {
|
||||
//std::cerr << "Failed to open service control manager. Error code: " << GetLastError() << std::endl;
|
||||
error = 4;
|
||||
}
|
||||
|
||||
LPCWSTR serviceName = L"cyberhex_background_service";
|
||||
LPCWSTR servicePath = L"C:\\Path\\To\\Your\\Executable.exe";
|
||||
|
||||
SC_HANDLE hService = CreateService(
|
||||
hSCManager,
|
||||
serviceName,
|
||||
serviceName,
|
||||
SERVICE_ALL_ACCESS,
|
||||
SERVICE_WIN32_OWN_PROCESS,
|
||||
SERVICE_AUTO_START,
|
||||
SERVICE_ERROR_NORMAL,
|
||||
servicePath,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr
|
||||
);
|
||||
|
||||
if (!hService) {
|
||||
//std::cerr << "Failed to create service. Error code: " << GetLastError() << std::endl;
|
||||
CloseServiceHandle(hSCManager);
|
||||
error = 5;
|
||||
}
|
||||
|
||||
// Configure the service to run with LocalSystem account (administrator rights)
|
||||
if (!ChangeServiceConfig(
|
||||
hService,
|
||||
SERVICE_NO_CHANGE,
|
||||
SERVICE_NO_CHANGE,
|
||||
SERVICE_NO_CHANGE,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
L"LocalSystem",
|
||||
nullptr,
|
||||
nullptr
|
||||
)) {
|
||||
//std::cerr << "Failed to configure service. Error code: " << GetLastError() << std::endl
|
||||
error = 6;
|
||||
}
|
||||
else {
|
||||
//std::cout << "Service created and configured successfully." << std::endl;
|
||||
//no error
|
||||
}
|
||||
|
||||
CloseServiceHandle(hService);
|
||||
CloseServiceHandle(hSCManager);
|
||||
|
||||
}
|
||||
}
|
||||
switch (error) {
|
||||
case 0:
|
||||
printf("Installation successful\n");
|
||||
printf("You have installed Cyberhex, thank you!\n");
|
||||
MessageBox(NULL, L"Installation successful", L"Success", MB_OK);
|
||||
break;
|
||||
case 1:
|
||||
printf("Failed to create access control list\n");
|
||||
MessageBox(NULL, L"Failed to create access control list", L"Error", MB_OK);
|
||||
break;
|
||||
case 2:
|
||||
printf("Could not create directory\n");
|
||||
MessageBox(NULL, L"Could not create directory", L"Error", MB_OK);
|
||||
break;
|
||||
case 3:
|
||||
printf("Failed to free the allocated memory\n");
|
||||
MessageBox(NULL, L"Failed to free the allocated memory", L"Error", MB_OK);
|
||||
break;
|
||||
case 4:
|
||||
printf("Failed to open service control manager\n");
|
||||
MessageBox(NULL, L"Failed to open service control manager", L"Error", MB_OK);
|
||||
break;
|
||||
case 5:
|
||||
printf("Failed to create service\n");
|
||||
MessageBox(NULL, L"Failed to create service", L"Error", MB_OK);
|
||||
break;
|
||||
case 6:
|
||||
printf("Failed to configure service\n");
|
||||
MessageBox(NULL, L"Failed to configure service", L"Error", MB_OK);
|
||||
break;
|
||||
case 7:
|
||||
printf("Failed to download file\n");
|
||||
MessageBox(NULL, L"Failed to download file", L"Error", MB_OK);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
31
src/ma_installer/ma_installer.sln
Normal file
31
src/ma_installer/ma_installer.sln
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.8.34330.188
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ma_installer", "ma_installer.vcxproj", "{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}.Debug|x64.Build.0 = Debug|x64
|
||||
{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}.Debug|x86.Build.0 = Debug|Win32
|
||||
{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}.Release|x64.ActiveCfg = Release|x64
|
||||
{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}.Release|x64.Build.0 = Release|x64
|
||||
{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}.Release|x86.ActiveCfg = Release|Win32
|
||||
{AAE7A550-D2C0-45AC-8C26-ED57DF20BFC3}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {70F6E232-36D9-4086-BBD3-321601BAEB83}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
139
src/ma_installer/ma_installer.vcxproj
Normal file
139
src/ma_installer/ma_installer.vcxproj
Normal file
@@ -0,0 +1,139 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>17.0</VCProjectVersion>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<ProjectGuid>{aae7a550-d2c0-45ac-8c26-ed57df20bfc3}</ProjectGuid>
|
||||
<RootNamespace>mainstaller</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="download.cpp" />
|
||||
<ClCompile Include="ma_installer.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="download.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
30
src/ma_installer/ma_installer.vcxproj.filters
Normal file
30
src/ma_installer/ma_installer.vcxproj.filters
Normal file
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Quelldateien">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Headerdateien">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Ressourcendateien">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="ma_installer.cpp">
|
||||
<Filter>Quelldateien</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="download.cpp">
|
||||
<Filter>Headerdateien</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="download.h">
|
||||
<Filter>Headerdateien</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
4
src/ma_installer/ma_installer.vcxproj.user
Normal file
4
src/ma_installer/ma_installer.vcxproj.user
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup />
|
||||
</Project>
|
||||
11
src/ma_installer/x64/Debug/ma_installer.exe.recipe
Normal file
11
src/ma_installer/x64/Debug/ma_installer.exe.recipe
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\x64\Debug\ma_installer.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
||||
BIN
src/ma_installer/x64/Debug/ma_installer.ilk
Normal file
BIN
src/ma_installer/x64/Debug/ma_installer.ilk
Normal file
Binary file not shown.
2
src/ma_installer/x64/Debug/ma_installer.log
Normal file
2
src/ma_installer/x64/Debug/ma_installer.log
Normal file
@@ -0,0 +1,2 @@
|
||||
ma_installer.cpp
|
||||
ma_installer.vcxproj -> C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\x64\Debug\ma_installer.exe
|
||||
BIN
src/ma_installer/x64/Debug/ma_installer.pdb
Normal file
BIN
src/ma_installer/x64/Debug/ma_installer.pdb
Normal file
Binary file not shown.
BIN
src/ma_installer/x64/Debug/ma_installer.tlog/CL.command.1.tlog
Normal file
BIN
src/ma_installer/x64/Debug/ma_installer.tlog/CL.command.1.tlog
Normal file
Binary file not shown.
BIN
src/ma_installer/x64/Debug/ma_installer.tlog/CL.read.1.tlog
Normal file
BIN
src/ma_installer/x64/Debug/ma_installer.tlog/CL.read.1.tlog
Normal file
Binary file not shown.
BIN
src/ma_installer/x64/Debug/ma_installer.tlog/CL.write.1.tlog
Normal file
BIN
src/ma_installer/x64/Debug/ma_installer.tlog/CL.write.1.tlog
Normal file
Binary file not shown.
@@ -0,0 +1,2 @@
|
||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\download.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\x64\Debug\download.obj
|
||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\ma_installer.cpp;C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\x64\Debug\ma_installer.obj
|
||||
BIN
src/ma_installer/x64/Debug/ma_installer.tlog/link.command.1.tlog
Normal file
BIN
src/ma_installer/x64/Debug/ma_installer.tlog/link.command.1.tlog
Normal file
Binary file not shown.
BIN
src/ma_installer/x64/Debug/ma_installer.tlog/link.read.1.tlog
Normal file
BIN
src/ma_installer/x64/Debug/ma_installer.tlog/link.read.1.tlog
Normal file
Binary file not shown.
BIN
src/ma_installer/x64/Debug/ma_installer.tlog/link.write.1.tlog
Normal file
BIN
src/ma_installer/x64/Debug/ma_installer.tlog/link.write.1.tlog
Normal file
Binary file not shown.
@@ -0,0 +1,2 @@
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.38.33130:TargetPlatformVersion=10.0.22621.0:VcpkgTriplet=x64-windows:
|
||||
Debug|x64|C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\|
|
||||
Binary file not shown.
@@ -0,0 +1,4 @@
|
||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\x64\Debug\ma_installer.exe
|
||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\x64\Debug\ma_installer.vcxproj.CopyComplete
|
||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\x64\Debug\libcurl-d.dll
|
||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\x64\Debug\zlibd1.dll
|
||||
BIN
src/ma_installer/x64/Debug/vc143.idb
Normal file
BIN
src/ma_installer/x64/Debug/vc143.idb
Normal file
Binary file not shown.
BIN
src/ma_installer/x64/Debug/vc143.pdb
Normal file
BIN
src/ma_installer/x64/Debug/vc143.pdb
Normal file
Binary file not shown.
3
src/ma_installer/x64/Debug/vcpkg.applocal.log
Normal file
3
src/ma_installer/x64/Debug/vcpkg.applocal.log
Normal file
@@ -0,0 +1,3 @@
|
||||
|
||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\x64\Debug\libcurl-d.dll
|
||||
C:\Users\janis\Documents\Projekte_mit_c\ma\ma\src\ma_installer\x64\Debug\zlibd1.dll
|
||||
Reference in New Issue
Block a user