public static bool Login(string username, string password, bool message = true) { Start_Session(); if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password)) { MessageBox.Show("Please fill in all fields!", "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Error); } else { if (!Security.HashCheck()) { Gay = true; MessageBox.Show("Failed hash check on Newtonsoft.Json.dll please use the one provided with the AuthGuard download.", "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Error); Process.GetCurrentProcess().Kill(); return(false); } if (!Gay) { var request = (HttpWebRequest)WebRequest.Create(ApiUrl + "login.php"); var postData = $"username={Algorithms.EncryptData(username).Replace("+", "#")}"; postData += $"&password={Algorithms.EncryptData(password).Replace("+", "#")}"; postData += $"&hwid={Algorithms.EncryptData(getUniqueID()).Replace("+", "#")}"; postData += $"&programtoken={Algorithms.EncryptData(Secret).Replace("+", "#")}"; postData += $"×tamp={Algorithms.EncryptData(Algorithms.Encrypt(DateTime.Now.ToString())).Replace("+", "#")}"; postData += $"&session_id={Key}"; postData += $"&session_salt={Salt}"; var data = Encoding.ASCII.GetBytes(postData); request.Method = "POST"; request.UserAgent = "AuthGuard"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; using (var stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); dynamic json = JsonConvert.DeserializeObject(Algorithms.DecryptData(responseString)); string status = json.status; if (status != "success") { string info = json.info; if (message) { MessageBox.Show(info, "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Error); } return(false); } else { Initialized = true; string datetime = json.timestamp; string hwidd = json.hwid; string userr = json.username; string email = json.email; int level = json.level; string expires = json.expires; string ip = json.ip; LoadData(userr, email, level, DateTime.Parse(expires), ip); GrabVariables(VariableKey, Secret, userr, password); if (Security.SecurityChecks(Algorithms.Decrypt(datetime), hwidd)) { if (!string.IsNullOrEmpty(GuardSettings.Message)) { MessageBox.Show(GuardSettings.Message, "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Asterisk); } else { Security.ChallengesPassed = true; } return(true); } } } } return(false); }
public static bool RedeemToken(string username, string password, string token, bool message = true) { Start_Session(); if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(token)) { MessageBox.Show("Please fill in all fields!", "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Error); } else { if (!Security.HashCheck()) { Gay = true; MessageBox.Show("Failed hash check, please use all files provided in the download.", "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Error); Gay = true; Process.GetCurrentProcess().Kill(); return(false); } if (!Gay) { var request = (HttpWebRequest)WebRequest.Create(ApiUrl + "redeemtoken.php"); var postData = $"username={Algorithms.EncryptData(username).Replace("+", "#")}"; postData += $"&password={Algorithms.EncryptData(password).Replace("+", "#")}"; postData += $"&hwid={Algorithms.EncryptData(getUniqueID()).Replace("+", "#")}"; postData += $"&token={Algorithms.EncryptData(token).Replace("+", "#")}"; postData += $"&programtoken={Algorithms.EncryptData(Secret).Replace("+", "#")}"; postData += $"&session_id={Key}"; postData += $"&session_salt={Salt}"; var data = Encoding.ASCII.GetBytes(postData); request.Method = "POST"; request.UserAgent = "AuthGuard"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; using (var stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); dynamic json = JsonConvert.DeserializeObject(Algorithms.DecryptData(responseString)); string status = json.status; if (status != "success") { string info = json.info; if (message) { MessageBox.Show(info, "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Error); } return(false); } else { return(true); } } } return(false); }
private static bool Initialize(string version) { Start_Session(); if (string.IsNullOrEmpty(version)) { MessageBox.Show("Please enter a version!", "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Error); return(false); } else { if (!Security.HashCheck()) { Gay = true; MessageBox.Show("Invalid Newtonsoft.Json.dll", "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Error); Process.GetCurrentProcess().Kill(); } if (!Gay) { var request = (HttpWebRequest)WebRequest.Create(ApiUrl + "program.php"); var postData = $"&programtoken={Algorithms.EncryptData(Secret).Replace("+", "#")}"; postData += $"&session_id={Key}"; postData += $"&session_salt={Salt}"; var data = Encoding.ASCII.GetBytes(postData); request.Method = "POST"; request.UserAgent = "AuthGuard"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; using (var stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); dynamic json = JsonConvert.DeserializeObject(Algorithms.DecryptData(responseString)); string status = json.status; if (status != "success") { string info = json.info; MessageBox.Show(info, "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Error); return(false); } else { InitPassed = true; string versionn = json.version; int usercount = json.clients; string freemode = json.freemode; string enabled = json.enabled; string message = json.message; string updatelink = json.downloadlink; string hash = json.hash; string filename = json.filename; string devmode = json.devmode; string hwidlock = json.hwidlock; string programname = json.programname; GuardSettings.HWIDLock = true; GuardSettings.ProgramName = programname; if (hwidlock != "1") { GuardSettings.HWIDLock = false; } GuardSettings.DeveloperMode = true; if (devmode != "1") { GuardSettings.DeveloperMode = false; try { if (Algorithms.CalculateMD5(filename) != hash) { Gay = true; MessageBox.Show("File hash mismatch, exiting...", "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Error); Process.GetCurrentProcess().Kill(); return(false); } } catch { Gay = true; MessageBox.Show("Exception caught, please ensure that you have used the hash checker to implement the right hash and exe name in your program settings!", "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Error); Process.GetCurrentProcess().Kill(); return(false); } } bool bruhfreemode; if (freemode == "1") { bruhfreemode = true; } else { bruhfreemode = false; } GuardSettings.Clients = usercount; GuardSettings.Freemode = bruhfreemode; GuardSettings.Version = version; GuardSettings.Message = message; if (enabled == "0") { Gay = true; MessageBox.Show("Program disabled by owner, exiting...", "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Error); Process.GetCurrentProcess().Kill(); return(false); } if (version != versionn) { MessageBox.Show("Update available!", "AuthGuard", MessageBoxButton.OK, MessageBoxImage.Asterisk); try { Process.Start(updatelink); } catch { Process.Start("https://" + updatelink); } Gay = true; Process.GetCurrentProcess().Kill(); return(false); } if (bruhfreemode == true) { GuardSettings.Freemode = true; } } } return(false); } }