private void saveKeysBut_Click(object sender, EventArgs e) { int i = 0; foreach (TextBox txt in mkTxts) { INIFile.Write("keys", "MK" + i.ToString("D2"), txt.Text); i++; } INIFile.Write("keys", "keyseed", keySrcTxt.Text); INIFile.Write("keys", "kekseed", kekSrcTxt.Text); INIFile.Write("keys", "akaeksrc", akaekTxt.Text); INIFile.Write("keys", "okaeksrc", okaekTxt.Text); INIFile.Write("keys", "skaeksrc", skaekTxt.Text); INIFile.Write("keys", "headkey", headKeyText.Text); Close(); }
private void dlBut_Click(object sender, EventArgs e) { StatusWrite("Starting..."); //Sanitize GUI inputs outText.Text = ""; string version = ""; if (!Utils.IsValidTid(tidText.Text)) { WriteLine("Invalid TID!"); return; } if (!Utils.IsValidVersion(verText.Text)) { WriteLine("Invalid version!"); return; } //Check if appropriate settings are set if ( INIFile.Read("keys", "kekseed") == string.Empty || INIFile.Read("keys", "keyseed") == string.Empty || INIFile.Read("keys", "akaeksrc") == string.Empty || INIFile.Read("keys", "okaeksrc") == string.Empty || INIFile.Read("keys", "skaeksrc") == string.Empty || INIFile.Read("keys", "headkey") == string.Empty ) { MessageBox.Show("Please fill in all seeds!"); return; } //if version string was in decimal format, convert if (Regex.Match(verText.Text, @"[0-9]\.[0-9]\.[0-9]\.[0-9]*").Success) { var v = verText.Text.Split('.'); version = ((Convert.ToUInt32(v[0]) << 26) | (Convert.ToUInt32(v[1]) << 20) | (Convert.ToUInt32(v[2]) << 16) | Convert.ToUInt32(v[3])).ToString(); } else { version = verText.Text; } Task.Run(() => { downloadContent(tidText.Text, version); }); }
public Form1() { InitializeComponent(); settings = new Settings(); if (!File.Exists(Directory.GetCurrentDirectory() + "/config.ini")) { settings.CreateConfig(); } if (!File.Exists(Directory.GetCurrentDirectory() + @"\NXCrypt.dll")) { MessageBox.Show("Missing dll dependency in root dir."); Environment.Exit(0); } string cert = INIFile.ReadSetting("cert"); if (!File.Exists(cert) || !Regex.IsMatch(cert, @"\.pfx")) { MessageBox.Show("Proper cert missing from settings!"); } }
public static WebResponse Request(string method, string url) { X509Certificate2 cert = new X509Certificate2(Directory.GetCurrentDirectory() + @"\nx_tls_client_cert.pfx", "switch"); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.ClientCertificates.Add(cert); request.UserAgent = string.Format("NintendoSDK Firmware/{0} (platform:NX; did:{1}; eid:{2})", INIFile.Read("settings", "firmver"), INIFile.Read("settings", "did"), INIFile.Read("settings", "eid")); request.Method = method; ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true); if (((HttpWebResponse)request.GetResponse()).StatusCode != HttpStatusCode.OK) { System.Console.WriteLine("http error"); return(null); } return(request.GetResponse()); }
public static string GetCdnUrl() { return(string.Format(Properties.Resources.CDNUrl, INIFile.Read("settings", "eid"))); }