mirror of
https://github.com/WiiDatabase/nusdownloader.git
synced 2024-11-23 10:49:16 +01:00
Initial Trucha GUI (eh)
This commit is contained in:
parent
6f157a9b3e
commit
3a26a226b1
411
NUS Downloader/Form1.Designer.cs
generated
411
NUS Downloader/Form1.Designer.cs
generated
@ -32,7 +32,7 @@
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
|
||||
this.TMDButton = new System.Windows.Forms.Button();
|
||||
this.titleidbox = new System.Windows.Forms.TextBox();
|
||||
this.button3 = new System.Windows.Forms.Button();
|
||||
this.downloadstartbtn = new System.Windows.Forms.Button();
|
||||
this.statusbox = new System.Windows.Forms.TextBox();
|
||||
this.packbox = new System.Windows.Forms.CheckBox();
|
||||
this.dlprogress = new System.Windows.Forms.ProgressBar();
|
||||
@ -68,7 +68,36 @@
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.RegionCodesList = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.truchabox = new System.Windows.Forms.CheckBox();
|
||||
this.tmdgpbox = new System.Windows.Forms.GroupBox();
|
||||
this.tmdversiontrucha = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.newtitleidbox = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.requiredIOSbox = new System.Windows.Forms.TextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.ticketgpbox = new System.Windows.Forms.GroupBox();
|
||||
this.timelimitsecs = new System.Windows.Forms.TextBox();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.timelimitenabledcb = new System.Windows.Forms.ComboBox();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.ckeyindexcb = new System.Windows.Forms.ComboBox();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.dlcamntbox = new System.Windows.Forms.TextBox();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.titleIDIV = new System.Windows.Forms.TextBox();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.titlekeybox = new System.Windows.Forms.TextBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.button4 = new System.Windows.Forms.Button();
|
||||
this.button5 = new System.Windows.Forms.Button();
|
||||
this.button6 = new System.Windows.Forms.Button();
|
||||
this.button7 = new System.Windows.Forms.Button();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.shamelessvariablelabel = new System.Windows.Forms.Label();
|
||||
this.databaseStrip.SuspendLayout();
|
||||
this.tmdgpbox.SuspendLayout();
|
||||
this.ticketgpbox.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// TMDButton
|
||||
@ -84,8 +113,6 @@
|
||||
//
|
||||
// titleidbox
|
||||
//
|
||||
this.titleidbox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.titleidbox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.titleidbox.Location = new System.Drawing.Point(12, 38);
|
||||
this.titleidbox.MaxLength = 16;
|
||||
@ -95,24 +122,19 @@
|
||||
this.titleidbox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.titleidbox.TextChanged += new System.EventHandler(this.titleidbox_TextChanged);
|
||||
//
|
||||
// button3
|
||||
// downloadstartbtn
|
||||
//
|
||||
this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
|
||||
this.button3.Location = new System.Drawing.Point(12, 64);
|
||||
this.button3.Name = "button3";
|
||||
this.button3.Size = new System.Drawing.Size(250, 25);
|
||||
this.button3.TabIndex = 4;
|
||||
this.button3.Text = "Start NUS Download!";
|
||||
this.button3.UseVisualStyleBackColor = true;
|
||||
this.button3.Click += new System.EventHandler(this.button3_Click);
|
||||
this.downloadstartbtn.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
|
||||
this.downloadstartbtn.Location = new System.Drawing.Point(12, 64);
|
||||
this.downloadstartbtn.Name = "downloadstartbtn";
|
||||
this.downloadstartbtn.Size = new System.Drawing.Size(250, 25);
|
||||
this.downloadstartbtn.TabIndex = 4;
|
||||
this.downloadstartbtn.Text = "Start NUS Download!";
|
||||
this.downloadstartbtn.UseVisualStyleBackColor = true;
|
||||
this.downloadstartbtn.Click += new System.EventHandler(this.button3_Click);
|
||||
//
|
||||
// statusbox
|
||||
//
|
||||
this.statusbox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.statusbox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.statusbox.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.statusbox.Location = new System.Drawing.Point(12, 116);
|
||||
@ -123,7 +145,6 @@
|
||||
//
|
||||
// packbox
|
||||
//
|
||||
this.packbox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.packbox.AutoSize = true;
|
||||
this.packbox.Location = new System.Drawing.Point(12, 422);
|
||||
this.packbox.Name = "packbox";
|
||||
@ -135,8 +156,6 @@
|
||||
//
|
||||
// dlprogress
|
||||
//
|
||||
this.dlprogress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.dlprogress.Location = new System.Drawing.Point(12, 95);
|
||||
this.dlprogress.Name = "dlprogress";
|
||||
this.dlprogress.Size = new System.Drawing.Size(250, 15);
|
||||
@ -145,7 +164,6 @@
|
||||
//
|
||||
// localuse
|
||||
//
|
||||
this.localuse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.localuse.AutoSize = true;
|
||||
this.localuse.Checked = true;
|
||||
this.localuse.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
@ -163,7 +181,6 @@
|
||||
//
|
||||
// titleversion
|
||||
//
|
||||
this.titleversion.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.titleversion.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.titleversion.Location = new System.Drawing.Point(204, 38);
|
||||
this.titleversion.MaxLength = 8;
|
||||
@ -175,7 +192,6 @@
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.BackColor = System.Drawing.Color.Transparent;
|
||||
this.label1.Location = new System.Drawing.Point(194, 45);
|
||||
@ -195,7 +211,6 @@
|
||||
//
|
||||
// radioButton2
|
||||
//
|
||||
this.radioButton2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.radioButton2.Image = global::NUS_Downloader.Properties.Resources.dsi;
|
||||
this.radioButton2.ImageAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||
this.radioButton2.Location = new System.Drawing.Point(78, 385);
|
||||
@ -207,7 +222,6 @@
|
||||
//
|
||||
// radioButton1
|
||||
//
|
||||
this.radioButton1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.radioButton1.BackColor = System.Drawing.Color.Transparent;
|
||||
this.radioButton1.Checked = true;
|
||||
this.radioButton1.Image = global::NUS_Downloader.Properties.Resources.wilolgoi;
|
||||
@ -221,7 +235,6 @@
|
||||
//
|
||||
// button2
|
||||
//
|
||||
this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
|
||||
this.button2.Location = new System.Drawing.Point(184, 390);
|
||||
this.button2.Name = "button2";
|
||||
@ -233,9 +246,6 @@
|
||||
//
|
||||
// getcerts
|
||||
//
|
||||
this.getcerts.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.getcerts.BackColor = System.Drawing.Color.Bisque;
|
||||
this.getcerts.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
|
||||
this.getcerts.Location = new System.Drawing.Point(48, 246);
|
||||
@ -248,7 +258,6 @@
|
||||
//
|
||||
// wadnamebox
|
||||
//
|
||||
this.wadnamebox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.wadnamebox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.wadnamebox.Enabled = false;
|
||||
this.wadnamebox.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
@ -260,7 +269,6 @@
|
||||
//
|
||||
// ignoreticket
|
||||
//
|
||||
this.ignoreticket.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.ignoreticket.AutoSize = true;
|
||||
this.ignoreticket.Location = new System.Drawing.Point(12, 445);
|
||||
this.ignoreticket.Name = "ignoreticket";
|
||||
@ -271,7 +279,6 @@
|
||||
//
|
||||
// decryptbox
|
||||
//
|
||||
this.decryptbox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.decryptbox.AutoSize = true;
|
||||
this.decryptbox.Location = new System.Drawing.Point(154, 445);
|
||||
this.decryptbox.Name = "decryptbox";
|
||||
@ -282,8 +289,6 @@
|
||||
//
|
||||
// databaseButton
|
||||
//
|
||||
this.databaseButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.databaseButton.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
|
||||
this.databaseButton.Location = new System.Drawing.Point(184, 12);
|
||||
this.databaseButton.Name = "databaseButton";
|
||||
@ -422,7 +427,6 @@
|
||||
//
|
||||
// truchabox
|
||||
//
|
||||
this.truchabox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.truchabox.AutoSize = true;
|
||||
this.truchabox.Location = new System.Drawing.Point(184, 468);
|
||||
this.truchabox.Name = "truchabox";
|
||||
@ -431,11 +435,306 @@
|
||||
this.truchabox.Text = "Trucha";
|
||||
this.truchabox.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tmdgpbox
|
||||
//
|
||||
this.tmdgpbox.Controls.Add(this.tmdversiontrucha);
|
||||
this.tmdgpbox.Controls.Add(this.label5);
|
||||
this.tmdgpbox.Controls.Add(this.newtitleidbox);
|
||||
this.tmdgpbox.Controls.Add(this.label4);
|
||||
this.tmdgpbox.Controls.Add(this.requiredIOSbox);
|
||||
this.tmdgpbox.Controls.Add(this.label3);
|
||||
this.tmdgpbox.Location = new System.Drawing.Point(278, 12);
|
||||
this.tmdgpbox.Name = "tmdgpbox";
|
||||
this.tmdgpbox.Size = new System.Drawing.Size(249, 77);
|
||||
this.tmdgpbox.TabIndex = 22;
|
||||
this.tmdgpbox.TabStop = false;
|
||||
this.tmdgpbox.Text = "Fake (Trucha) TMD Signing...";
|
||||
//
|
||||
// tmdversiontrucha
|
||||
//
|
||||
this.tmdversiontrucha.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.tmdversiontrucha.Location = new System.Drawing.Point(181, 24);
|
||||
this.tmdversiontrucha.MaxLength = 6;
|
||||
this.tmdversiontrucha.Name = "tmdversiontrucha";
|
||||
this.tmdversiontrucha.Size = new System.Drawing.Size(62, 20);
|
||||
this.tmdversiontrucha.TabIndex = 5;
|
||||
this.tmdversiontrucha.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(130, 28);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(45, 13);
|
||||
this.label5.TabIndex = 4;
|
||||
this.label5.Text = "Version:";
|
||||
//
|
||||
// newtitleidbox
|
||||
//
|
||||
this.newtitleidbox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.newtitleidbox.Location = new System.Drawing.Point(80, 50);
|
||||
this.newtitleidbox.MaxLength = 16;
|
||||
this.newtitleidbox.Name = "newtitleidbox";
|
||||
this.newtitleidbox.Size = new System.Drawing.Size(163, 20);
|
||||
this.newtitleidbox.TabIndex = 3;
|
||||
this.newtitleidbox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(6, 54);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(69, 13);
|
||||
this.label4.TabIndex = 2;
|
||||
this.label4.Text = "New Title ID:";
|
||||
//
|
||||
// requiredIOSbox
|
||||
//
|
||||
this.requiredIOSbox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.requiredIOSbox.Location = new System.Drawing.Point(80, 24);
|
||||
this.requiredIOSbox.MaxLength = 3;
|
||||
this.requiredIOSbox.Name = "requiredIOSbox";
|
||||
this.requiredIOSbox.Size = new System.Drawing.Size(44, 20);
|
||||
this.requiredIOSbox.TabIndex = 1;
|
||||
this.requiredIOSbox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(6, 28);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(73, 13);
|
||||
this.label3.TabIndex = 0;
|
||||
this.label3.Text = "Requires IOS:";
|
||||
//
|
||||
// ticketgpbox
|
||||
//
|
||||
this.ticketgpbox.Controls.Add(this.timelimitsecs);
|
||||
this.ticketgpbox.Controls.Add(this.label11);
|
||||
this.ticketgpbox.Controls.Add(this.timelimitenabledcb);
|
||||
this.ticketgpbox.Controls.Add(this.label10);
|
||||
this.ticketgpbox.Controls.Add(this.ckeyindexcb);
|
||||
this.ticketgpbox.Controls.Add(this.label9);
|
||||
this.ticketgpbox.Controls.Add(this.dlcamntbox);
|
||||
this.ticketgpbox.Controls.Add(this.label8);
|
||||
this.ticketgpbox.Controls.Add(this.titleIDIV);
|
||||
this.ticketgpbox.Controls.Add(this.label7);
|
||||
this.ticketgpbox.Controls.Add(this.titlekeybox);
|
||||
this.ticketgpbox.Controls.Add(this.label6);
|
||||
this.ticketgpbox.Location = new System.Drawing.Point(278, 127);
|
||||
this.ticketgpbox.Name = "ticketgpbox";
|
||||
this.ticketgpbox.Size = new System.Drawing.Size(249, 125);
|
||||
this.ticketgpbox.TabIndex = 23;
|
||||
this.ticketgpbox.TabStop = false;
|
||||
this.ticketgpbox.Text = "Fake (Trucha) Ticket Signing...";
|
||||
//
|
||||
// timelimitsecs
|
||||
//
|
||||
this.timelimitsecs.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.timelimitsecs.Location = new System.Drawing.Point(95, 99);
|
||||
this.timelimitsecs.MaxLength = 200;
|
||||
this.timelimitsecs.Name = "timelimitsecs";
|
||||
this.timelimitsecs.Size = new System.Drawing.Size(62, 20);
|
||||
this.timelimitsecs.TabIndex = 15;
|
||||
this.timelimitsecs.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// label11
|
||||
//
|
||||
this.label11.AutoSize = true;
|
||||
this.label11.Location = new System.Drawing.Point(7, 101);
|
||||
this.label11.Name = "label11";
|
||||
this.label11.Size = new System.Drawing.Size(84, 13);
|
||||
this.label11.TabIndex = 14;
|
||||
this.label11.Text = "Time (Seconds):";
|
||||
//
|
||||
// timelimitenabledcb
|
||||
//
|
||||
this.timelimitenabledcb.FormattingEnabled = true;
|
||||
this.timelimitenabledcb.Items.AddRange(new object[] {
|
||||
"0 - Disabled",
|
||||
"1 - Enabled"});
|
||||
this.timelimitenabledcb.Location = new System.Drawing.Point(95, 72);
|
||||
this.timelimitenabledcb.Name = "timelimitenabledcb";
|
||||
this.timelimitenabledcb.Size = new System.Drawing.Size(149, 21);
|
||||
this.timelimitenabledcb.TabIndex = 13;
|
||||
//
|
||||
// label10
|
||||
//
|
||||
this.label10.AutoSize = true;
|
||||
this.label10.Location = new System.Drawing.Point(7, 75);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(57, 13);
|
||||
this.label10.TabIndex = 12;
|
||||
this.label10.Text = "Time Limit:";
|
||||
//
|
||||
// ckeyindexcb
|
||||
//
|
||||
this.ckeyindexcb.FormattingEnabled = true;
|
||||
this.ckeyindexcb.Items.AddRange(new object[] {
|
||||
"0 - Standard Key",
|
||||
"1 - Korean Key"});
|
||||
this.ckeyindexcb.Location = new System.Drawing.Point(95, 45);
|
||||
this.ckeyindexcb.Name = "ckeyindexcb";
|
||||
this.ckeyindexcb.Size = new System.Drawing.Size(149, 21);
|
||||
this.ckeyindexcb.TabIndex = 11;
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(7, 48);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(72, 13);
|
||||
this.label9.TabIndex = 10;
|
||||
this.label9.Text = "Common Key:";
|
||||
//
|
||||
// dlcamntbox
|
||||
//
|
||||
this.dlcamntbox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.dlcamntbox.Location = new System.Drawing.Point(95, 19);
|
||||
this.dlcamntbox.MaxLength = 6;
|
||||
this.dlcamntbox.Name = "dlcamntbox";
|
||||
this.dlcamntbox.Size = new System.Drawing.Size(62, 20);
|
||||
this.dlcamntbox.TabIndex = 9;
|
||||
this.dlcamntbox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(7, 21);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(82, 13);
|
||||
this.label8.TabIndex = 8;
|
||||
this.label8.Text = "Amount of DLC:";
|
||||
//
|
||||
// titleIDIV
|
||||
//
|
||||
this.titleIDIV.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.titleIDIV.Location = new System.Drawing.Point(64, 145);
|
||||
this.titleIDIV.MaxLength = 16;
|
||||
this.titleIDIV.Name = "titleIDIV";
|
||||
this.titleIDIV.Size = new System.Drawing.Size(149, 20);
|
||||
this.titleIDIV.TabIndex = 7;
|
||||
this.titleIDIV.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.titleIDIV.Visible = false;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(7, 152);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(65, 13);
|
||||
this.label7.TabIndex = 6;
|
||||
this.label7.Text = "Title ID / IV:";
|
||||
this.label7.Visible = false;
|
||||
//
|
||||
// titlekeybox
|
||||
//
|
||||
this.titlekeybox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.titlekeybox.Location = new System.Drawing.Point(64, 125);
|
||||
this.titlekeybox.MaxLength = 16;
|
||||
this.titlekeybox.Name = "titlekeybox";
|
||||
this.titlekeybox.Size = new System.Drawing.Size(149, 20);
|
||||
this.titlekeybox.TabIndex = 5;
|
||||
this.titlekeybox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.titlekeybox.Visible = false;
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(7, 127);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(51, 13);
|
||||
this.label6.TabIndex = 4;
|
||||
this.label6.Text = "Title Key:";
|
||||
this.label6.Visible = false;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
|
||||
this.button1.Location = new System.Drawing.Point(350, 95);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(177, 26);
|
||||
this.button1.TabIndex = 24;
|
||||
this.button1.Text = "Write Changes to TMD...";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click_1);
|
||||
//
|
||||
// button4
|
||||
//
|
||||
this.button4.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
|
||||
this.button4.Location = new System.Drawing.Point(350, 258);
|
||||
this.button4.Name = "button4";
|
||||
this.button4.Size = new System.Drawing.Size(177, 26);
|
||||
this.button4.TabIndex = 25;
|
||||
this.button4.Text = "Write Changes to Ticket...";
|
||||
this.button4.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button5
|
||||
//
|
||||
this.button5.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
|
||||
this.button5.Location = new System.Drawing.Point(278, 258);
|
||||
this.button5.Name = "button5";
|
||||
this.button5.Size = new System.Drawing.Size(66, 26);
|
||||
this.button5.TabIndex = 26;
|
||||
this.button5.Text = "Revert";
|
||||
this.button5.UseVisualStyleBackColor = true;
|
||||
this.button5.Click += new System.EventHandler(this.button5_Click);
|
||||
//
|
||||
// button6
|
||||
//
|
||||
this.button6.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
|
||||
this.button6.Location = new System.Drawing.Point(278, 95);
|
||||
this.button6.Name = "button6";
|
||||
this.button6.Size = new System.Drawing.Size(66, 26);
|
||||
this.button6.TabIndex = 27;
|
||||
this.button6.Text = "Revert";
|
||||
this.button6.UseVisualStyleBackColor = true;
|
||||
this.button6.Click += new System.EventHandler(this.button6_Click);
|
||||
//
|
||||
// button7
|
||||
//
|
||||
this.button7.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
|
||||
this.button7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.button7.Location = new System.Drawing.Point(278, 290);
|
||||
this.button7.Name = "button7";
|
||||
this.button7.Size = new System.Drawing.Size(249, 27);
|
||||
this.button7.TabIndex = 28;
|
||||
this.button7.Text = "Continue Operations...";
|
||||
this.button7.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label12
|
||||
//
|
||||
this.label12.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.label12.Location = new System.Drawing.Point(278, 335);
|
||||
this.label12.Name = "label12";
|
||||
this.label12.Size = new System.Drawing.Size(249, 148);
|
||||
this.label12.TabIndex = 29;
|
||||
this.label12.Text = resources.GetString("label12.Text");
|
||||
this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// shamelessvariablelabel
|
||||
//
|
||||
this.shamelessvariablelabel.AutoSize = true;
|
||||
this.shamelessvariablelabel.Location = new System.Drawing.Point(285, 322);
|
||||
this.shamelessvariablelabel.Name = "shamelessvariablelabel";
|
||||
this.shamelessvariablelabel.Size = new System.Drawing.Size(0, 13);
|
||||
this.shamelessvariablelabel.TabIndex = 30;
|
||||
this.shamelessvariablelabel.Visible = false;
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(274, 496);
|
||||
this.ClientSize = new System.Drawing.Size(539, 492);
|
||||
this.Controls.Add(this.shamelessvariablelabel);
|
||||
this.Controls.Add(this.label12);
|
||||
this.Controls.Add(this.button6);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.button7);
|
||||
this.Controls.Add(this.ticketgpbox);
|
||||
this.Controls.Add(this.button5);
|
||||
this.Controls.Add(this.button4);
|
||||
this.Controls.Add(this.tmdgpbox);
|
||||
this.Controls.Add(this.truchabox);
|
||||
this.Controls.Add(this.databaseButton);
|
||||
this.Controls.Add(this.decryptbox);
|
||||
@ -452,15 +751,22 @@
|
||||
this.Controls.Add(this.dlprogress);
|
||||
this.Controls.Add(this.packbox);
|
||||
this.Controls.Add(this.statusbox);
|
||||
this.Controls.Add(this.button3);
|
||||
this.Controls.Add(this.downloadstartbtn);
|
||||
this.Controls.Add(this.titleidbox);
|
||||
this.Controls.Add(this.TMDButton);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MinimumSize = new System.Drawing.Size(290, 534);
|
||||
this.MaximizeBox = false;
|
||||
this.MaximumSize = new System.Drawing.Size(545, 520);
|
||||
this.MinimumSize = new System.Drawing.Size(280, 520);
|
||||
this.Name = "Form1";
|
||||
this.Text = "NUSD";
|
||||
this.Load += new System.EventHandler(this.Form1_Load);
|
||||
this.databaseStrip.ResumeLayout(false);
|
||||
this.tmdgpbox.ResumeLayout(false);
|
||||
this.tmdgpbox.PerformLayout();
|
||||
this.ticketgpbox.ResumeLayout(false);
|
||||
this.ticketgpbox.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
@ -470,7 +776,7 @@
|
||||
|
||||
private System.Windows.Forms.Button TMDButton;
|
||||
private System.Windows.Forms.TextBox titleidbox;
|
||||
private System.Windows.Forms.Button button3;
|
||||
private System.Windows.Forms.Button downloadstartbtn;
|
||||
private System.Windows.Forms.TextBox statusbox;
|
||||
private System.Windows.Forms.CheckBox packbox;
|
||||
private System.Windows.Forms.ProgressBar dlprogress;
|
||||
@ -506,6 +812,33 @@
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
private System.Windows.Forms.ToolStripMenuItem RegionCodesList;
|
||||
private System.Windows.Forms.CheckBox truchabox;
|
||||
private System.Windows.Forms.GroupBox tmdgpbox;
|
||||
private System.Windows.Forms.GroupBox ticketgpbox;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Button button4;
|
||||
private System.Windows.Forms.Button button5;
|
||||
private System.Windows.Forms.Button button6;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.TextBox newtitleidbox;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.TextBox requiredIOSbox;
|
||||
private System.Windows.Forms.TextBox tmdversiontrucha;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.TextBox dlcamntbox;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.TextBox titleIDIV;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.TextBox titlekeybox;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.ComboBox timelimitenabledcb;
|
||||
private System.Windows.Forms.Label label10;
|
||||
private System.Windows.Forms.ComboBox ckeyindexcb;
|
||||
private System.Windows.Forms.TextBox timelimitsecs;
|
||||
private System.Windows.Forms.Label label11;
|
||||
private System.Windows.Forms.Button button7;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private System.Windows.Forms.Label shamelessvariablelabel;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -120,6 +120,7 @@ namespace NUS_Downloader
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Text = "NUSD - " + version + " - WB3000";
|
||||
this.Size = this.MinimumSize;
|
||||
}
|
||||
|
||||
private bool BootChecks()
|
||||
@ -540,10 +541,10 @@ namespace NUS_Downloader
|
||||
// Preparations for Downloading
|
||||
Control.CheckForIllegalCrossThreadCalls = false;
|
||||
WriteStatus("Starting NUS Download. Please be patient!");
|
||||
button3.Enabled = false;
|
||||
downloadstartbtn.Enabled = false;
|
||||
titleidbox.Enabled = false;
|
||||
titleversion.Enabled = false;
|
||||
button3.Text = "Starting NUS Download!";
|
||||
downloadstartbtn.Text = "Starting NUS Download!";
|
||||
|
||||
// Current directory...
|
||||
string currentdir = Application.StartupPath;
|
||||
@ -569,7 +570,7 @@ namespace NUS_Downloader
|
||||
else
|
||||
titledirectory = currentdir + titleid + "v" + titleversion.Text + @"\";
|
||||
|
||||
button3.Text = "Prerequisites: (0/2)";
|
||||
downloadstartbtn.Text = "Prerequisites: (0/2)";
|
||||
|
||||
// Download TMD before the rest...
|
||||
string tmdfull = "tmd";
|
||||
@ -584,15 +585,15 @@ namespace NUS_Downloader
|
||||
|
||||
WriteStatus("Download Failed: " + tmdfull);
|
||||
WriteStatus(" - Reason: " + ex.Message.ToString().Replace("The remote server returned an error: ", ""));
|
||||
button3.Enabled = true;
|
||||
downloadstartbtn.Enabled = true;
|
||||
titleidbox.Enabled = true;
|
||||
titleversion.Enabled = true;
|
||||
button3.Text = "Start NUS Download!";
|
||||
downloadstartbtn.Text = "Start NUS Download!";
|
||||
dlprogress.Value = 0;
|
||||
DeleteTitleDirectory();
|
||||
return;
|
||||
}
|
||||
button3.Text = "Prerequisites: (1/2)";
|
||||
downloadstartbtn.Text = "Prerequisites: (1/2)";
|
||||
dlprogress.Value = 50;
|
||||
|
||||
// Download CETK after tmd...
|
||||
@ -609,7 +610,7 @@ namespace NUS_Downloader
|
||||
WriteStatus("You may be able to retrieve the contents by Ignoring the Ticket (Check below)");
|
||||
titleidbox.Enabled = true;
|
||||
titleversion.Enabled = true;
|
||||
button3.Text = "Start NUS Download!";
|
||||
downloadstartbtn.Text = "Start NUS Download!";
|
||||
dlprogress.Value = 0;
|
||||
DeleteTitleDirectory();
|
||||
return;
|
||||
@ -621,7 +622,7 @@ namespace NUS_Downloader
|
||||
decryptbox.Checked = false;
|
||||
}
|
||||
}
|
||||
button3.Text = "Prerequisites: (2/2)";
|
||||
downloadstartbtn.Text = "Prerequisites: (2/2)";
|
||||
dlprogress.Value = 100;
|
||||
|
||||
// Obtain TitleKey
|
||||
@ -710,7 +711,7 @@ namespace NUS_Downloader
|
||||
contentstrnum += TrimLeadingZeros(Convert.ToString(tmd[x]));
|
||||
}
|
||||
WriteStatus("Content #: " + contentstrnum);
|
||||
button3.Text = "Content: (0/" + contentstrnum + ")";
|
||||
downloadstartbtn.Text = "Content: (0/" + contentstrnum + ")";
|
||||
dlprogress.Value = 0;
|
||||
|
||||
// Gather information...
|
||||
@ -746,17 +747,17 @@ namespace NUS_Downloader
|
||||
{
|
||||
WriteStatus("Download Failed: " + tmdcontents[i]);
|
||||
WriteStatus(" - Reason: " + ex.Message.ToString().Replace("The remote server returned an error: ", ""));
|
||||
button3.Enabled = true;
|
||||
downloadstartbtn.Enabled = true;
|
||||
titleidbox.Enabled = true;
|
||||
titleversion.Enabled = true;
|
||||
button3.Text = "Start NUS Download!";
|
||||
downloadstartbtn.Text = "Start NUS Download!";
|
||||
dlprogress.Value = 0;
|
||||
DeleteTitleDirectory();
|
||||
return;
|
||||
}
|
||||
|
||||
// Progress reporting advances...
|
||||
button3.Text = "Content: (" + (i + 1) + @"/" + contentstrnum + ")";
|
||||
downloadstartbtn.Text = "Content: (" + (i + 1) + @"/" + contentstrnum + ")";
|
||||
currentcontentlocation += int.Parse(tmdsizes[i], System.Globalization.NumberStyles.HexNumber);
|
||||
|
||||
// Decrypt stuff...
|
||||
@ -821,8 +822,83 @@ namespace NUS_Downloader
|
||||
// Trucha signing...
|
||||
if ((truchabox.Checked == true) && (wiimode == true))
|
||||
{
|
||||
// Read information from TMD into signing GUI...
|
||||
requiredIOSbox.Text = Convert.ToString(tmd[0x18B]);
|
||||
tmdversiontrucha.Text = TrimLeadingZeros(Convert.ToString(tmd[0x1DC]) + Convert.ToString(tmd[0x1DD]));
|
||||
newtitleidbox.Text = titleid;
|
||||
|
||||
// Read information from TIK into signing GUI...
|
||||
// Create ticket file holder
|
||||
FileStream cetkf = File.OpenRead(titledirectory + @"\cetk");
|
||||
byte[] cetkbuff = ReadFully(cetkf, 20);
|
||||
cetkf.Close();
|
||||
|
||||
// Titlekey
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
titlekey[i] = cetkbuff[0x1BF + i];
|
||||
}
|
||||
//titlekeybox.Text = DisplayBytes(titlekey).Replace(" ", "");
|
||||
titlekeybox.Text = System.Text.Encoding.UTF7.GetString(titlekey);
|
||||
|
||||
// IV (TITLEID+00000000s)
|
||||
byte[] iv = new byte[16];
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
iv[i] = cetkbuff[0x1DC + i];
|
||||
}
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
iv[i + 8] = 0x00;
|
||||
}
|
||||
titleIDIV.Text = DisplayBytes(iv).Replace(" ", "");
|
||||
|
||||
//DLC
|
||||
dlcamntbox.Text = TrimLeadingZeros(Convert.ToString(cetkbuff[0x1E6]) + Convert.ToString(cetkbuff[0x1E7]));
|
||||
|
||||
//keyindex
|
||||
if (cetkbuff[0x1F1] == 0x00)
|
||||
ckeyindexcb.SelectedIndex = 0;
|
||||
else if (cetkbuff[0x1F1] == 0x01)
|
||||
ckeyindexcb.SelectedIndex = 1;
|
||||
else
|
||||
ckeyindexcb.SelectedIndex = 0;
|
||||
|
||||
//time enabled
|
||||
if (cetkbuff[0x247] == 0x00)
|
||||
timelimitenabledcb.SelectedIndex = 0;
|
||||
else if (cetkbuff[0x247] == 0x01)
|
||||
timelimitenabledcb.SelectedIndex = 1;
|
||||
else
|
||||
timelimitenabledcb.SelectedIndex = 0;
|
||||
|
||||
//time in seconds
|
||||
byte[] timelimit = new byte[4];
|
||||
for (int i = 0; i < timelimit.Length; i++)
|
||||
{
|
||||
timelimit[i] = cetkbuff[0x248 + 1];
|
||||
}
|
||||
timelimitsecs.Text = Convert.ToString(System.BitConverter.ToInt32(timelimit, 0));
|
||||
|
||||
|
||||
// Resize form to max to show trucha options...
|
||||
this.Size = this.MaximumSize;
|
||||
|
||||
shamelessvariablelabel.Text = String.Format("{0},{1}", titledirectory, tmdfull);
|
||||
|
||||
// Loop until finished...
|
||||
while (this.Size == this.MaximumSize)
|
||||
{
|
||||
System.Threading.Thread.Sleep(1000);
|
||||
}
|
||||
|
||||
/*
|
||||
WriteStatus("Trucha Signing TMD...");
|
||||
Array.Resize(ref tmd, 484 + (Convert.ToInt32(contentstrnum) * 36));
|
||||
Array.Resize(ref tmd, 484 + (Convert.ToInt32(contentstrnum) * 36));
|
||||
|
||||
// DEBUG: Mii Channel Test...
|
||||
tmd[0x18F] = 0x01;
|
||||
|
||||
tmd = ZeroSignature(tmd);
|
||||
tmd = TruchaSign(tmd);
|
||||
|
||||
@ -838,12 +914,16 @@ namespace NUS_Downloader
|
||||
cetkf.Close();
|
||||
|
||||
Array.Resize(ref cetkbuff, 0x2A4);
|
||||
|
||||
// DEBUG: Mii Channel Test...
|
||||
cetkbuff[0x1DF] = 0x01;
|
||||
|
||||
cetkbuff = ZeroSignature(cetkbuff);
|
||||
cetkbuff = TruchaSign(cetkbuff);
|
||||
|
||||
FileStream testtik = new FileStream(titledirectory + "cetk", FileMode.Open);
|
||||
testtik.Write(cetkbuff, 0, cetkbuff.Length);
|
||||
testtik.Close();
|
||||
testtik.Close(); */
|
||||
}
|
||||
|
||||
if ((packbox.Checked == true) && (wiimode == true))
|
||||
@ -851,10 +931,10 @@ namespace NUS_Downloader
|
||||
PackWAD(titleid, tmdfull, tmdcontents.Length, tmdcontents, tmdsizes, titledirectory);
|
||||
}
|
||||
|
||||
button3.Enabled = true;
|
||||
downloadstartbtn.Enabled = true;
|
||||
titleidbox.Enabled = true;
|
||||
titleversion.Enabled = true;
|
||||
button3.Text = "Start NUS Download!";
|
||||
downloadstartbtn.Text = "Start NUS Download!";
|
||||
dlprogress.Value = 0;
|
||||
|
||||
}
|
||||
@ -890,17 +970,12 @@ namespace NUS_Downloader
|
||||
private void DeleteTitleDirectory()
|
||||
{
|
||||
string currentdir = Application.StartupPath;
|
||||
|
||||
/*if (!(currentdir.EndsWith(@"\")) || !(currentdir.EndsWith(@"/")))
|
||||
currentdir += @"\"; */
|
||||
|
||||
if (currentdir.EndsWith(Convert.ToString(Path.DirectorySeparatorChar)) == false)
|
||||
currentdir += Path.DirectorySeparatorChar;
|
||||
|
||||
// Get placement directory early...
|
||||
string titledirectory;
|
||||
if (titleversion.Text == "")
|
||||
//titledirectory = currentdir + titleidbox.Text + @"\";
|
||||
titledirectory = Path.Combine(currentdir, titleidbox.Text + Path.DirectorySeparatorChar);
|
||||
else
|
||||
titledirectory = Path.Combine(currentdir, titleidbox.Text + "v" + titleversion.Text + Path.DirectorySeparatorChar);
|
||||
@ -1026,7 +1101,7 @@ namespace NUS_Downloader
|
||||
|
||||
// Write CertChainLength
|
||||
wadfs.Seek(0x08, SeekOrigin.Begin);
|
||||
byte[] chainsize = InttoByteArray(wad.CertChainSize);
|
||||
byte[] chainsize = InttoByteArray(wad.CertChainSize, 4);
|
||||
wadfs.Write(chainsize, 0, 4);
|
||||
|
||||
// Write res
|
||||
@ -1041,13 +1116,13 @@ namespace NUS_Downloader
|
||||
|
||||
// Write tmdsize
|
||||
int strippedtmd = 484 + (contentcount * 36);
|
||||
byte[] tmdsize = InttoByteArray(strippedtmd);
|
||||
byte[] tmdsize = InttoByteArray(strippedtmd, 4);
|
||||
wadfs.Seek(0x14, SeekOrigin.Begin);
|
||||
wadfs.Write(tmdsize, 0, 4);
|
||||
|
||||
// Write data size
|
||||
wadfs.Seek(0x18, SeekOrigin.Begin);
|
||||
byte[] datasize = InttoByteArray(wad.DataSize);
|
||||
byte[] datasize = InttoByteArray(wad.DataSize, 4);
|
||||
wadfs.Write(datasize, 0, 4);
|
||||
|
||||
// Finished.
|
||||
@ -1075,11 +1150,11 @@ namespace NUS_Downloader
|
||||
return (long)thelength;
|
||||
}
|
||||
|
||||
private byte[] InttoByteArray(int size)
|
||||
private byte[] InttoByteArray(int inte, int arraysize)
|
||||
{
|
||||
// Take integer and make into byte array
|
||||
byte[] b = new byte[4];
|
||||
b = BitConverter.GetBytes(size);
|
||||
byte[] b = new byte[arraysize];
|
||||
b = BitConverter.GetBytes(inte);
|
||||
|
||||
if (BitConverter.IsLittleEndian)
|
||||
Array.Reverse(b);
|
||||
@ -1168,7 +1243,7 @@ namespace NUS_Downloader
|
||||
WriteStatus("");
|
||||
WriteStatus("Special thanks to:");
|
||||
WriteStatus(" * Crediar for his wadmaker tool + source, and for the advice!");
|
||||
WriteStatus(" * SquidMan/Galaxy/comex for advice/sources.");
|
||||
WriteStatus(" * SquidMan/Galaxy/comex/Xuzz for advice/sources.");
|
||||
WriteStatus(" * Pasta for database compilation assistance.");
|
||||
WriteStatus(" * #WiiDev for general assistance whenever I had questions.");
|
||||
}
|
||||
@ -1787,5 +1862,87 @@ namespace NUS_Downloader
|
||||
|
||||
return array;
|
||||
}
|
||||
|
||||
private void button6_Click(object sender, EventArgs e)
|
||||
{
|
||||
// Revert to TMD information...
|
||||
string[] fileinfo = shamelessvariablelabel.Text.Split(',');
|
||||
|
||||
// Read the tmd as a stream...
|
||||
FileStream fs = File.OpenRead(fileinfo[0] + fileinfo[1]);
|
||||
byte[] tmd = ReadFully(fs, 20);
|
||||
fs.Close();
|
||||
|
||||
// Read information from TMD into signing GUI...
|
||||
requiredIOSbox.Text = Convert.ToString(tmd[0x18B]);
|
||||
tmdversiontrucha.Text = TrimLeadingZeros(Convert.ToString(tmd[0x1DC]) + Convert.ToString(tmd[0x1DD]));
|
||||
newtitleidbox.Text = titleidbox.Text;
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void button5_Click(object sender, EventArgs e)
|
||||
{
|
||||
// Revert to Ticket information...
|
||||
string[] fileinfo = shamelessvariablelabel.Text.Split(',');
|
||||
|
||||
// Create ticket file holder
|
||||
FileStream cetkf = File.OpenRead(fileinfo[0] + @"\cetk");
|
||||
byte[] cetkbuff = ReadFully(cetkf, 20);
|
||||
cetkf.Close();
|
||||
|
||||
// Titlekey
|
||||
byte[] titlekey = new byte[16];
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
titlekey[i] = cetkbuff[0x1BF + i];
|
||||
}
|
||||
//titlekeybox.Text = DisplayBytes(titlekey).Replace(" ", "");
|
||||
titlekeybox.Text = System.Text.Encoding.UTF7.GetString(titlekey);
|
||||
|
||||
// IV (TITLEID+00000000s)
|
||||
byte[] iv = new byte[16];
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
iv[i] = cetkbuff[0x1DC + i];
|
||||
}
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
iv[i + 8] = 0x00;
|
||||
}
|
||||
titleIDIV.Text = DisplayBytes(iv).Replace(" ", "");
|
||||
|
||||
//DLC
|
||||
dlcamntbox.Text = TrimLeadingZeros(Convert.ToString(cetkbuff[0x1E6]) + Convert.ToString(cetkbuff[0x1E7]));
|
||||
|
||||
//keyindex
|
||||
if (cetkbuff[0x1F1] == 0x00)
|
||||
ckeyindexcb.SelectedIndex = 0;
|
||||
else if (cetkbuff[0x1F1] == 0x01)
|
||||
ckeyindexcb.SelectedIndex = 1;
|
||||
else
|
||||
ckeyindexcb.SelectedIndex = 0;
|
||||
|
||||
//time enabled
|
||||
if (cetkbuff[0x247] == 0x00)
|
||||
timelimitenabledcb.SelectedIndex = 0;
|
||||
else if (cetkbuff[0x247] == 0x01)
|
||||
timelimitenabledcb.SelectedIndex = 1;
|
||||
else
|
||||
timelimitenabledcb.SelectedIndex = 0;
|
||||
|
||||
//time in seconds
|
||||
byte[] timelimit = new byte[4];
|
||||
for (int i = 0; i < timelimit.Length; i++)
|
||||
{
|
||||
timelimit[i] = cetkbuff[0x248 + 1];
|
||||
}
|
||||
timelimitsecs.Text = Convert.ToString(System.BitConverter.ToInt32(timelimit, 0));
|
||||
}
|
||||
|
||||
private void button1_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
// Write Trucha changes to TMD...
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -123,6 +123,13 @@
|
||||
<metadata name="databaseStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>159, 17</value>
|
||||
</metadata>
|
||||
<data name="label12.Text" xml:space="preserve">
|
||||
<value>Notice:
|
||||
|
||||
* Fake signed content requires an IOS with the fake signing bug to install/use.
|
||||
* Always have a brick restoration method in place (BootMii boot2).
|
||||
* Be careful with Ticket values, they are best left alone.</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
|
Loading…
Reference in New Issue
Block a user