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(); }
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); } }); }
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; } }); }
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); } }); }
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."); } }); }