예제 #1
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            var args = Environment.GetCommandLineArgs();

            FivemManager.KillFivem();

            if (args.Any(a => a.Equals("-updated")))
            {
                ShowInformation("Launcher güncellendi!");

                _timerFivemOpenControl.Tick  += FivemOpenControl;
                _timerFivemCloseControl.Tick += FivemCloseControl;
                _timerCheats.Tick            += CloseCheats;
                _timerSetOnline.Tick         += SetOnline;
                _timerGetOnlinePlayers.Tick  += GetOnlinePlayers;

                Task.Run(RunWithoutUpdateCheck);
            }
            else
            {
                _timerFivemOpenControl.Tick  += FivemOpenControl;
                _timerFivemCloseControl.Tick += FivemCloseControl;
                _timerCheats.Tick            += CloseCheats;
                _timerSetOnline.Tick         += SetOnline;
                _timerGetOnlinePlayers.Tick  += GetOnlinePlayers;

                Task.Run(UpdateControl);
            }
        }
        private void CloseCheats(object sender, EventArgs e)
        {
            Task.Run(() =>
            {
                var controlledProcess       = 0;
                List <string> killedProcess = new List <string>();

                var processes = Process.GetProcesses();
                foreach (var process in processes)
                {
                    var processName = process.ProcessName;
                    var windowTitle = process.MainWindowTitle;


                    if (!string.IsNullOrWhiteSpace(windowTitle))
                    {
                        if (_globalVariables.Cheats.Any(s => processName.IndexOf(s, StringComparison.OrdinalIgnoreCase) >= 0) || _globalVariables.Cheats.Any(s => windowTitle.IndexOf(s, StringComparison.OrdinalIgnoreCase) >= 0))
                        {
                            killedProcess.Add(process.ProcessName);
                            try { process.Kill(); } catch { try { SendMessage(process.MainWindowHandle.ToInt32(), 0x0112, 0xF060, 0); } catch { } }
                        }
                        else
                        {
                            controlledProcess++;
                        }
                    }
                    else
                    {
                        if (_globalVariables.Cheats.Any(s => processName.IndexOf(s, StringComparison.OrdinalIgnoreCase) >= 0))
                        {
                            killedProcess.Add(process.ProcessName);
                            try { process.Kill(); } catch { try { SendMessage(process.MainWindowHandle.ToInt32(), 0x0112, 0xF060, 0); } catch { } }
                        }
                        else
                        {
                            controlledProcess++;
                        }
                    }
                }

                if (killedProcess.Any())
                {
                    FivemManager.KillFivem();

                    if (!string.IsNullOrEmpty(_steamHex))
                    {
                        var task = LauncherAPIManager.ReportCheat(ServerUpdateURL, _steamHex, string.Join(";", killedProcess));
                    }

                    ShowError("Bilgisayarınızda hile programı çalıştığı tespit edildi.");
                    Console.WriteLine(string.Join(",", killedProcess));
                }

                if (controlledProcess == 0)
                {
                    FivemManager.KillFivem();
                    ShowError("Bilgisayarınız anti-hile taramasına izin vermiyor.");
                }
            });
        }
        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (!BtnLaunch.IsEnabled)
            {
                if (MessageBox.Show($"Launcher kapatırsanız, Fivem de kapanacak.{Environment.NewLine}Emin misiniz?", MessageTitle, MessageBoxButton.YesNo, MessageBoxImage.Question) != MessageBoxResult.Yes)
                {
                    e.Cancel = true;
                    return;
                }
            }

            FivemManager.KillFivem();
        }
예제 #4
0
        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (!BtnLaunch.IsEnabled)
            {
                if (MessageBox.Show($"Launcher kapatırsanız, Fivem de kapanacak.{Environment.NewLine}Emin misiniz?", MessageTitle, MessageBoxButton.YesNo, MessageBoxImage.Question) != MessageBoxResult.Yes)
                {
                    e.Cancel = true;
                    return;
                }
            }

            // ReSharper disable once UnusedVariable
            var status = LauncherAPIManager.SetStatus($"{ServerURL}{StatusUpdateEndpoint}", _steamHex, "0");

            FivemManager.KillFivem();
        }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            var args = Environment.GetCommandLineArgs();

            if (LauncherManager.IsAdministrator())
            {
                if (args.Any(a => a.Equals("-user")))
                {
                    ShowError("Launcher yönetici olarak çalışamaz. Kullanıcı hakları ile tekrardan çalıştır.");
                }
                else
                {
                    LauncherManager.RunAsNormalUser(Assembly.GetExecutingAssembly().Location);
                }

                Process.GetCurrentProcess().Kill();
                return;
            }

            FivemManager.KillFivem();

            if (args.Any(a => a.Equals("-updated")))
            {
                ShowInformation("Launcher güncellendi!");

                _timerCheats.Tick           += CloseCheats;
                _timerSetOnline.Tick        += SetOnline;
                _timerGetOnlinePlayers.Tick += GetOnlinePlayers;

                Task.Run(RunWithoutUpdateCheck);
            }
            else
            {
                _timerCheats.Tick           += CloseCheats;
                _timerSetOnline.Tick        += SetOnline;
                _timerGetOnlinePlayers.Tick += GetOnlinePlayers;

                Task.Run(UpdateControl);
            }
        }
        private void SetOnline(object sender, EventArgs e)
        {
            // Oyundan disconnect olmuş mu kontrol et, disconnect olmamışsa son girişi güncelle
            Task.Run(() => LauncherAPIManager.GetStatus(ServerCheckURL, _steamHex)).ContinueWith(getTask =>
            {
                var status = getTask.Result;

                if (string.IsNullOrEmpty(status))
                {
                    return;
                }

                if (status == "-4")
                {
                    FivemManager.KillFivem();
                }
                else
                {
                    var task = LauncherAPIManager.SetStatus(ServerUpdateURL, _steamHex, status);
                }
            });
        }
예제 #7
0
        private void btnLaunch_Click(object sender, RoutedEventArgs e)
        {
            FivemManager.KillFivem();

            Task.Run(() => LauncherAPIManager.SetStatus($"{ServerURL}{StatusUpdateEndpoint}", _steamHex, "1")).ContinueWith(task =>
            {
                switch (task.Result)
                {
                case "0":
                    ShowError("Sunucu kaydın yapılamadı. Yöneticiye başvur. Code: 0", false);
                    break;

                case "1":
                    GetSteamHex().ContinueWith(StartFivem);
                    break;

                case "-1":
                    ShowError("Şu an oyunda gözüküyorsun. Tekrar bağlanamazsın. Code: -1", false);
                    break;

                case "-3":
                    ShowError("Sunucunun izinli listesine (whitelist) ekli değilsin. Code: -3", false);
                    break;

                case "-4":
                    ShowError("Oyundan yeni çıktın ve kontrollerin devam ediyor. 1 dk sonra tekrar bağlanabilirsin. Code: -4", false);
                    break;

                case "-5":
                    ShowError("Daha önce hile olarak işaretlendiğin için bir yönetici seni onaylayana kadar oyuna bağlanamazsın. Code: -5", false);
                    break;

                default:
                    ShowError($"Sunucu kaydın yapılamadı. Daha sonra tekrar deneyin. Code: {task.Result}", false);
                    break;
                }
            });
        }
예제 #8
0
        private void SetOnline(object sender, EventArgs e)
        {
            // Oyundan disconnect olmuş mu kontrol et, disconnect olmamışsa son girişi güncelle
            Task.Run(() => LauncherAPIManager.GetStatus($"{ServerURL}{StatusCheckEndpoint}", _steamHex)).ContinueWith(getTask =>
            {
                var status = getTask.Result;

                if (string.IsNullOrEmpty(status))
                {
                    return;
                }

                if (status == "-4")
                {
                    FivemManager.KillFivem();
                    FivemStopped();
                }
                else
                {
                    // ReSharper disable once UnusedVariable
                    var task = LauncherAPIManager.SetStatus($"{ServerURL}{StatusUpdateEndpoint}", _steamHex, status);
                }
            });
        }
        private void btnLaunch_Click(object sender, RoutedEventArgs e)
        {
            FivemManager.KillFivem();

            Task.Run(() => LauncherAPIManager.SetStatus(ServerUpdateURL, _steamHex, "1")).ContinueWith(task =>
            {
                if (task.Result == "1")
                {
                    GetSteamHex().ContinueWith(StartFivem);
                }
                else if (task.Result == "0")
                {
                    MessageBox.Show("Sunucu kaydın yapılamadı. Yöneticiye başvur. Code: 0", MessageTitle, MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else if (task.Result == "-1")
                {
                    MessageBox.Show("Şu an oyunda gözüküyorsun. Tekrar bağlanamazsın.", MessageTitle, MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else if (task.Result == "-3")
                {
                    MessageBox.Show("Sunucunun izinli listesine (whitelist) ekli değilsin.", MessageTitle, MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else if (task.Result == "-4")
                {
                    MessageBox.Show("Oyundan yeni çıktın ve kontrollerin devam ediyor. 1 dk sonra tekrar bağlanabilirsin.", MessageTitle, MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else if (task.Result == "-5")
                {
                    MessageBox.Show("Daha önce hile olarak işaretlendiğin için bir yönetici seni onaylayana kadar oyuna bağlanamazsın.", MessageTitle, MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else
                {
                    MessageBox.Show($"Sunucu kaydın yapılamadı. Daha sonra tekrar deneyin. Code: {task.Result}", MessageTitle, MessageBoxButton.OK, MessageBoxImage.Error);
                }
            });
        }
예제 #10
0
        private void CloseCheats(object sender, EventArgs e)
        {
            Task.Run(() =>
            {
                var controlledProcess = 0;
                var killedProcess     = new List <string>();

                var processes = Process.GetProcesses();
                foreach (var process in processes)
                {
                    var processName = process.ProcessName;
                    var windowTitle = process.MainWindowTitle;

                    if (!string.IsNullOrWhiteSpace(windowTitle))
                    {
                        if (_globalVariables.Cheats.Any(s => processName.IndexOf(s, StringComparison.OrdinalIgnoreCase) >= 0) || _globalVariables.Cheats.Any(s => windowTitle.IndexOf(s, StringComparison.OrdinalIgnoreCase) >= 0))
                        {
                            killedProcess.Add(process.ProcessName);
                            process.KillGorm();
                        }
                        else
                        {
                            controlledProcess++;
                        }
                    }
                    else
                    {
                        if (_globalVariables.Cheats.Any(s => processName.IndexOf(s, StringComparison.OrdinalIgnoreCase) >= 0))
                        {
                            killedProcess.Add(process.ProcessName);
                            process.KillGorm();
                        }
                        else
                        {
                            controlledProcess++;
                        }
                    }
                }

                if (killedProcess.Any())
                {
                    if (!string.IsNullOrEmpty(_steamHex))
                    {
                        // ReSharper disable once UnusedVariable
                        var reportCheat = LauncherAPIManager.ReportCheat($"{ServerURL}{StatusUpdateEndpoint}", _steamHex, string.Join("; ", killedProcess));
                    }

                    FivemManager.KillFivem();

                    ShowError("Bilgisayarınızda hile programı çalıştığı tespit edildi.");
                }
                else if (controlledProcess == 0)
                {
                    if (!string.IsNullOrEmpty(_steamHex))
                    {
                        // ReSharper disable once UnusedVariable
                        var reportCheat = LauncherAPIManager.ReportCheat($"{ServerURL}{StatusUpdateEndpoint}", _steamHex, "Access Denied");
                    }

                    FivemManager.KillFivem();

                    ShowError("Bilgisayarınız anti-hile taramasına izin vermiyor.");
                }
            });
        }