Working on Wii System Update SOAP emulation...

This commit is contained in:
givememystuffplease 2009-08-06 02:37:39 +00:00
parent 94d0178987
commit 1624f99973
3 changed files with 233 additions and 37 deletions

View File

@ -30,7 +30,7 @@
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.TMDButton = new System.Windows.Forms.Button(); this.Extrasbtn = new System.Windows.Forms.Button();
this.titleidbox = new System.Windows.Forms.TextBox(); this.titleidbox = new System.Windows.Forms.TextBox();
this.downloadstartbtn = new System.Windows.Forms.Button(); this.downloadstartbtn = new System.Windows.Forms.Button();
this.statusbox = new System.Windows.Forms.TextBox(); this.statusbox = new System.Windows.Forms.TextBox();
@ -65,6 +65,8 @@
this.WiiWareMenuList = new System.Windows.Forms.ToolStripMenuItem(); this.WiiWareMenuList = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.RegionCodesList = new System.Windows.Forms.ToolStripMenuItem(); this.RegionCodesList = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.updateDatabaseToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.truchabox = new System.Windows.Forms.CheckBox(); this.truchabox = new System.Windows.Forms.CheckBox();
this.tmdgpbox = new System.Windows.Forms.GroupBox(); this.tmdgpbox = new System.Windows.Forms.GroupBox();
this.tmdversiontrucha = new System.Windows.Forms.TextBox(); this.tmdversiontrucha = new System.Windows.Forms.TextBox();
@ -107,24 +109,31 @@
this.radioButton1 = new System.Windows.Forms.RadioButton(); this.radioButton1 = new System.Windows.Forms.RadioButton();
this.radioButton2 = new System.Windows.Forms.RadioButton(); this.radioButton2 = new System.Windows.Forms.RadioButton();
this.button17 = new System.Windows.Forms.Button(); this.button17 = new System.Windows.Forms.Button();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.extrasStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
this.updateDatabaseToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.loadInfoFromTMDToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.emulateUpdate = new System.Windows.Forms.ToolStripMenuItem();
this.uSANTSCToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.europePALToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.japanNTSCJToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.koreaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.databaseStrip.SuspendLayout(); this.databaseStrip.SuspendLayout();
this.tmdgpbox.SuspendLayout(); this.tmdgpbox.SuspendLayout();
this.ticketgpbox.SuspendLayout(); this.ticketgpbox.SuspendLayout();
this.contentModBox.SuspendLayout(); this.contentModBox.SuspendLayout();
this.extrasStrip.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// TMDButton // Extrasbtn
// //
this.TMDButton.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.Extrasbtn.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.TMDButton.Location = new System.Drawing.Point(128, 12); this.Extrasbtn.Location = new System.Drawing.Point(125, 12);
this.TMDButton.Name = "TMDButton"; this.Extrasbtn.Name = "Extrasbtn";
this.TMDButton.Size = new System.Drawing.Size(50, 20); this.Extrasbtn.Size = new System.Drawing.Size(55, 20);
this.TMDButton.TabIndex = 0; this.Extrasbtn.TabIndex = 0;
this.TMDButton.Text = "TMD..."; this.Extrasbtn.Text = "Extras...";
this.TMDButton.UseVisualStyleBackColor = true; this.Extrasbtn.UseVisualStyleBackColor = true;
this.TMDButton.Click += new System.EventHandler(this.button1_Click); this.Extrasbtn.Click += new System.EventHandler(this.button1_Click);
// //
// titleidbox // titleidbox
// //
@ -218,6 +227,7 @@
// label2 // label2
// //
this.label2.AutoSize = true; this.label2.AutoSize = true;
this.label2.BackColor = System.Drawing.Color.Transparent;
this.label2.Location = new System.Drawing.Point(9, 16); this.label2.Location = new System.Drawing.Point(9, 16);
this.label2.Name = "label2"; this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(113, 13); this.label2.Size = new System.Drawing.Size(113, 13);
@ -281,9 +291,9 @@
// databaseButton // databaseButton
// //
this.databaseButton.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.databaseButton.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.databaseButton.Location = new System.Drawing.Point(184, 12); this.databaseButton.Location = new System.Drawing.Point(186, 12);
this.databaseButton.Name = "databaseButton"; this.databaseButton.Name = "databaseButton";
this.databaseButton.Size = new System.Drawing.Size(78, 20); this.databaseButton.Size = new System.Drawing.Size(76, 20);
this.databaseButton.TabIndex = 20; this.databaseButton.TabIndex = 20;
this.databaseButton.Text = "Database..."; this.databaseButton.Text = "Database...";
this.databaseButton.UseVisualStyleBackColor = true; this.databaseButton.UseVisualStyleBackColor = true;
@ -302,7 +312,7 @@
this.updateDatabaseToolStripMenuItem}); this.updateDatabaseToolStripMenuItem});
this.databaseStrip.Name = "databaseStrip"; this.databaseStrip.Name = "databaseStrip";
this.databaseStrip.ShowItemToolTips = false; this.databaseStrip.ShowItemToolTips = false;
this.databaseStrip.Size = new System.Drawing.Size(164, 170); this.databaseStrip.Size = new System.Drawing.Size(164, 148);
// //
// SystemMenuList // SystemMenuList
// //
@ -419,6 +429,18 @@
this.RegionCodesList.Text = "Region Codes"; this.RegionCodesList.Text = "Region Codes";
this.RegionCodesList.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.RegionCodesList_DropDownItemClicked); this.RegionCodesList.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.RegionCodesList_DropDownItemClicked);
// //
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(160, 6);
//
// updateDatabaseToolStripMenuItem
//
this.updateDatabaseToolStripMenuItem.Name = "updateDatabaseToolStripMenuItem";
this.updateDatabaseToolStripMenuItem.Size = new System.Drawing.Size(163, 22);
this.updateDatabaseToolStripMenuItem.Text = "Update Database";
this.updateDatabaseToolStripMenuItem.Click += new System.EventHandler(this.updateDatabaseToolStripMenuItem_Click);
//
// truchabox // truchabox
// //
this.truchabox.AutoSize = true; this.truchabox.AutoSize = true;
@ -877,17 +899,63 @@
this.button17.UseVisualStyleBackColor = true; this.button17.UseVisualStyleBackColor = true;
this.button17.Click += new System.EventHandler(this.button17_Click); this.button17.Click += new System.EventHandler(this.button17_Click);
// //
// toolStripSeparator2 // extrasStrip
// //
this.toolStripSeparator2.Name = "toolStripSeparator2"; this.extrasStrip.AllowMerge = false;
this.toolStripSeparator2.Size = new System.Drawing.Size(160, 6); this.extrasStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.loadInfoFromTMDToolStripMenuItem,
this.toolStripSeparator3,
this.emulateUpdate});
this.extrasStrip.Name = "extrasStrip";
this.extrasStrip.Size = new System.Drawing.Size(220, 76);
// //
// updateDatabaseToolStripMenuItem // loadInfoFromTMDToolStripMenuItem
// //
this.updateDatabaseToolStripMenuItem.Name = "updateDatabaseToolStripMenuItem"; this.loadInfoFromTMDToolStripMenuItem.Name = "loadInfoFromTMDToolStripMenuItem";
this.updateDatabaseToolStripMenuItem.Size = new System.Drawing.Size(163, 22); this.loadInfoFromTMDToolStripMenuItem.Size = new System.Drawing.Size(219, 22);
this.updateDatabaseToolStripMenuItem.Text = "Update Database"; this.loadInfoFromTMDToolStripMenuItem.Text = "Load Info from TMD";
this.updateDatabaseToolStripMenuItem.Click += new System.EventHandler(this.updateDatabaseToolStripMenuItem_Click); this.loadInfoFromTMDToolStripMenuItem.Click += new System.EventHandler(this.loadInfoFromTMDToolStripMenuItem_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(216, 6);
//
// emulateUpdate
//
this.emulateUpdate.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.uSANTSCToolStripMenuItem,
this.europePALToolStripMenuItem,
this.japanNTSCJToolStripMenuItem,
this.koreaToolStripMenuItem});
this.emulateUpdate.Name = "emulateUpdate";
this.emulateUpdate.Size = new System.Drawing.Size(219, 22);
this.emulateUpdate.Text = "Emulate Wii System Update";
this.emulateUpdate.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.emulateUpdate_DropDownItemClicked);
//
// uSANTSCToolStripMenuItem
//
this.uSANTSCToolStripMenuItem.Name = "uSANTSCToolStripMenuItem";
this.uSANTSCToolStripMenuItem.Size = new System.Drawing.Size(154, 22);
this.uSANTSCToolStripMenuItem.Text = "USA (NTSC)";
//
// europePALToolStripMenuItem
//
this.europePALToolStripMenuItem.Name = "europePALToolStripMenuItem";
this.europePALToolStripMenuItem.Size = new System.Drawing.Size(154, 22);
this.europePALToolStripMenuItem.Text = "Europe (PAL)";
//
// japanNTSCJToolStripMenuItem
//
this.japanNTSCJToolStripMenuItem.Name = "japanNTSCJToolStripMenuItem";
this.japanNTSCJToolStripMenuItem.Size = new System.Drawing.Size(154, 22);
this.japanNTSCJToolStripMenuItem.Text = "Japan (NTSC-J)";
//
// koreaToolStripMenuItem
//
this.koreaToolStripMenuItem.Name = "koreaToolStripMenuItem";
this.koreaToolStripMenuItem.Size = new System.Drawing.Size(154, 22);
this.koreaToolStripMenuItem.Text = "Korea";
// //
// Form1 // Form1
// //
@ -922,7 +990,7 @@
this.Controls.Add(this.statusbox); this.Controls.Add(this.statusbox);
this.Controls.Add(this.downloadstartbtn); this.Controls.Add(this.downloadstartbtn);
this.Controls.Add(this.titleidbox); this.Controls.Add(this.titleidbox);
this.Controls.Add(this.TMDButton); this.Controls.Add(this.Extrasbtn);
this.Controls.Add(this.button6); this.Controls.Add(this.button6);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
@ -938,6 +1006,7 @@
this.ticketgpbox.ResumeLayout(false); this.ticketgpbox.ResumeLayout(false);
this.ticketgpbox.PerformLayout(); this.ticketgpbox.PerformLayout();
this.contentModBox.ResumeLayout(false); this.contentModBox.ResumeLayout(false);
this.extrasStrip.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -945,7 +1014,7 @@
#endregion #endregion
private System.Windows.Forms.Button TMDButton; private System.Windows.Forms.Button Extrasbtn;
private System.Windows.Forms.TextBox titleidbox; private System.Windows.Forms.TextBox titleidbox;
private System.Windows.Forms.Button downloadstartbtn; private System.Windows.Forms.Button downloadstartbtn;
private System.Windows.Forms.TextBox statusbox; private System.Windows.Forms.TextBox statusbox;
@ -1024,6 +1093,14 @@
private System.Windows.Forms.Button button17; private System.Windows.Forms.Button button17;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripMenuItem updateDatabaseToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem updateDatabaseToolStripMenuItem;
private System.Windows.Forms.ContextMenuStrip extrasStrip;
private System.Windows.Forms.ToolStripMenuItem loadInfoFromTMDToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripMenuItem emulateUpdate;
private System.Windows.Forms.ToolStripMenuItem uSANTSCToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem europePALToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem japanNTSCJToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem koreaToolStripMenuItem;
} }
} }

View File

@ -8,6 +8,7 @@ using System.Drawing;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.ComponentModel; using System.ComponentModel;
using System.Threading; using System.Threading;
using System.Text;
namespace NUS_Downloader namespace NUS_Downloader
@ -17,7 +18,7 @@ namespace NUS_Downloader
const string NUSURL = "http://nus.cdn.shop.wii.com/ccs/download/"; const string NUSURL = "http://nus.cdn.shop.wii.com/ccs/download/";
const string DSiNUSURL = "http://nus.cdn.t.shop.nintendowifi.net/ccs/download/"; const string DSiNUSURL = "http://nus.cdn.t.shop.nintendowifi.net/ccs/download/";
// TODO: Always remember to change version! // TODO: Always remember to change version!
string version = "v1.2"; string version = "v1.3";
WebClient generalWC = new WebClient(); WebClient generalWC = new WebClient();
static RijndaelManaged rijndaelCipher; static RijndaelManaged rijndaelCipher;
static bool dsidecrypt = false; static bool dsidecrypt = false;
@ -156,8 +157,6 @@ namespace NUS_Downloader
{ {
this.Text = "NUSD - " + version + " - WB3000"; this.Text = "NUSD - " + version + " - WB3000";
this.Size = this.MinimumSize; this.Size = this.MinimumSize;
} }
private bool BootChecks() private bool BootChecks()
@ -235,8 +234,8 @@ namespace NUS_Downloader
{ {
WriteStatus("Database.xml not found. Title database not usable!"); WriteStatus("Database.xml not found. Title database not usable!");
databaseButton.Visible = false; databaseButton.Visible = false;
TMDButton.Size = new System.Drawing.Size(134, 20); Extrasbtn.Size = new System.Drawing.Size(134, 20);
TMDButton.Anchor = AnchorStyles.Right; Extrasbtn.Anchor = AnchorStyles.Right;
} }
else else
{ {
@ -268,6 +267,12 @@ namespace NUS_Downloader
} }
private void button1_Click(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e)
{
// Show extras menu
extrasStrip.Show(Extrasbtn, 2, 2);
}
private void LoadTitleFromTMD()
{ {
// Show dialog for opening TMD file... // Show dialog for opening TMD file...
OpenFileDialog opentmd = new OpenFileDialog(); OpenFileDialog opentmd = new OpenFileDialog();
@ -324,7 +329,7 @@ namespace NUS_Downloader
byte[] hash = new byte[20]; byte[] hash = new byte[20];
for (int x = 0; x < 20; x++) for (int x = 0; x < 20; x++)
{ {
hash[x] = tmdhashes[(i*20)+x]; hash[x] = tmdhashes[(i * 20) + x];
} }
WriteStatus(" - Hash: " + DisplayBytes(hash, "").Substring(0, 8) + "..."); WriteStatus(" - Hash: " + DisplayBytes(hash, "").Substring(0, 8) + "...");
WriteStatus(" - Index: " + tmdindices[i]); WriteStatus(" - Index: " + tmdindices[i]);
@ -2207,7 +2212,7 @@ namespace NUS_Downloader
downloadstartbtn.Enabled = enabled; downloadstartbtn.Enabled = enabled;
titleidbox.Enabled = enabled; titleidbox.Enabled = enabled;
titleversion.Enabled = enabled; titleversion.Enabled = enabled;
TMDButton.Enabled = enabled; Extrasbtn.Enabled = enabled;
databaseButton.Enabled = enabled; databaseButton.Enabled = enabled;
packbox.Enabled = enabled; packbox.Enabled = enabled;
localuse.Enabled = enabled; localuse.Enabled = enabled;
@ -3167,7 +3172,9 @@ namespace NUS_Downloader
{ {
// Retrieve Wiibrew database page source code // Retrieve Wiibrew database page source code
WebClient databasedl = new WebClient(); WebClient databasedl = new WebClient();
statusbox.Refresh();
string wiibrewsource = databasedl.DownloadString("http://www.wiibrew.org/wiki/NUS_Downloader/database"); string wiibrewsource = databasedl.DownloadString("http://www.wiibrew.org/wiki/NUS_Downloader/database");
statusbox.Refresh();
// Strip out HTML // Strip out HTML
wiibrewsource = Regex.Replace(wiibrewsource, @"<(.|\n)*?>", ""); wiibrewsource = Regex.Replace(wiibrewsource, @"<(.|\n)*?>", "");
@ -3178,11 +3185,11 @@ namespace NUS_Downloader
wiibrewsource = wiibrewsource.Substring(wiibrewsource.IndexOf(startofdatabase), wiibrewsource.Length - wiibrewsource.IndexOf(startofdatabase)); wiibrewsource = wiibrewsource.Substring(wiibrewsource.IndexOf(startofdatabase), wiibrewsource.Length - wiibrewsource.IndexOf(startofdatabase));
wiibrewsource = wiibrewsource.Substring(0, wiibrewsource.IndexOf(endofdatabase) + endofdatabase.Length); wiibrewsource = wiibrewsource.Substring(0, wiibrewsource.IndexOf(endofdatabase) + endofdatabase.Length);
// Fix ", <, and > // Fix ", <, >, and spaces
wiibrewsource = wiibrewsource.Replace("&lt;","<"); wiibrewsource = wiibrewsource.Replace("&lt;","<");
wiibrewsource = wiibrewsource.Replace("&gt;",">"); wiibrewsource = wiibrewsource.Replace("&gt;",">");
wiibrewsource = wiibrewsource.Replace("&quot;",'"'.ToString()); wiibrewsource = wiibrewsource.Replace("&quot;",'"'.ToString());
wiibrewsource = wiibrewsource.Replace("&nbsp;", ""); // Shouldn't occur, but they happen... wiibrewsource = wiibrewsource.Replace("&nbsp;", " "); // Shouldn't occur, but they happen...
// Return parsed xml database... // Return parsed xml database...
return wiibrewsource; return wiibrewsource;
@ -3192,13 +3199,13 @@ namespace NUS_Downloader
{ {
statusbox.Text = ""; statusbox.Text = "";
WriteStatus("Updating your database.xml from Wiibrew.org"); WriteStatus("Updating your database.xml from Wiibrew.org");
WriteStatus(" - Database successfully parsed!");
string database = RetrieveNewDatabase(); string database = RetrieveNewDatabase();
string currentversion = GetDatabaseVersion("database.xml"); string currentversion = GetDatabaseVersion("database.xml");
string onlineversion = GetDatabaseVersion(database); string onlineversion = GetDatabaseVersion(database);
WriteStatus(" - Current Database Version: " + currentversion); WriteStatus(" - Database successfully parsed!");
WriteStatus(" - Online Database Version: " + onlineversion); WriteStatus(" - Current Database Version: " + currentversion);
WriteStatus(" - Online Database Version: " + onlineversion);
if (currentversion == onlineversion) if (currentversion == onlineversion)
{ {
@ -3216,5 +3223,114 @@ namespace NUS_Downloader
WriteStatus("Database successfully updated!"); WriteStatus("Database successfully updated!");
} }
private void loadInfoFromTMDToolStripMenuItem_Click(object sender, EventArgs e)
{
// Extras menu -> Load TMD...
LoadTitleFromTMD();
}
public string SendSOAPRequest(string soap_xml)
{
System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create("http://nus.shop.wii.com:80/nus/services/NetUpdateSOAP");
req.Method = "POST";
req.UserAgent = "wii libnup/1.0";
req.Headers.Add("SOAPAction", '"' + "urn:nus.wsapi.broadon.com/" + '"');
Stream writeStream = req.GetRequestStream();
UTF8Encoding encoding = new UTF8Encoding();
byte[] bytes = encoding.GetBytes(soap_xml);
req.ContentType = "text/xml; charset=utf-8";
//req.ContentLength = bytes.Length;
writeStream.Write(bytes, 0, bytes.Length);
writeStream.Close();
Application.DoEvents();
try
{
string result;
System.Net.HttpWebResponse resp = (System.Net.HttpWebResponse)req.GetResponse();
using (Stream responseStream = resp.GetResponseStream())
{
using (StreamReader readStream = new StreamReader(responseStream, Encoding.UTF8))
{
result = readStream.ReadToEnd();
}
}
req.Abort();
Application.DoEvents();
return result;
}
catch (Exception ex)
{
req.Abort();
return ex.Message.ToString();
}
}
private void emulateUpdate_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
// Begin Wii System Update
WriteStatus("Starting Wii System Update...");
extrasStrip.Close();
string deviceID = "4362227770";
string messageID = "13198105123219138";
string attr = "2";
string RegionID = "USA";
string CountryCode = "US";
// TODO: Specific region/ccodes
string soap_req = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"" +
" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"" +
" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
"<soapenv:Body>\n<GetSystemUpdateRequest xmlns=\"urn:nus.wsapi.broadon.com\">\n" +
"<Version>1.0</Version>\n<MessageId>" + messageID + "</MessageId>\n<DeviceId>" + deviceID + "</DeviceId>\n" +
"<RegionId>" + RegionID + "</RegionId>\n<CountryCode>" + CountryCode + "</CountryCode>\n<TitleVersion>\n<TitleId>0000000100000001</TitleId>\n" +
"<Version>2</Version>\n</TitleVersion>\n<TitleVersion>\n<TitleId>0000000100000002</TitleId>\n" +
"<Version>33</Version>\n</TitleVersion>\n<TitleVersion>\n<TitleId>0000000100000009</TitleId>\n" +
"<Version>516</Version>\n</TitleVersion>\n<Attribute>" + attr + "</Attribute>\n<AuditData></AuditData>\n" +
"</GetSystemUpdateRequest>\n</soapenv:Body>\n</soapenv:Envelope>";
WriteStatus(" - Sending SOAP Request to NUS...");
string update_xml = SendSOAPRequest(soap_req);
if (update_xml != null)
WriteStatus(" - Recieved Update Info!");
else
{
WriteStatus(" - Fail.");
return;
}
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(update_xml);
XmlNodeList TitleList = xDoc.GetElementsByTagName("TitleVersion");
for (int a = 0; a < TitleList.Count; a++)
{
XmlNodeList TitleInfo = TitleList[a].ChildNodes;
string TitleID = "";
string Version = "";
for (int b = 0; b < TitleInfo.Count; b++)
{
switch (TitleInfo[b].Name)
{
case "TitleId":
TitleID = TitleInfo[b].InnerText;
break;
case "Version":
Version = TitleInfo[b].InnerText;
break;
default:
break;
}
}
WriteStatus(String.Format("{0}v{1}", TitleID, Version));
}
}
} }
} }

View File

@ -330,6 +330,9 @@
1sV/DvoUn9RT8j8FdlkrvvDH+0eqk6iKjzT6K8x9ib8G3pPIf5i62eYpA0TWAAAAAElFTkSuQmCC 1sV/DvoUn9RT8j8FdlkrvvDH+0eqk6iKjzT6K8x9ib8G3pPIf5i62eYpA0TWAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<metadata name="extrasStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>285, 17</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAABAAUAEBAAAAAAIABoBAAAVgAAACAgAAAAACAAqBAAAL4EAAAwMAAAAAAgAKglAABmFQAAQEAAAAAA AAABAAUAEBAAAAAAIABoBAAAVgAAACAgAAAAACAAqBAAAL4EAAAwMAAAAAAgAKglAABmFQAAQEAAAAAA