private void SetNUSContent(string path) { NUSContentPath = path; textBoxFolderName.Text = Path.GetFileName(NUSContentPath); Log.WriteLine("Path: \"" + NUSContentPath + "\""); NUSContentFormat = NUSContent.GetFormat(NUSContentPath); if (NUSContentFormat == NUSContent.Format.Encrypted) { Log.WriteLine("Ecrypted format detected."); labelFormat.Text = "NUS Content format: Ecrypted (WUP Installer)."; buttonConvert.Text = "Convert to decrypted format (for Loadiine)"; buttonConvert.Enabled = true; } else if (NUSContentFormat == NUSContent.Format.Decrypted) { Log.WriteLine("Decrypted format detected."); labelFormat.Text = "NUS Content format: Decrypted (Loadiine)."; buttonConvert.Text = "Convert to ecrypted format (for WUP Installer)"; buttonConvert.Enabled = true; } else { Log.WriteLine("NUS Content format was not detected."); labelFormat.Text = "NUS Content format: Indeterminate."; buttonConvert.Text = "Convert"; buttonConvert.Enabled = false; } }
public NUSConverterCMD() { Log.SaveIn("NUSConverter.log"); Log.WriteLine("NUS Converter v1.0 by phacox.cll"); Log.WriteLine(DateTime.Now.ToString()); string NUSConverterDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "NUSConverter"); string packPath = Path.Combine(NUSConverterDataPath, "pack"); string unpackPath = Path.Combine(NUSConverterDataPath, "unpack"); string cnuspackerPath = Path.Combine(packPath, "CNUSPacker.exe"); string cdecryptPath = Path.Combine(unpackPath, "CDecrypt.exe"); if (!Directory.Exists(NUSConverterDataPath)) { Directory.CreateDirectory(NUSConverterDataPath); Directory.CreateDirectory(packPath); Directory.CreateDirectory(unpackPath); FileStream fs = File.Create(cnuspackerPath); fs.Write(Resources.CNUSPacker, 0, Resources.CNUSPacker.Length); fs.Close(); fs = File.Create(cdecryptPath); fs.Write(Resources.CDecrypt, 0, Resources.CDecrypt.Length); fs.Close(); fs = File.Create(Path.Combine(unpackPath, "libeay32.dll")); fs.Write(Resources.libeay32, 0, Resources.libeay32.Length); fs.Close(); } StringBuilder sb = new StringBuilder(); Log.WriteLine(cnuspackerPath); bool warning = false; if (!File.Exists(cnuspackerPath)) { sb.AppendLine("Warning! \"" + cnuspackerPath + "\" not found! CNUSPacker allows you to encrypt NUS Content for WUP Installer."); sb.AppendLine(""); warning = true; } if (!File.Exists(cdecryptPath)) { sb.AppendLine("Warning! \"" + cdecryptPath + "\" not found! CDecrypt allows you to decrypt NUS Content for Loadiine."); warning = true; } if (warning) Log.WriteLine(sb.ToString()); if (NUSContent.CheckCommonKeyFiles()) Log.WriteLine("Wii U Common Key files: OK!"); else Log.WriteLine("Wii U Common Key files: Not found."); }
private void textBoxCommonKey_TextChanged(object sender, EventArgs e) { if (NUSContent.LoadKey(textBoxCommonKey.Text)) { textBoxCommonKey.Text = ""; textBoxCommonKey.Enabled = false; panelCommonKey.BackgroundImage = Properties.Resources.checkmark_16; Log.WriteLine("Valid Wii U Common Key."); Log.WriteLine("The key was successfully loaded!"); } else { textBoxCommonKey.Enabled = true; panelCommonKey.BackgroundImage = Properties.Resources.x_mark_16; Log.WriteLine("Invalid Wii U Common Key: " + textBoxCommonKey.Text); } }
private void buttonConvert_Click(object sender, EventArgs e) { buttonChoose.Enabled = false; buttonConvert.Enabled = false; buttonConvert.Text = "Working..."; try { string output = NUSContentPath; if (NUSContentFormat == NUSContent.Format.Encrypted) { output += " (Decrypted)"; Log.WriteLine("Input: \"" + NUSContentPath + "\""); Log.WriteLine("Output: \"" + output + "\""); Log.WriteLine("Decrypting..."); Directory.CreateDirectory(output); NUSContent.Decrypt(NUSContentPath, output); buttonConvert.Text = "Convert to decrypted format (for Loadiine)"; Log.WriteLine("Decrypted!"); MessageBox.Show("Output: \"" + output + "\"", "Decrypted!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (NUSContentFormat == NUSContent.Format.Decrypted) { output += " (Encrypted)"; Log.WriteLine("Input: \"" + NUSContentPath + "\""); Log.WriteLine("Output: \"" + output + "\""); Log.WriteLine("Encrypting..."); NUSContent.Encrypt(NUSContentPath, output); buttonConvert.Text = "Convert to ecrypted format (for WUP Installer)"; Log.WriteLine("Encrypted!"); MessageBox.Show("Output: \"" + output + "\"", "Encrypted!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { throw new Exception("NUS Content format was not detected."); } } catch (Exception ex) { Log.WriteLine(ex.ToString()); MessageBox.Show(ex.ToString(), "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); SetNUSContent(NUSContentPath); } buttonChoose.Enabled = true; buttonConvert.Enabled = true; }
public NUSConverterGUI() { Log.SaveIn("NUSConverter.log"); Log.WriteLine("NUS Converter v1.0 by phacox.cll"); Log.WriteLine(DateTime.Now.ToString()); InitializeComponent(); string NUSConverterDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "NUSConverter"); string packPath = Path.Combine(NUSConverterDataPath, "pack"); string unpackPath = Path.Combine(NUSConverterDataPath, "unpack"); string cnuspackerPath = Path.Combine(packPath, "CNUSPacker.exe"); string cdecryptPath = Path.Combine(unpackPath, "CDecrypt.exe"); if (!Directory.Exists(NUSConverterDataPath)) { Directory.CreateDirectory(NUSConverterDataPath); Directory.CreateDirectory(packPath); Directory.CreateDirectory(unpackPath); FileStream fs = File.Create(cnuspackerPath); fs.Write(Resources.CNUSPacker, 0, Resources.CNUSPacker.Length); fs.Close(); fs = File.Create(cdecryptPath); fs.Write(Resources.CDecrypt, 0, Resources.CDecrypt.Length); fs.Close(); fs = File.Create(Path.Combine(unpackPath, "libeay32.dll")); fs.Write(Resources.libeay32, 0, Resources.libeay32.Length); fs.Close(); } StringBuilder sb = new StringBuilder(); bool warning = false; if (!File.Exists(cnuspackerPath)) { sb.AppendLine("Warning! \"" + cnuspackerPath + "\" not found! NUSPacker allows you to encrypt NUS Content for WUP Installer."); sb.AppendLine(""); warning = true; } if (!File.Exists(cdecryptPath)) { sb.AppendLine("Warning! \"" + cdecryptPath + "\" not found! CDecrypt allows you to decrypt NUS Content for Loadiine."); warning = true; } if (warning) { Log.WriteLine(sb.ToString()); MessageBox.Show(sb.ToString(), "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } if (NUSContent.CheckCommonKeyFiles()) { Log.WriteLine("Wii U Common Key files: OK!"); textBoxCommonKey.Enabled = false; panelCommonKey.BackgroundImage = Properties.Resources.checkmark_16; } else { Log.WriteLine("Wii U Common Key files: Not found."); textBoxCommonKey.Enabled = true; panelCommonKey.BackgroundImage = Properties.Resources.x_mark_16; } }
public void Run(string[] args) { if (args.Length == 1) { Log.WriteLine("Path: \"" + args[0] + "\""); if (NUSContent.CheckCommonKeyFiles()) { try { NUSContent.Format format = NUSContent.GetFormat(args[0]); string output = args[0]; if (format == NUSContent.Format.Encrypted) { Log.WriteLine("Ecrypted format detected."); output += " (Decrypted)"; Log.WriteLine("Input: \"" + args[0] + "\""); Log.WriteLine("Output: \"" + output + "\""); Log.WriteLine("Decrypting..."); Directory.CreateDirectory(output); NUSContent.Decrypt(args[0], output); Log.WriteLine("Decrypted!"); MessageBox.Show("Output: \"" + output + "\"", "Decrypted!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (format == NUSContent.Format.Decrypted) { Log.WriteLine("Decrypted format detected."); output += " (Encrypted)"; Log.WriteLine("Input: \"" + args[0] + "\""); Log.WriteLine("Output: \"" + output + "\""); Log.WriteLine("Encrypting..."); NUSContent.Encrypt(args[0], output); Log.WriteLine("Encrypted!"); MessageBox.Show("Output: \"" + output + "\"", "Encrypted!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else Log.WriteLine("NUS Content format was not detected."); } catch (Exception e) { Log.WriteLine(e.ToString()); } } else { Log.WriteLine("First load the Wii U Common Key!"); Log.WriteLine("Use: key XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); } } else if (args.Length == 2 && args[0] == "key") { if (NUSContent.LoadKey(args[1])) { Log.WriteLine("Valid Wii U Common Key."); Log.WriteLine("The key was successfully loaded!"); } else Log.WriteLine("Invalid Wii U Common Key!"); } else { if (!NUSContent.CheckCommonKeyFiles()) Log.WriteLine("To load the Wii U Common Key use: key XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); Log.WriteLine(""); Log.WriteLine("Usage: <input path>"); } }