├── App.config ├── HACToolGUI.vbproj ├── HACToolGUI.vbproj.user ├── HFS0Form.Designer.vb ├── HFS0Form.vb ├── INI1Form.Designer.vb ├── INI1Form.vb ├── KIP1Form.Designer.vb ├── KIP1Form.vb ├── KeyForm.Designer.vb ├── KeyForm.resx ├── KeyForm.vb ├── MainForm.Designer.vb ├── MainForm.resx ├── MainForm.vb ├── My Project ├── Application.Designer.vb ├── Application.myapp ├── AssemblyInfo.vb ├── Resources.Designer.vb ├── Resources.resx ├── Settings.Designer.vb ├── Settings.settings └── app.manifest ├── NCAForm.Designer.vb ├── NCAForm.resx ├── NCAForm.vb ├── NPDMForm.Designer.vb ├── NPDMForm.vb ├── PFS0Form.Designer.vb ├── PFS0Form.resx ├── PFS0Form.vb ├── PK11Form.Designer.vb ├── PK11Form.vb ├── PK21Form.Designer.vb ├── PK21Form.vb ├── README.md ├── Resources ├── NCADrop.png ├── NSPDrop.png ├── RomFSDrop.png └── XCIDrop.png ├── RomFSForm.Designer.vb ├── RomFSForm.resx ├── RomFSForm.vb ├── XCIForm.Designer.vb ├── XCIForm.resx ├── XCIForm.vb ├── bin └── Debug │ └── HACToolGUI.exe └── favicon.ico /App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /HACToolGUI.vbproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {CE531720-CA92-4A56-B581-E3A9FF50A619} 8 | WinExe 9 | HACToolGUI.My.MyApplication 10 | HACToolGUI 11 | HACToolGUI 12 | 512 13 | WindowsForms 14 | v4.6.1 15 | true 16 | false 17 | C:\Users\asus\Desktop\f\ 18 | true 19 | Disk 20 | false 21 | Foreground 22 | 7 23 | Days 24 | false 25 | false 26 | true 27 | 10 28 | 1.0.0.%2a 29 | false 30 | true 31 | true 32 | 33 | 34 | AnyCPU 35 | true 36 | full 37 | true 38 | true 39 | bin\Debug\ 40 | HACToolGUI.xml 41 | 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 42 | 43 | 44 | AnyCPU 45 | pdbonly 46 | false 47 | true 48 | true 49 | bin\Release\ 50 | HACToolGUI.xml 51 | 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 52 | 53 | 54 | On 55 | 56 | 57 | Binary 58 | 59 | 60 | Off 61 | 62 | 63 | On 64 | 65 | 66 | My Project\app.manifest 67 | 68 | 69 | favicon.ico 70 | 71 | 72 | true 73 | 74 | 75 | 751D5AC4EF2A98BC633CAD03296A0859F6475168 76 | 77 | 78 | true 79 | 80 | 81 | HacTool.pfx 82 | 83 | 84 | true 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | HFS0Form.vb 117 | 118 | 119 | Form 120 | 121 | 122 | INI1Form.vb 123 | 124 | 125 | Form 126 | 127 | 128 | KIP1Form.vb 129 | 130 | 131 | Form 132 | 133 | 134 | MainForm.vb 135 | 136 | 137 | Form 138 | 139 | 140 | Form 141 | 142 | 143 | NCAForm.vb 144 | Form 145 | 146 | 147 | KeyForm.vb 148 | 149 | 150 | Form 151 | 152 | 153 | 154 | True 155 | Application.myapp 156 | 157 | 158 | True 159 | True 160 | Resources.resx 161 | 162 | 163 | True 164 | Settings.settings 165 | True 166 | 167 | 168 | NPDMForm.vb 169 | 170 | 171 | Form 172 | 173 | 174 | PFS0Form.vb 175 | 176 | 177 | Form 178 | 179 | 180 | PK11Form.vb 181 | 182 | 183 | Form 184 | 185 | 186 | PK21Form.vb 187 | 188 | 189 | Form 190 | 191 | 192 | RomFSForm.vb 193 | 194 | 195 | Form 196 | 197 | 198 | XCIForm.vb 199 | 200 | 201 | Form 202 | 203 | 204 | 205 | 206 | KeyForm.vb 207 | 208 | 209 | MainForm.vb 210 | 211 | 212 | NCAForm.vb 213 | 214 | 215 | VbMyResourcesResXFileCodeGenerator 216 | Resources.Designer.vb 217 | My.Resources 218 | Designer 219 | 220 | 221 | PFS0Form.vb 222 | 223 | 224 | RomFSForm.vb 225 | 226 | 227 | XCIForm.vb 228 | 229 | 230 | 231 | 232 | 233 | 234 | Designer 235 | 236 | 237 | MyApplicationCodeGenerator 238 | Application.Designer.vb 239 | 240 | 241 | SettingsSingleFileGenerator 242 | My 243 | Settings.Designer.vb 244 | 245 | 246 | Designer 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | False 259 | Microsoft .NET Framework 4.6.1 %28x86 and x64%29 260 | true 261 | 262 | 263 | False 264 | .NET Framework 3.5 SP1 265 | false 266 | 267 | 268 | 269 | -------------------------------------------------------------------------------- /HACToolGUI.vbproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | publish\ 7 | 8 | 9 | 10 | 11 | 12 | en-US 13 | false 14 | ShowAllFiles 15 | 16 | 17 | false 18 | 19 | -------------------------------------------------------------------------------- /HFS0Form.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class HFS0Form 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | components = New System.ComponentModel.Container 26 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 27 | Me.Text = "HFS0Form" 28 | End Sub 29 | End Class 30 | -------------------------------------------------------------------------------- /HFS0Form.vb: -------------------------------------------------------------------------------- 1 | Public Class HFS0Form 2 | End Class -------------------------------------------------------------------------------- /INI1Form.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class INI1Form 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | components = New System.ComponentModel.Container 26 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 27 | Me.Text = "INI1Form" 28 | End Sub 29 | End Class 30 | -------------------------------------------------------------------------------- /INI1Form.vb: -------------------------------------------------------------------------------- 1 | Public Class INI1Form 2 | 3 | End Class -------------------------------------------------------------------------------- /KIP1Form.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class KIP1Form 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | components = New System.ComponentModel.Container 26 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 27 | Me.Text = "KIP1Form" 28 | End Sub 29 | End Class 30 | -------------------------------------------------------------------------------- /KIP1Form.vb: -------------------------------------------------------------------------------- 1 | Public Class KIP1Form 2 | 3 | End Class -------------------------------------------------------------------------------- /KeyForm.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class KeyForm 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(KeyForm)) 26 | Me.Label1 = New System.Windows.Forms.Label() 27 | Me.MKey00_TextBox = New System.Windows.Forms.TextBox() 28 | Me.Header_TextBox = New System.Windows.Forms.TextBox() 29 | Me.Label2 = New System.Windows.Forms.Label() 30 | Me.AKEK_TextBox = New System.Windows.Forms.TextBox() 31 | Me.Label3 = New System.Windows.Forms.Label() 32 | Me.AKey_TextBox = New System.Windows.Forms.TextBox() 33 | Me.Label4 = New System.Windows.Forms.Label() 34 | Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() 35 | Me.Save = New System.Windows.Forms.ToolStripMenuItem() 36 | Me.KApp_TextBox = New System.Windows.Forms.TextBox() 37 | Me.Label5 = New System.Windows.Forms.Label() 38 | Me.KOcean_TextBox = New System.Windows.Forms.TextBox() 39 | Me.Label6 = New System.Windows.Forms.Label() 40 | Me.KSys_TextBox = New System.Windows.Forms.TextBox() 41 | Me.Label8 = New System.Windows.Forms.Label() 42 | Me.MKey01_TextBox = New System.Windows.Forms.TextBox() 43 | Me.Label7 = New System.Windows.Forms.Label() 44 | Me.MKey02_TextBox = New System.Windows.Forms.TextBox() 45 | Me.Label9 = New System.Windows.Forms.Label() 46 | Me.MKey03_TextBox = New System.Windows.Forms.TextBox() 47 | Me.Label10 = New System.Windows.Forms.Label() 48 | Me.HintButton = New System.Windows.Forms.Button() 49 | Me.TextBox11 = New System.Windows.Forms.TextBox() 50 | Me.Label11 = New System.Windows.Forms.Label() 51 | Me.Label12 = New System.Windows.Forms.Label() 52 | Me.TKEKStr = New System.Windows.Forms.Label() 53 | Me.TKEK = New System.Windows.Forms.TextBox() 54 | Me.OpenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() 55 | Me.MenuStrip1.SuspendLayout() 56 | Me.SuspendLayout() 57 | ' 58 | 'Label1 59 | ' 60 | Me.Label1.AutoSize = True 61 | Me.Label1.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 62 | Me.Label1.ForeColor = System.Drawing.Color.White 63 | Me.Label1.Location = New System.Drawing.Point(65, 60) 64 | Me.Label1.Name = "Label1" 65 | Me.Label1.Size = New System.Drawing.Size(149, 30) 66 | Me.Label1.TabIndex = 0 67 | Me.Label1.Text = "Master Key 00:" 68 | ' 69 | 'MKey00_TextBox 70 | ' 71 | Me.MKey00_TextBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 72 | Me.MKey00_TextBox.BorderStyle = System.Windows.Forms.BorderStyle.None 73 | Me.MKey00_TextBox.Location = New System.Drawing.Point(235, 60) 74 | Me.MKey00_TextBox.Name = "MKey00_TextBox" 75 | Me.MKey00_TextBox.Size = New System.Drawing.Size(838, 24) 76 | Me.MKey00_TextBox.TabIndex = 1 77 | ' 78 | 'Header_TextBox 79 | ' 80 | Me.Header_TextBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 81 | Me.Header_TextBox.BorderStyle = System.Windows.Forms.BorderStyle.None 82 | Me.Header_TextBox.Location = New System.Drawing.Point(235, 276) 83 | Me.Header_TextBox.Name = "Header_TextBox" 84 | Me.Header_TextBox.Size = New System.Drawing.Size(838, 24) 85 | Me.Header_TextBox.TabIndex = 3 86 | ' 87 | 'Label2 88 | ' 89 | Me.Label2.AutoSize = True 90 | Me.Label2.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 91 | Me.Label2.ForeColor = System.Drawing.Color.White 92 | Me.Label2.Location = New System.Drawing.Point(50, 363) 93 | Me.Label2.Name = "Label2" 94 | Me.Label2.Size = New System.Drawing.Size(162, 30) 95 | Me.Label2.TabIndex = 2 96 | Me.Label2.Text = "AES Key Source:" 97 | ' 98 | 'AKEK_TextBox 99 | ' 100 | Me.AKEK_TextBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 101 | Me.AKEK_TextBox.BorderStyle = System.Windows.Forms.BorderStyle.None 102 | Me.AKEK_TextBox.Location = New System.Drawing.Point(235, 319) 103 | Me.AKEK_TextBox.Name = "AKEK_TextBox" 104 | Me.AKEK_TextBox.Size = New System.Drawing.Size(838, 24) 105 | Me.AKEK_TextBox.TabIndex = 5 106 | ' 107 | 'Label3 108 | ' 109 | Me.Label3.AutoSize = True 110 | Me.Label3.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 111 | Me.Label3.ForeColor = System.Drawing.Color.White 112 | Me.Label3.Location = New System.Drawing.Point(89, 275) 113 | Me.Label3.Name = "Label3" 114 | Me.Label3.Size = New System.Drawing.Size(124, 30) 115 | Me.Label3.TabIndex = 4 116 | Me.Label3.Text = "Header Key:" 117 | ' 118 | 'AKey_TextBox 119 | ' 120 | Me.AKey_TextBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 121 | Me.AKey_TextBox.BorderStyle = System.Windows.Forms.BorderStyle.None 122 | Me.AKey_TextBox.Location = New System.Drawing.Point(235, 364) 123 | Me.AKey_TextBox.Name = "AKey_TextBox" 124 | Me.AKey_TextBox.Size = New System.Drawing.Size(838, 24) 125 | Me.AKey_TextBox.TabIndex = 7 126 | ' 127 | 'Label4 128 | ' 129 | Me.Label4.AutoSize = True 130 | Me.Label4.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 131 | Me.Label4.ForeColor = System.Drawing.Color.White 132 | Me.Label4.Location = New System.Drawing.Point(50, 318) 133 | Me.Label4.Name = "Label4" 134 | Me.Label4.Size = New System.Drawing.Size(164, 30) 135 | Me.Label4.TabIndex = 6 136 | Me.Label4.Text = "AES KEK Source:" 137 | ' 138 | 'MenuStrip1 139 | ' 140 | Me.MenuStrip1.BackColor = System.Drawing.Color.DimGray 141 | Me.MenuStrip1.ImageScalingSize = New System.Drawing.Size(32, 32) 142 | Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenToolStripMenuItem, Me.Save}) 143 | Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) 144 | Me.MenuStrip1.Name = "MenuStrip1" 145 | Me.MenuStrip1.Size = New System.Drawing.Size(1084, 37) 146 | Me.MenuStrip1.TabIndex = 11 147 | Me.MenuStrip1.Text = "MenuStrip1" 148 | ' 149 | 'Save 150 | ' 151 | Me.Save.Font = New System.Drawing.Font("Candara", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 152 | Me.Save.ForeColor = System.Drawing.Color.White 153 | Me.Save.Name = "Save" 154 | Me.Save.Size = New System.Drawing.Size(73, 33) 155 | Me.Save.Text = "Save" 156 | ' 157 | 'KApp_TextBox 158 | ' 159 | Me.KApp_TextBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 160 | Me.KApp_TextBox.BorderStyle = System.Windows.Forms.BorderStyle.None 161 | Me.KApp_TextBox.Location = New System.Drawing.Point(235, 410) 162 | Me.KApp_TextBox.Name = "KApp_TextBox" 163 | Me.KApp_TextBox.Size = New System.Drawing.Size(838, 24) 164 | Me.KApp_TextBox.TabIndex = 20 165 | ' 166 | 'Label5 167 | ' 168 | Me.Label5.AutoSize = True 169 | Me.Label5.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 170 | Me.Label5.ForeColor = System.Drawing.Color.White 171 | Me.Label5.Location = New System.Drawing.Point(16, 500) 172 | Me.Label5.Name = "Label5" 173 | Me.Label5.Size = New System.Drawing.Size(196, 30) 174 | Me.Label5.TabIndex = 19 175 | Me.Label5.Text = "KAK System Source:" 176 | ' 177 | 'KOcean_TextBox 178 | ' 179 | Me.KOcean_TextBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 180 | Me.KOcean_TextBox.BorderStyle = System.Windows.Forms.BorderStyle.None 181 | Me.KOcean_TextBox.Location = New System.Drawing.Point(235, 456) 182 | Me.KOcean_TextBox.Name = "KOcean_TextBox" 183 | Me.KOcean_TextBox.Size = New System.Drawing.Size(838, 24) 184 | Me.KOcean_TextBox.TabIndex = 18 185 | ' 186 | 'Label6 187 | ' 188 | Me.Label6.AutoSize = True 189 | Me.Label6.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 190 | Me.Label6.ForeColor = System.Drawing.Color.White 191 | Me.Label6.Location = New System.Drawing.Point(21, 456) 192 | Me.Label6.Name = "Label6" 193 | Me.Label6.Size = New System.Drawing.Size(191, 30) 194 | Me.Label6.TabIndex = 17 195 | Me.Label6.Text = "KAK Ocean Source:" 196 | ' 197 | 'KSys_TextBox 198 | ' 199 | Me.KSys_TextBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 200 | Me.KSys_TextBox.BorderStyle = System.Windows.Forms.BorderStyle.None 201 | Me.KSys_TextBox.Location = New System.Drawing.Point(235, 501) 202 | Me.KSys_TextBox.Name = "KSys_TextBox" 203 | Me.KSys_TextBox.Size = New System.Drawing.Size(838, 24) 204 | Me.KSys_TextBox.TabIndex = 14 205 | ' 206 | 'Label8 207 | ' 208 | Me.Label8.AutoSize = True 209 | Me.Label8.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 210 | Me.Label8.ForeColor = System.Drawing.Color.White 211 | Me.Label8.Location = New System.Drawing.Point(44, 410) 212 | Me.Label8.Name = "Label8" 213 | Me.Label8.Size = New System.Drawing.Size(169, 30) 214 | Me.Label8.TabIndex = 13 215 | Me.Label8.Text = "KAK App Source:" 216 | ' 217 | 'MKey01_TextBox 218 | ' 219 | Me.MKey01_TextBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 220 | Me.MKey01_TextBox.BorderStyle = System.Windows.Forms.BorderStyle.None 221 | Me.MKey01_TextBox.Location = New System.Drawing.Point(235, 105) 222 | Me.MKey01_TextBox.Name = "MKey01_TextBox" 223 | Me.MKey01_TextBox.Size = New System.Drawing.Size(838, 24) 224 | Me.MKey01_TextBox.TabIndex = 22 225 | ' 226 | 'Label7 227 | ' 228 | Me.Label7.AutoSize = True 229 | Me.Label7.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 230 | Me.Label7.ForeColor = System.Drawing.Color.White 231 | Me.Label7.Location = New System.Drawing.Point(65, 105) 232 | Me.Label7.Name = "Label7" 233 | Me.Label7.Size = New System.Drawing.Size(149, 30) 234 | Me.Label7.TabIndex = 21 235 | Me.Label7.Text = "Master Key 01:" 236 | ' 237 | 'MKey02_TextBox 238 | ' 239 | Me.MKey02_TextBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 240 | Me.MKey02_TextBox.BorderStyle = System.Windows.Forms.BorderStyle.None 241 | Me.MKey02_TextBox.Location = New System.Drawing.Point(235, 149) 242 | Me.MKey02_TextBox.Name = "MKey02_TextBox" 243 | Me.MKey02_TextBox.Size = New System.Drawing.Size(838, 24) 244 | Me.MKey02_TextBox.TabIndex = 24 245 | ' 246 | 'Label9 247 | ' 248 | Me.Label9.AutoSize = True 249 | Me.Label9.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 250 | Me.Label9.ForeColor = System.Drawing.Color.White 251 | Me.Label9.Location = New System.Drawing.Point(65, 149) 252 | Me.Label9.Name = "Label9" 253 | Me.Label9.Size = New System.Drawing.Size(149, 30) 254 | Me.Label9.TabIndex = 23 255 | Me.Label9.Text = "Master Key 02:" 256 | ' 257 | 'MKey03_TextBox 258 | ' 259 | Me.MKey03_TextBox.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 260 | Me.MKey03_TextBox.BorderStyle = System.Windows.Forms.BorderStyle.None 261 | Me.MKey03_TextBox.Location = New System.Drawing.Point(235, 193) 262 | Me.MKey03_TextBox.Name = "MKey03_TextBox" 263 | Me.MKey03_TextBox.Size = New System.Drawing.Size(838, 24) 264 | Me.MKey03_TextBox.TabIndex = 26 265 | ' 266 | 'Label10 267 | ' 268 | Me.Label10.AutoSize = True 269 | Me.Label10.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 270 | Me.Label10.ForeColor = System.Drawing.Color.White 271 | Me.Label10.Location = New System.Drawing.Point(65, 193) 272 | Me.Label10.Name = "Label10" 273 | Me.Label10.Size = New System.Drawing.Size(149, 30) 274 | Me.Label10.TabIndex = 25 275 | Me.Label10.Text = "Master Key 03:" 276 | ' 277 | 'HintButton 278 | ' 279 | Me.HintButton.BackColor = System.Drawing.Color.DarkGray 280 | Me.HintButton.FlatAppearance.BorderColor = System.Drawing.Color.White 281 | Me.HintButton.FlatAppearance.BorderSize = 0 282 | Me.HintButton.FlatAppearance.MouseDownBackColor = System.Drawing.Color.White 283 | Me.HintButton.FlatAppearance.MouseOverBackColor = System.Drawing.Color.White 284 | Me.HintButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat 285 | Me.HintButton.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 286 | Me.HintButton.ForeColor = System.Drawing.Color.Gray 287 | Me.HintButton.Location = New System.Drawing.Point(1044, 0) 288 | Me.HintButton.Name = "HintButton" 289 | Me.HintButton.Size = New System.Drawing.Size(39, 49) 290 | Me.HintButton.TabIndex = 12 291 | Me.HintButton.Text = "?" 292 | Me.HintButton.UseVisualStyleBackColor = False 293 | ' 294 | 'TextBox11 295 | ' 296 | Me.TextBox11.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 297 | Me.TextBox11.BorderStyle = System.Windows.Forms.BorderStyle.None 298 | Me.TextBox11.Location = New System.Drawing.Point(235, 234) 299 | Me.TextBox11.Name = "TextBox11" 300 | Me.TextBox11.Size = New System.Drawing.Size(838, 24) 301 | Me.TextBox11.TabIndex = 28 302 | ' 303 | 'Label11 304 | ' 305 | Me.Label11.AutoSize = True 306 | Me.Label11.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 307 | Me.Label11.ForeColor = System.Drawing.Color.White 308 | Me.Label11.Location = New System.Drawing.Point(65, 234) 309 | Me.Label11.Name = "Label11" 310 | Me.Label11.Size = New System.Drawing.Size(149, 30) 311 | Me.Label11.TabIndex = 27 312 | Me.Label11.Text = "Master Key 04:" 313 | ' 314 | 'Label12 315 | ' 316 | Me.Label12.AutoSize = True 317 | Me.Label12.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 318 | Me.Label12.ForeColor = System.Drawing.Color.White 319 | Me.Label12.Location = New System.Drawing.Point(1, 536) 320 | Me.Label12.Name = "Label12" 321 | Me.Label12.Size = New System.Drawing.Size(1071, 30) 322 | Me.Label12.TabIndex = 29 323 | Me.Label12.Text = "--------------------------------------------------------------eShop--------------" & 324 | "-------------------------------------------------" 325 | ' 326 | 'TKEKStr 327 | ' 328 | Me.TKEKStr.AutoSize = True 329 | Me.TKEKStr.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 330 | Me.TKEKStr.ForeColor = System.Drawing.Color.White 331 | Me.TKEKStr.Location = New System.Drawing.Point(45, 570) 332 | Me.TKEKStr.Name = "TKEKStr" 333 | Me.TKEKStr.Size = New System.Drawing.Size(167, 30) 334 | Me.TKEKStr.TabIndex = 30 335 | Me.TKEKStr.Text = "Title KEK Source:" 336 | ' 337 | 'TKEK 338 | ' 339 | Me.TKEK.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 340 | Me.TKEK.BorderStyle = System.Windows.Forms.BorderStyle.None 341 | Me.TKEK.Location = New System.Drawing.Point(234, 570) 342 | Me.TKEK.Name = "TKEK" 343 | Me.TKEK.Size = New System.Drawing.Size(838, 24) 344 | Me.TKEK.TabIndex = 31 345 | ' 346 | 'OpenToolStripMenuItem 347 | ' 348 | Me.OpenToolStripMenuItem.Font = New System.Drawing.Font("Candara", 9.0!) 349 | Me.OpenToolStripMenuItem.ForeColor = System.Drawing.Color.White 350 | Me.OpenToolStripMenuItem.Name = "OpenToolStripMenuItem" 351 | Me.OpenToolStripMenuItem.Size = New System.Drawing.Size(80, 33) 352 | Me.OpenToolStripMenuItem.Text = "Open" 353 | ' 354 | 'KeyForm 355 | ' 356 | Me.AutoScaleDimensions = New System.Drawing.SizeF(192.0!, 192.0!) 357 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi 358 | Me.BackColor = System.Drawing.Color.Gray 359 | Me.ClientSize = New System.Drawing.Size(1084, 617) 360 | Me.Controls.Add(Me.TKEK) 361 | Me.Controls.Add(Me.TKEKStr) 362 | Me.Controls.Add(Me.Label12) 363 | Me.Controls.Add(Me.TextBox11) 364 | Me.Controls.Add(Me.Label11) 365 | Me.Controls.Add(Me.MKey03_TextBox) 366 | Me.Controls.Add(Me.Label10) 367 | Me.Controls.Add(Me.MKey02_TextBox) 368 | Me.Controls.Add(Me.Label9) 369 | Me.Controls.Add(Me.MKey01_TextBox) 370 | Me.Controls.Add(Me.Label7) 371 | Me.Controls.Add(Me.KApp_TextBox) 372 | Me.Controls.Add(Me.Label5) 373 | Me.Controls.Add(Me.KOcean_TextBox) 374 | Me.Controls.Add(Me.Label6) 375 | Me.Controls.Add(Me.KSys_TextBox) 376 | Me.Controls.Add(Me.Label8) 377 | Me.Controls.Add(Me.HintButton) 378 | Me.Controls.Add(Me.AKey_TextBox) 379 | Me.Controls.Add(Me.Label4) 380 | Me.Controls.Add(Me.AKEK_TextBox) 381 | Me.Controls.Add(Me.Label3) 382 | Me.Controls.Add(Me.Header_TextBox) 383 | Me.Controls.Add(Me.Label2) 384 | Me.Controls.Add(Me.MKey00_TextBox) 385 | Me.Controls.Add(Me.Label1) 386 | Me.Controls.Add(Me.MenuStrip1) 387 | Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle 388 | Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) 389 | Me.MainMenuStrip = Me.MenuStrip1 390 | Me.MaximizeBox = False 391 | Me.Name = "KeyForm" 392 | Me.Text = "Key Data" 393 | Me.MenuStrip1.ResumeLayout(False) 394 | Me.MenuStrip1.PerformLayout() 395 | Me.ResumeLayout(False) 396 | Me.PerformLayout() 397 | 398 | End Sub 399 | 400 | Friend WithEvents Label1 As Label 401 | Friend WithEvents MKey00_TextBox As TextBox 402 | Friend WithEvents Header_TextBox As TextBox 403 | Friend WithEvents Label2 As Label 404 | Friend WithEvents AKEK_TextBox As TextBox 405 | Friend WithEvents Label3 As Label 406 | Friend WithEvents AKey_TextBox As TextBox 407 | Friend WithEvents Label4 As Label 408 | Friend WithEvents MenuStrip1 As MenuStrip 409 | Friend WithEvents Save As ToolStripMenuItem 410 | Friend WithEvents KApp_TextBox As TextBox 411 | Friend WithEvents Label5 As Label 412 | Friend WithEvents KOcean_TextBox As TextBox 413 | Friend WithEvents Label6 As Label 414 | Friend WithEvents KSys_TextBox As TextBox 415 | Friend WithEvents Label8 As Label 416 | Friend WithEvents MKey01_TextBox As TextBox 417 | Friend WithEvents Label7 As Label 418 | Friend WithEvents MKey02_TextBox As TextBox 419 | Friend WithEvents Label9 As Label 420 | Friend WithEvents MKey03_TextBox As TextBox 421 | Friend WithEvents Label10 As Label 422 | Friend WithEvents HintButton As Button 423 | Friend WithEvents TextBox11 As TextBox 424 | Friend WithEvents Label11 As Label 425 | Friend WithEvents Label12 As Label 426 | Friend WithEvents TKEKStr As Label 427 | Friend WithEvents TKEK As TextBox 428 | Friend WithEvents OpenToolStripMenuItem As ToolStripMenuItem 429 | End Class 430 | -------------------------------------------------------------------------------- /KeyForm.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | 124 | 125 | 126 | AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA 127 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 128 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 129 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 130 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 131 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAABBdaYAWf4/WFXaEvAxETCkAAAAAAAAAAAAAAAAAAAAAAAAAAA9Y 132 | Y2wSZnKbAAAADQo9RTgVd4a0DlBZVQxIUVgdpbn+Fn+O3B6pvf8VdoS/AAAAAAAAAAAAAAAAAAAAAAAA 133 | AAAVdoSvHJ2w/wAAACANTVdXH67D/xFfa30TbXqXF4OTygQYGwcTa3ijGpao9AQYGxoAAAAAAAAAAAAA 134 | AAAAAAAAFXaErxydsP8AAAAgDU1XVx+uw/8RX2t9Fn+O0BV3hZUAAAAADlJcaB+uw/8NTFVrAAAACAAA 135 | AAgAAAAIAAAACBR0gq8cnbD/AAAAJwxIUVsfrsP/EF1pflydptBZmKCgAAAAAENxeHN+1uL/a7XA9mWr 136 | tfNlq7XzZau182WrtfNxwMv6fNLe/2WrtfNnsLr1ftbi/1ONleVQh4+XabK93ipHS0damaLBftXi/37V 137 | 4v9+1eL/ftXi/37V4v9+1eL/ftXi/37V4v9+1eL/ftXi/37V4v9goqzsDUlSVx6ovP4cobX9H67D/xJp 138 | drALPkVXCz5FVws+RVcLPkVXCz5FVws+RVcLPkVXCz5FVws+RVcLPkVXCjlASwAAAAAQXWmAFn+O2RNu 139 | e7EJMjkZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 140 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 141 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 142 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 143 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 144 | AAAAAAAA//8AAP//AAD//wAA//8AAIfAAAAHwAAAA8AAACAAAAAgAAAAAAAAAAAAAACH/wAA//8AAP// 145 | AAD//wAA//8AAA== 146 | 147 | 148 | -------------------------------------------------------------------------------- /KeyForm.vb: -------------------------------------------------------------------------------- 1 | Imports System.IO.File 2 | Public Class KeyForm 3 | Private Sub HintButton_Click(sender As Object, e As EventArgs) Handles HintButton.Click 4 | MKey00_TextBox.Text = "C2CA" 5 | MKey01_TextBox.Text = "54E1" 6 | MKey02_TextBox.Text = "4F6B" 7 | MKey03_TextBox.Text = "84E0" 8 | Header_TextBox.Text = "AEAA" 9 | AKEK_TextBox.Text = "4D87" 10 | AKey_TextBox.Text = "8961" 11 | KApp_TextBox.Text = "7F59" 12 | KOcean_TextBox.Text = "327D" 13 | KSys_TextBox.Text = "8745" 14 | TKEK.Text = "1EDC" 15 | End Sub 16 | Private Sub Save_Click(sender As Object, e As EventArgs) Handles Save.Click 17 | WriteAllText("keys.dat", ("master_key_00 = " + MKey00_TextBox.Text + vbNewLine + 18 | "master_key_01 = " + MKey01_TextBox.Text + vbNewLine + 19 | "master_key_02 = " + MKey02_TextBox.Text + vbNewLine + 20 | "master_key_03 = " + MKey03_TextBox.Text + vbNewLine + 21 | "header_key = " + Header_TextBox.Text + vbNewLine + 22 | "aes_kek_generation_source = " + AKEK_TextBox.Text + vbNewLine + 23 | "aes_key_generation_source = " + AKey_TextBox.Text + vbNewLine + 24 | "key_area_key_application_source = " + KApp_TextBox.Text + vbNewLine + 25 | "key_area_key_ocean_source = " + KOcean_TextBox.Text + vbNewLine + 26 | "key_area_key_system_source = " + KSys_TextBox.Text + vbNewLine + 27 | "titlekek_source = " + TKEK.Text)) 28 | If Exists("keys.dat") Then 29 | MsgBox("Keys saved successfully!") 30 | Else MsgBox("Keys were not saved successfully." + vbNewLine + "Simon is an idiot, spam him on Discord and make sure to tell him how bad of a programmer he is.") 31 | End If 32 | MainForm.LaunchNCA.Enabled = True 33 | End Sub 34 | 35 | Private Sub OpenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OpenToolStripMenuItem.Click 36 | If Exists("keys.dat") Then 37 | Dim Line = ReadLines("keys.dat") 38 | MKey00_TextBox.Text = Line(0).Substring(16) 39 | MKey01_TextBox.Text = Line(1).Substring(16) 40 | MKey02_TextBox.Text = Line(2).Substring(16) 41 | MKey03_TextBox.Text = Line(3).Substring(16) 42 | Header_TextBox.Text = Line(4).Substring(13) 43 | AKEK_TextBox.Text = Line(5).Substring(28) 44 | AKey_TextBox.Text = Line(6).Substring(28) 45 | KApp_TextBox.Text = Line(7).Substring(34) 46 | KOcean_TextBox.Text = Line(8).Substring(28) 47 | KSys_TextBox.Text = Line(9).Substring(29) 48 | TKEK.Text = Line(10).Substring(18) 49 | Else 50 | MsgBox("Make a keyfile first! I can't just GIVE you the keys...") 51 | End If 52 | End Sub 53 | 54 | Private Sub KeyForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load 55 | Try 56 | If Exists("keys.dat") Then 57 | Dim Line = ReadLines("keys.dat") 58 | MKey00_TextBox.Text = Line(0).Substring(16) 59 | MKey01_TextBox.Text = Line(1).Substring(16) 60 | MKey02_TextBox.Text = Line(2).Substring(16) 61 | MKey03_TextBox.Text = Line(3).Substring(16) 62 | Header_TextBox.Text = Line(4).Substring(13) 63 | AKEK_TextBox.Text = Line(5).Substring(28) 64 | AKey_TextBox.Text = Line(6).Substring(28) 65 | KApp_TextBox.Text = Line(7).Substring(34) 66 | KOcean_TextBox.Text = Line(8).Substring(28) 67 | KSys_TextBox.Text = Line(9).Substring(29) 68 | TKEK.Text = Line(10).Substring(18) 69 | Else 70 | End If 71 | Catch ex As NullReferenceException 72 | MsgBox("You have a corrupted keyfile, OK to delete?") 73 | Delete("keys.dat") 74 | MKey00_TextBox.Clear() 75 | MKey01_TextBox.Clear() 76 | MKey02_TextBox.Clear() 77 | MKey03_TextBox.Clear() 78 | Header_TextBox.Clear() 79 | AKEK_TextBox.Clear() 80 | AKey_TextBox.Clear() 81 | KApp_TextBox.Clear() 82 | KOcean_TextBox.Clear() 83 | KSys_TextBox.Clear() 84 | TKEK.Clear() 85 | End Try 86 | End Sub 87 | End Class -------------------------------------------------------------------------------- /MainForm.Designer.vb: -------------------------------------------------------------------------------- 1 |  2 | Partial Class MainForm 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | 24 | Private Sub InitializeComponent() 25 | Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(MainForm)) 26 | Me.QuestionStr = New System.Windows.Forms.Label() 27 | Me.LaunchNCA = New System.Windows.Forms.Button() 28 | Me.LaunchXCI = New System.Windows.Forms.Button() 29 | Me.Button3 = New System.Windows.Forms.Button() 30 | Me.Button4 = New System.Windows.Forms.Button() 31 | Me.Button5 = New System.Windows.Forms.Button() 32 | Me.Button6 = New System.Windows.Forms.Button() 33 | Me.Button7 = New System.Windows.Forms.Button() 34 | Me.Button8 = New System.Windows.Forms.Button() 35 | Me.Button9 = New System.Windows.Forms.Button() 36 | Me.Button10 = New System.Windows.Forms.Button() 37 | Me.ToolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel() 38 | Me.Label1 = New System.Windows.Forms.Label() 39 | Me.Button1 = New System.Windows.Forms.Button() 40 | Me.SuspendLayout() 41 | ' 42 | 'QuestionStr 43 | ' 44 | Me.QuestionStr.AutoSize = True 45 | Me.QuestionStr.Font = New System.Drawing.Font("Microsoft Sans Serif", 16.125!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 46 | Me.QuestionStr.ForeColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 47 | Me.QuestionStr.Location = New System.Drawing.Point(20, 20) 48 | Me.QuestionStr.Name = "QuestionStr" 49 | Me.QuestionStr.Size = New System.Drawing.Size(535, 51) 50 | Me.QuestionStr.TabIndex = 0 51 | Me.QuestionStr.Text = "What would you like to do?" 52 | ' 53 | 'LaunchNCA 54 | ' 55 | Me.LaunchNCA.BackColor = System.Drawing.Color.DimGray 56 | Me.LaunchNCA.Enabled = False 57 | Me.LaunchNCA.FlatAppearance.BorderSize = 0 58 | Me.LaunchNCA.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 59 | Me.LaunchNCA.FlatStyle = System.Windows.Forms.FlatStyle.Flat 60 | Me.LaunchNCA.Font = New System.Drawing.Font("Microsoft Sans Serif", 18.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 61 | Me.LaunchNCA.ForeColor = System.Drawing.Color.White 62 | Me.LaunchNCA.Location = New System.Drawing.Point(12, 192) 63 | Me.LaunchNCA.Name = "LaunchNCA" 64 | Me.LaunchNCA.Size = New System.Drawing.Size(274, 137) 65 | Me.LaunchNCA.TabIndex = 1 66 | Me.LaunchNCA.Text = "Extract NCA" 67 | Me.LaunchNCA.UseVisualStyleBackColor = False 68 | ' 69 | 'LaunchXCI 70 | ' 71 | Me.LaunchXCI.BackColor = System.Drawing.Color.DimGray 72 | Me.LaunchXCI.FlatAppearance.BorderSize = 0 73 | Me.LaunchXCI.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 74 | Me.LaunchXCI.FlatStyle = System.Windows.Forms.FlatStyle.Flat 75 | Me.LaunchXCI.Font = New System.Drawing.Font("Microsoft Sans Serif", 18.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 76 | Me.LaunchXCI.ForeColor = System.Drawing.Color.White 77 | Me.LaunchXCI.Location = New System.Drawing.Point(292, 192) 78 | Me.LaunchXCI.Name = "LaunchXCI" 79 | Me.LaunchXCI.Size = New System.Drawing.Size(270, 137) 80 | Me.LaunchXCI.TabIndex = 2 81 | Me.LaunchXCI.Text = "Extract XCI" 82 | Me.LaunchXCI.UseVisualStyleBackColor = False 83 | ' 84 | 'Button3 85 | ' 86 | Me.Button3.BackColor = System.Drawing.Color.DimGray 87 | Me.Button3.Enabled = False 88 | Me.Button3.FlatAppearance.BorderSize = 0 89 | Me.Button3.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 90 | Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat 91 | Me.Button3.Font = New System.Drawing.Font("Microsoft Sans Serif", 18.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 92 | Me.Button3.ForeColor = System.Drawing.Color.White 93 | Me.Button3.Location = New System.Drawing.Point(292, 478) 94 | Me.Button3.Name = "Button3" 95 | Me.Button3.Size = New System.Drawing.Size(270, 137) 96 | Me.Button3.TabIndex = 4 97 | Me.Button3.Text = "Extract NPDM" 98 | Me.Button3.UseVisualStyleBackColor = False 99 | ' 100 | 'Button4 101 | ' 102 | Me.Button4.BackColor = System.Drawing.Color.DimGray 103 | Me.Button4.Enabled = False 104 | Me.Button4.FlatAppearance.BorderSize = 0 105 | Me.Button4.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 106 | Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat 107 | Me.Button4.Font = New System.Drawing.Font("Microsoft Sans Serif", 18.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 108 | Me.Button4.ForeColor = System.Drawing.Color.White 109 | Me.Button4.Location = New System.Drawing.Point(12, 478) 110 | Me.Button4.Name = "Button4" 111 | Me.Button4.Size = New System.Drawing.Size(274, 137) 112 | Me.Button4.TabIndex = 3 113 | Me.Button4.Text = "Extract HFS0" 114 | Me.Button4.UseVisualStyleBackColor = False 115 | ' 116 | 'Button5 117 | ' 118 | Me.Button5.BackColor = System.Drawing.Color.DimGray 119 | Me.Button5.FlatAppearance.BorderSize = 0 120 | Me.Button5.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 121 | Me.Button5.FlatStyle = System.Windows.Forms.FlatStyle.Flat 122 | Me.Button5.Font = New System.Drawing.Font("Microsoft Sans Serif", 18.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 123 | Me.Button5.ForeColor = System.Drawing.Color.White 124 | Me.Button5.Location = New System.Drawing.Point(292, 335) 125 | Me.Button5.Name = "Button5" 126 | Me.Button5.Size = New System.Drawing.Size(270, 137) 127 | Me.Button5.TabIndex = 6 128 | Me.Button5.Text = "Extract PFS0" 129 | Me.Button5.UseVisualStyleBackColor = False 130 | ' 131 | 'Button6 132 | ' 133 | Me.Button6.BackColor = System.Drawing.Color.DimGray 134 | Me.Button6.FlatAppearance.BorderSize = 0 135 | Me.Button6.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 136 | Me.Button6.FlatStyle = System.Windows.Forms.FlatStyle.Flat 137 | Me.Button6.Font = New System.Drawing.Font("Microsoft Sans Serif", 18.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 138 | Me.Button6.ForeColor = System.Drawing.Color.White 139 | Me.Button6.Location = New System.Drawing.Point(12, 335) 140 | Me.Button6.Name = "Button6" 141 | Me.Button6.Size = New System.Drawing.Size(274, 137) 142 | Me.Button6.TabIndex = 5 143 | Me.Button6.Text = "Extract RomFS" 144 | Me.Button6.UseVisualStyleBackColor = False 145 | ' 146 | 'Button7 147 | ' 148 | Me.Button7.BackColor = System.Drawing.Color.DimGray 149 | Me.Button7.Enabled = False 150 | Me.Button7.FlatAppearance.BorderSize = 0 151 | Me.Button7.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 152 | Me.Button7.FlatStyle = System.Windows.Forms.FlatStyle.Flat 153 | Me.Button7.Font = New System.Drawing.Font("Microsoft Sans Serif", 18.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 154 | Me.Button7.ForeColor = System.Drawing.Color.White 155 | Me.Button7.Location = New System.Drawing.Point(292, 621) 156 | Me.Button7.Name = "Button7" 157 | Me.Button7.Size = New System.Drawing.Size(270, 137) 158 | Me.Button7.TabIndex = 8 159 | Me.Button7.Text = "Extract Package2" 160 | Me.Button7.UseVisualStyleBackColor = False 161 | ' 162 | 'Button8 163 | ' 164 | Me.Button8.BackColor = System.Drawing.Color.DimGray 165 | Me.Button8.Enabled = False 166 | Me.Button8.FlatAppearance.BorderSize = 0 167 | Me.Button8.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 168 | Me.Button8.FlatStyle = System.Windows.Forms.FlatStyle.Flat 169 | Me.Button8.Font = New System.Drawing.Font("Microsoft Sans Serif", 18.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 170 | Me.Button8.ForeColor = System.Drawing.Color.White 171 | Me.Button8.Location = New System.Drawing.Point(12, 621) 172 | Me.Button8.Name = "Button8" 173 | Me.Button8.Size = New System.Drawing.Size(274, 137) 174 | Me.Button8.TabIndex = 7 175 | Me.Button8.Text = "Extract Package1" 176 | Me.Button8.UseVisualStyleBackColor = False 177 | ' 178 | 'Button9 179 | ' 180 | Me.Button9.BackColor = System.Drawing.Color.DimGray 181 | Me.Button9.Enabled = False 182 | Me.Button9.FlatAppearance.BorderSize = 0 183 | Me.Button9.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 184 | Me.Button9.FlatStyle = System.Windows.Forms.FlatStyle.Flat 185 | Me.Button9.Font = New System.Drawing.Font("Microsoft Sans Serif", 18.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 186 | Me.Button9.ForeColor = System.Drawing.Color.White 187 | Me.Button9.Location = New System.Drawing.Point(292, 764) 188 | Me.Button9.Name = "Button9" 189 | Me.Button9.Size = New System.Drawing.Size(270, 137) 190 | Me.Button9.TabIndex = 10 191 | Me.Button9.Text = "Extract KIP1" 192 | Me.Button9.UseVisualStyleBackColor = False 193 | ' 194 | 'Button10 195 | ' 196 | Me.Button10.BackColor = System.Drawing.Color.DimGray 197 | Me.Button10.Enabled = False 198 | Me.Button10.FlatAppearance.BorderSize = 0 199 | Me.Button10.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 200 | Me.Button10.FlatStyle = System.Windows.Forms.FlatStyle.Flat 201 | Me.Button10.Font = New System.Drawing.Font("Microsoft Sans Serif", 18.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 202 | Me.Button10.ForeColor = System.Drawing.Color.White 203 | Me.Button10.Location = New System.Drawing.Point(12, 764) 204 | Me.Button10.Name = "Button10" 205 | Me.Button10.Size = New System.Drawing.Size(274, 137) 206 | Me.Button10.TabIndex = 9 207 | Me.Button10.Text = "Extract INI1" 208 | Me.Button10.UseVisualStyleBackColor = False 209 | ' 210 | 'ToolStripStatusLabel1 211 | ' 212 | Me.ToolStripStatusLabel1.ForeColor = System.Drawing.Color.White 213 | Me.ToolStripStatusLabel1.Name = "ToolStripStatusLabel1" 214 | Me.ToolStripStatusLabel1.Size = New System.Drawing.Size(524, 33) 215 | Me.ToolStripStatusLabel1.Text = "Checked for updates, HACToolGUI is up to date." 216 | ' 217 | 'Label1 218 | ' 219 | Me.Label1.AutoSize = True 220 | Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 16.125!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 221 | Me.Label1.ForeColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 222 | Me.Label1.Location = New System.Drawing.Point(22, 910) 223 | Me.Label1.Name = "Label1" 224 | Me.Label1.Size = New System.Drawing.Size(439, 51) 225 | Me.Label1.TabIndex = 11 226 | Me.Label1.Text = " Check for updates?" 227 | ' 228 | 'Button1 229 | ' 230 | Me.Button1.BackColor = System.Drawing.Color.DimGray 231 | Me.Button1.FlatAppearance.BorderSize = 0 232 | Me.Button1.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 233 | Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat 234 | Me.Button1.Font = New System.Drawing.Font("Microsoft Sans Serif", 18.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 235 | Me.Button1.ForeColor = System.Drawing.Color.White 236 | Me.Button1.Location = New System.Drawing.Point(12, 90) 237 | Me.Button1.Name = "Button1" 238 | Me.Button1.Size = New System.Drawing.Size(550, 96) 239 | Me.Button1.TabIndex = 12 240 | Me.Button1.Text = "Open Key Manager" 241 | Me.Button1.UseVisualStyleBackColor = False 242 | ' 243 | 'MainForm 244 | ' 245 | Me.AutoScaleDimensions = New System.Drawing.SizeF(192.0!, 192.0!) 246 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi 247 | Me.BackColor = System.Drawing.Color.Gray 248 | Me.ClientSize = New System.Drawing.Size(574, 972) 249 | Me.Controls.Add(Me.Button1) 250 | Me.Controls.Add(Me.Label1) 251 | Me.Controls.Add(Me.Button9) 252 | Me.Controls.Add(Me.Button10) 253 | Me.Controls.Add(Me.Button7) 254 | Me.Controls.Add(Me.Button8) 255 | Me.Controls.Add(Me.Button5) 256 | Me.Controls.Add(Me.Button6) 257 | Me.Controls.Add(Me.Button3) 258 | Me.Controls.Add(Me.Button4) 259 | Me.Controls.Add(Me.LaunchXCI) 260 | Me.Controls.Add(Me.LaunchNCA) 261 | Me.Controls.Add(Me.QuestionStr) 262 | Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle 263 | Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) 264 | Me.MaximizeBox = False 265 | Me.Name = "MainForm" 266 | Me.Text = "HACToolGUI Interface" 267 | Me.ResumeLayout(False) 268 | Me.PerformLayout() 269 | 270 | End Sub 271 | 272 | Friend WithEvents QuestionStr As Label 273 | Friend WithEvents LaunchNCA As Button 274 | Friend WithEvents LaunchXCI As Button 275 | Friend WithEvents Button3 As Button 276 | Friend WithEvents Button4 As Button 277 | Friend WithEvents Button5 As Button 278 | Friend WithEvents Button6 As Button 279 | Friend WithEvents Button7 As Button 280 | Friend WithEvents Button8 As Button 281 | Friend WithEvents Button9 As Button 282 | Friend WithEvents Button10 As Button 283 | Friend WithEvents ToolStripStatusLabel1 As ToolStripStatusLabel 284 | Friend WithEvents Label1 As Label 285 | Friend WithEvents Button1 As Button 286 | End Class 287 | -------------------------------------------------------------------------------- /MainForm.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 122 | 123 | AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAMMOAADDDgAAAAAAAAAA 124 | AAD///////////////////////////////////////////////////////////////////////////// 125 | /////////////wAAAP8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA////////////AAAA//// 126 | //////////////////8AAAD///////////8AAAD//////wAAAP///////////wAAAP///////////wAA 127 | AP//////////////////////AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD///////// 128 | //8AAAD//////////////////////wAAAP//////////////////////AAAA////////////AAAA//// 129 | ////////AAAA//////////////////////8AAAD//////////////////////wAAAP///////////wAA 130 | AP///////////wAAAP//////////////////////AAAA/wAAAP8AAAD/AAAA//////8AAAD///////// 131 | //8AAAD///////////8AAAD///////////////////////////////////////////////////////// 132 | //////////////////////////////////////////////////////////////////////////////// 133 | ////////////////////////////////////////////////////////AAD/////////////AAD///// 134 | //8AAP////////////8AAP///////wAA//8AAP//AAD//wAA/////////////wAA/////////////wAA 135 | ////////AAD/////////////AAD///////8AAP////////////////////////////8AAP//AAD//wAA 136 | //8AAP///////wAA//8AAP//AAD//wAA////////AAD/////////////////////////////AAD///// 137 | ////////AAD///////8AAP////////////8AAP///////wAA/////////////////////////////wAA 138 | /////////////wAA////////AAD/////////////AAD///////8AAP////////////////////////// 139 | //8AAP////////////8AAP///////wAA//8AAP//AAD//wAA////////AAD//wAA//8AAP//AAD///// 140 | //////////////////////////////////////////////////////////////////////////////// 141 | ////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 142 | AAAAAAAAAAAAAA== 143 | 144 | 145 | -------------------------------------------------------------------------------- /MainForm.vb: -------------------------------------------------------------------------------- 1 | Imports System.IO 2 | Imports System.IO.File 3 | Imports System.Net 4 | Public Class MainForm 5 | Dim keyorder() As Object = {System.Windows.Forms.Keys.Up, System.Windows.Forms.Keys.Up, 6 | System.Windows.Forms.Keys.Down, System.Windows.Forms.Keys.Down, 7 | System.Windows.Forms.Keys.Left, System.Windows.Forms.Keys.Right, 8 | System.Windows.Forms.Keys.Left, System.Windows.Forms.Keys.Right, 9 | System.Windows.Forms.Keys.B, System.Windows.Forms.Keys.A} 10 | Dim index As Integer = 0 11 | Dim sequence() As Boolean = {False, False, False, False, False, False, False, False, False, False} 12 | Dim UpdateCheck As String = "https://pastebin.com/raw/YiPFq7qB" 13 | Dim Web As WebClient = New WebClient() 14 | Dim Rd As StreamReader = New StreamReader(Web.OpenRead(UpdateCheck)) 15 | Dim GBATemp As String = "https://gbatemp.net/threads/release-hactoolgui-a-very-simple-gui-for-hactool.499526/" 16 | Dim LatestVersion As String = Rd.ReadToEnd 17 | Dim CurrentVersion As String = "0.3a" 18 | Public Sub New() 19 | InitializeComponent() 20 | Me.KeyPreview = True 21 | End Sub 22 | Private Sub CalculatorAboutForm_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp 23 | If index < 9 And sequence(index) = False And e.KeyCode = keyorder(index) Then 24 | sequence(index) = True 25 | index += 1 26 | ElseIf index = 9 And e.KeyCode = keyorder(index) Then 27 | MsgBox("You found the first easter egg!" + vbNewLine + "Now look for the others...") 28 | Else 29 | index = 0 30 | For i As Integer = 0 To sequence.Length - 1 31 | sequence(i) = False 32 | Next 33 | End If 34 | End Sub 35 | Private Sub LaunchNCA_Click(sender As Object, e As EventArgs) Handles LaunchNCA.Click 36 | NCAForm.Show() 37 | End Sub 38 | 39 | Private Sub LaunchXCI_Click(sender As Object, e As EventArgs) Handles LaunchXCI.Click 40 | XCIForm.Show() 41 | End Sub 42 | 43 | Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load 44 | If Exists("hactool.exe") Then 45 | Else 46 | MsgBox("You must put hactool.exe and its dependencies in this directory.") 47 | Close() 48 | End If 49 | If Exists("easter.egg") Then 50 | MsgBox("You found the second easter egg!" + vbNewLine + "Gotta catch 'em all!") 51 | Else 52 | End If 53 | If Exists("keys.dat") Then 54 | LaunchNCA.Enabled = True 55 | Else 56 | MsgBox("To use NCA extraction features, please fill in key data!") 57 | KeyForm.Show() 58 | End If 59 | End Sub 60 | 61 | Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click 62 | RomFSForm.Show() 63 | End Sub 64 | 65 | Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click 66 | PFS0Form.Show() 67 | End Sub 68 | 69 | Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click 70 | HFS0Form.Show() 71 | End Sub 72 | 73 | Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 74 | NPDMForm.Show() 75 | End Sub 76 | 77 | Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click 78 | PK11Form.Show() 79 | End Sub 80 | 81 | Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click 82 | PK21Form.Show() 83 | End Sub 84 | 85 | Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click 86 | INI1Form.Show() 87 | End Sub 88 | 89 | Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click 90 | KIP1Form.Show() 91 | End Sub 92 | 93 | Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click 94 | If LatestVersion = CurrentVersion Then 95 | Label1.Text = "HACToolGUI is up to date." 96 | Else 97 | Label1.Text = "Version " + LatestVersion + " is available." 98 | End If 99 | If Label1.Text = "HACToolGUI is up to date." Then 100 | Else 101 | Process.Start(GBATemp) 102 | End If 103 | End Sub 104 | 105 | Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 106 | KeyForm.Show() 107 | End Sub 108 | End Class -------------------------------------------------------------------------------- /My Project/Application.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | 'NOTE: This file is auto-generated; do not modify it directly. To make changes, 18 | ' or if you encounter build errors in this file, go to the Project Designer 19 | ' (go to Project Properties or double-click the My Project node in 20 | ' Solution Explorer), and make changes on the Application tab. 21 | ' 22 | Partial Friend Class MyApplication 23 | 24 | _ 25 | Public Sub New() 26 | MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) 27 | Me.IsSingleInstance = true 28 | Me.EnableVisualStyles = true 29 | Me.SaveMySettingsOnExit = true 30 | Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses 31 | End Sub 32 | 33 | _ 34 | Protected Overrides Sub OnCreateMainForm() 35 | Me.MainForm = Global.HACToolGUI.MainForm 36 | End Sub 37 | End Class 38 | End Namespace 39 | -------------------------------------------------------------------------------- /My Project/Application.myapp: -------------------------------------------------------------------------------- 1 |  2 | 3 | true 4 | MainForm 5 | true 6 | 0 7 | true 8 | 0 9 | true 10 | -------------------------------------------------------------------------------- /My Project/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | 5 | ' General Information about an assembly is controlled through the following 6 | ' set of attributes. Change these attribute values to modify the information 7 | ' associated with an assembly. 8 | 9 | ' Review the values of the assembly attributes 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 'The following GUID is for the ID of the typelib if this project is exposed to COM 21 | 22 | 23 | ' Version information for an assembly consists of the following four values: 24 | ' 25 | ' Major Version 26 | ' Minor Version 27 | ' Build Number 28 | ' Revision 29 | ' 30 | ' You can specify all the values or you can default the Build and Revision Numbers 31 | ' by using the '*' as shown below: 32 | ' 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /My Project/Resources.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | Imports System 15 | 16 | Namespace My.Resources 17 | 18 | 'This class was auto-generated by the StronglyTypedResourceBuilder 19 | 'class via a tool like ResGen or Visual Studio. 20 | 'To add or remove a member, edit your .ResX file then rerun ResGen 21 | 'with the /str option, or rebuild your VS project. 22 | ''' 23 | ''' A strongly-typed resource class, for looking up localized strings, etc. 24 | ''' 25 | _ 29 | Friend Module Resources 30 | 31 | Private resourceMan As Global.System.Resources.ResourceManager 32 | 33 | Private resourceCulture As Global.System.Globalization.CultureInfo 34 | 35 | ''' 36 | ''' Returns the cached ResourceManager instance used by this class. 37 | ''' 38 | _ 39 | Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager 40 | Get 41 | If Object.ReferenceEquals(resourceMan, Nothing) Then 42 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("HACToolGUI.Resources", GetType(Resources).Assembly) 43 | resourceMan = temp 44 | End If 45 | Return resourceMan 46 | End Get 47 | End Property 48 | 49 | ''' 50 | ''' Overrides the current thread's CurrentUICulture property for all 51 | ''' resource lookups using this strongly typed resource class. 52 | ''' 53 | _ 54 | Friend Property Culture() As Global.System.Globalization.CultureInfo 55 | Get 56 | Return resourceCulture 57 | End Get 58 | Set 59 | resourceCulture = value 60 | End Set 61 | End Property 62 | 63 | ''' 64 | ''' Looks up a localized resource of type System.Drawing.Bitmap. 65 | ''' 66 | Friend ReadOnly Property NCADrop() As System.Drawing.Bitmap 67 | Get 68 | Dim obj As Object = ResourceManager.GetObject("NCADrop", resourceCulture) 69 | Return CType(obj,System.Drawing.Bitmap) 70 | End Get 71 | End Property 72 | 73 | ''' 74 | ''' Looks up a localized resource of type System.Drawing.Bitmap. 75 | ''' 76 | Friend ReadOnly Property NSPDrop() As System.Drawing.Bitmap 77 | Get 78 | Dim obj As Object = ResourceManager.GetObject("NSPDrop", resourceCulture) 79 | Return CType(obj,System.Drawing.Bitmap) 80 | End Get 81 | End Property 82 | 83 | ''' 84 | ''' Looks up a localized resource of type System.Drawing.Bitmap. 85 | ''' 86 | Friend ReadOnly Property RomFSDrop() As System.Drawing.Bitmap 87 | Get 88 | Dim obj As Object = ResourceManager.GetObject("RomFSDrop", resourceCulture) 89 | Return CType(obj,System.Drawing.Bitmap) 90 | End Get 91 | End Property 92 | 93 | ''' 94 | ''' Looks up a localized resource of type System.Drawing.Bitmap. 95 | ''' 96 | Friend ReadOnly Property XCIDrop() As System.Drawing.Bitmap 97 | Get 98 | Dim obj As Object = ResourceManager.GetObject("XCIDrop", resourceCulture) 99 | Return CType(obj,System.Drawing.Bitmap) 100 | End Get 101 | End Property 102 | End Module 103 | End Namespace 104 | -------------------------------------------------------------------------------- /My Project/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 122 | ..\Resources\NCADrop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 123 | 124 | 125 | ..\Resources\RomFSDrop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 126 | 127 | 128 | ..\Resources\XCIDrop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 129 | 130 | 131 | ..\Resources\NSPDrop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 132 | 133 | -------------------------------------------------------------------------------- /My Project/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.42000 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | _ 20 | Partial Friend NotInheritable Class MySettings 21 | Inherits Global.System.Configuration.ApplicationSettingsBase 22 | 23 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) 24 | 25 | #Region "My.Settings Auto-Save Functionality" 26 | #If _MyType = "WindowsForms" Then 27 | Private Shared addedHandler As Boolean 28 | 29 | Private Shared addedHandlerLockObject As New Object 30 | 31 | _ 32 | Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) 33 | If My.Application.SaveMySettingsOnExit Then 34 | My.Settings.Save() 35 | End If 36 | End Sub 37 | #End If 38 | #End Region 39 | 40 | Public Shared ReadOnly Property [Default]() As MySettings 41 | Get 42 | 43 | #If _MyType = "WindowsForms" Then 44 | If Not addedHandler Then 45 | SyncLock addedHandlerLockObject 46 | If Not addedHandler Then 47 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings 48 | addedHandler = True 49 | End If 50 | End SyncLock 51 | End If 52 | #End If 53 | Return defaultInstance 54 | End Get 55 | End Property 56 | End Class 57 | End Namespace 58 | 59 | Namespace My 60 | 61 | _ 64 | Friend Module MySettingsProperty 65 | 66 | _ 67 | Friend ReadOnly Property Settings() As Global.HACToolGUI.My.MySettings 68 | Get 69 | Return Global.HACToolGUI.My.MySettings.Default 70 | End Get 71 | End Property 72 | End Module 73 | End Namespace 74 | -------------------------------------------------------------------------------- /My Project/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /My Project/app.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 52 | 59 | 60 | 61 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /NCAForm.Designer.vb: -------------------------------------------------------------------------------- 1 |  2 | Partial Class NCAForm 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | 24 | Private Sub InitializeComponent() 25 | Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(NCAForm)) 26 | Me.FileName = New System.Windows.Forms.TextBox() 27 | Me.OpenNCA = New System.Windows.Forms.Button() 28 | Me.Input = New System.Windows.Forms.Label() 29 | Me.SelectNCA = New System.Windows.Forms.OpenFileDialog() 30 | Me.PlainOpt = New System.Windows.Forms.RadioButton() 31 | Me.ExtractOpt = New System.Windows.Forms.RadioButton() 32 | Me.Output = New System.Windows.Forms.Label() 33 | Me.PlainStart = New System.Windows.Forms.Button() 34 | Me.PlainStr = New System.Windows.Forms.Label() 35 | Me.PlainName = New System.Windows.Forms.TextBox() 36 | Me.PlainExtStr = New System.Windows.Forms.Label() 37 | Me.ExtFolderName = New System.Windows.Forms.TextBox() 38 | Me.OutFolderStr = New System.Windows.Forms.Label() 39 | Me.ExtStart = New System.Windows.Forms.Button() 40 | Me.RomFSName = New System.Windows.Forms.TextBox() 41 | Me.RomFSStr = New System.Windows.Forms.Label() 42 | Me.RomFSStart = New System.Windows.Forms.Button() 43 | Me.RomFSOpt = New System.Windows.Forms.RadioButton() 44 | Me.PictureBox1 = New System.Windows.Forms.PictureBox() 45 | Me.RadioButton1 = New System.Windows.Forms.RadioButton() 46 | Me.RadioButton2 = New System.Windows.Forms.RadioButton() 47 | Me.KeyManLaunch = New System.Windows.Forms.Button() 48 | CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() 49 | Me.SuspendLayout() 50 | ' 51 | 'FileName 52 | ' 53 | Me.FileName.AllowDrop = True 54 | Me.FileName.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 55 | Me.FileName.BorderStyle = System.Windows.Forms.BorderStyle.None 56 | Me.FileName.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 57 | Me.FileName.Location = New System.Drawing.Point(130, 97) 58 | Me.FileName.Name = "FileName" 59 | Me.FileName.Size = New System.Drawing.Size(694, 28) 60 | Me.FileName.TabIndex = 1 61 | ' 62 | 'OpenNCA 63 | ' 64 | Me.OpenNCA.BackColor = System.Drawing.SystemColors.ControlDarkDark 65 | Me.OpenNCA.FlatAppearance.BorderSize = 0 66 | Me.OpenNCA.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 67 | Me.OpenNCA.FlatStyle = System.Windows.Forms.FlatStyle.Flat 68 | Me.OpenNCA.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 69 | Me.OpenNCA.ForeColor = System.Drawing.Color.White 70 | Me.OpenNCA.Location = New System.Drawing.Point(11, 88) 71 | Me.OpenNCA.Name = "OpenNCA" 72 | Me.OpenNCA.Size = New System.Drawing.Size(102, 44) 73 | Me.OpenNCA.TabIndex = 2 74 | Me.OpenNCA.Text = "Open" 75 | Me.OpenNCA.UseVisualStyleBackColor = False 76 | ' 77 | 'Input 78 | ' 79 | Me.Input.AutoSize = True 80 | Me.Input.BackColor = System.Drawing.Color.Gray 81 | Me.Input.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 82 | Me.Input.ForeColor = System.Drawing.Color.White 83 | Me.Input.Location = New System.Drawing.Point(6, 58) 84 | Me.Input.Name = "Input" 85 | Me.Input.Size = New System.Drawing.Size(101, 30) 86 | Me.Input.TabIndex = 3 87 | Me.Input.Text = "Input file:" 88 | ' 89 | 'SelectNCA 90 | ' 91 | Me.SelectNCA.FileName = "Select a file." 92 | Me.SelectNCA.InitialDirectory = "/" 93 | Me.SelectNCA.RestoreDirectory = True 94 | ' 95 | 'PlainOpt 96 | ' 97 | Me.PlainOpt.AutoSize = True 98 | Me.PlainOpt.BackColor = System.Drawing.Color.Gray 99 | Me.PlainOpt.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 100 | Me.PlainOpt.ForeColor = System.Drawing.Color.White 101 | Me.PlainOpt.Location = New System.Drawing.Point(11, 166) 102 | Me.PlainOpt.Name = "PlainOpt" 103 | Me.PlainOpt.Size = New System.Drawing.Size(173, 34) 104 | Me.PlainOpt.TabIndex = 4 105 | Me.PlainOpt.Text = "Plaintext NCA" 106 | Me.PlainOpt.UseVisualStyleBackColor = False 107 | ' 108 | 'ExtractOpt 109 | ' 110 | Me.ExtractOpt.AutoSize = True 111 | Me.ExtractOpt.BackColor = System.Drawing.Color.Gray 112 | Me.ExtractOpt.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 113 | Me.ExtractOpt.ForeColor = System.Drawing.Color.White 114 | Me.ExtractOpt.Location = New System.Drawing.Point(193, 166) 115 | Me.ExtractOpt.Name = "ExtractOpt" 116 | Me.ExtractOpt.Size = New System.Drawing.Size(235, 34) 117 | Me.ExtractOpt.TabIndex = 5 118 | Me.ExtractOpt.Text = "Extract files to folder" 119 | Me.ExtractOpt.UseVisualStyleBackColor = False 120 | ' 121 | 'Output 122 | ' 123 | Me.Output.AutoSize = True 124 | Me.Output.BackColor = System.Drawing.Color.Gray 125 | Me.Output.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 126 | Me.Output.ForeColor = System.Drawing.Color.White 127 | Me.Output.Location = New System.Drawing.Point(6, 135) 128 | Me.Output.Name = "Output" 129 | Me.Output.Size = New System.Drawing.Size(84, 30) 130 | Me.Output.TabIndex = 6 131 | Me.Output.Text = "Output:" 132 | ' 133 | 'PlainStart 134 | ' 135 | Me.PlainStart.BackColor = System.Drawing.SystemColors.ControlDarkDark 136 | Me.PlainStart.Enabled = False 137 | Me.PlainStart.FlatAppearance.BorderSize = 0 138 | Me.PlainStart.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 139 | Me.PlainStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat 140 | Me.PlainStart.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 141 | Me.PlainStart.ForeColor = System.Drawing.Color.White 142 | Me.PlainStart.Location = New System.Drawing.Point(636, 207) 143 | Me.PlainStart.Name = "PlainStart" 144 | Me.PlainStart.Size = New System.Drawing.Size(188, 41) 145 | Me.PlainStart.TabIndex = 7 146 | Me.PlainStart.Text = "Start" 147 | Me.PlainStart.UseVisualStyleBackColor = False 148 | ' 149 | 'PlainStr 150 | ' 151 | Me.PlainStr.AutoSize = True 152 | Me.PlainStr.BackColor = System.Drawing.Color.Gray 153 | Me.PlainStr.Enabled = False 154 | Me.PlainStr.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 155 | Me.PlainStr.ForeColor = System.Drawing.Color.White 156 | Me.PlainStr.Location = New System.Drawing.Point(6, 215) 157 | Me.PlainStr.Name = "PlainStr" 158 | Me.PlainStr.Size = New System.Drawing.Size(170, 30) 159 | Me.PlainStr.TabIndex = 8 160 | Me.PlainStr.Text = "Output filename:" 161 | ' 162 | 'PlainName 163 | ' 164 | Me.PlainName.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 165 | Me.PlainName.BorderStyle = System.Windows.Forms.BorderStyle.None 166 | Me.PlainName.Enabled = False 167 | Me.PlainName.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 168 | Me.PlainName.Location = New System.Drawing.Point(209, 215) 169 | Me.PlainName.Name = "PlainName" 170 | Me.PlainName.Size = New System.Drawing.Size(364, 28) 171 | Me.PlainName.TabIndex = 9 172 | ' 173 | 'PlainExtStr 174 | ' 175 | Me.PlainExtStr.AutoSize = True 176 | Me.PlainExtStr.BackColor = System.Drawing.Color.Gray 177 | Me.PlainExtStr.Enabled = False 178 | Me.PlainExtStr.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 179 | Me.PlainExtStr.ForeColor = System.Drawing.Color.White 180 | Me.PlainExtStr.Location = New System.Drawing.Point(577, 217) 181 | Me.PlainExtStr.Name = "PlainExtStr" 182 | Me.PlainExtStr.Size = New System.Drawing.Size(51, 30) 183 | Me.PlainExtStr.TabIndex = 10 184 | Me.PlainExtStr.Text = ".nca" 185 | ' 186 | 'ExtFolderName 187 | ' 188 | Me.ExtFolderName.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 189 | Me.ExtFolderName.BorderStyle = System.Windows.Forms.BorderStyle.None 190 | Me.ExtFolderName.Enabled = False 191 | Me.ExtFolderName.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 192 | Me.ExtFolderName.Location = New System.Drawing.Point(177, 260) 193 | Me.ExtFolderName.Name = "ExtFolderName" 194 | Me.ExtFolderName.Size = New System.Drawing.Size(506, 28) 195 | Me.ExtFolderName.TabIndex = 13 196 | ' 197 | 'OutFolderStr 198 | ' 199 | Me.OutFolderStr.AutoSize = True 200 | Me.OutFolderStr.BackColor = System.Drawing.Color.Gray 201 | Me.OutFolderStr.Enabled = False 202 | Me.OutFolderStr.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 203 | Me.OutFolderStr.ForeColor = System.Drawing.Color.White 204 | Me.OutFolderStr.Location = New System.Drawing.Point(6, 261) 205 | Me.OutFolderStr.Name = "OutFolderStr" 206 | Me.OutFolderStr.Size = New System.Drawing.Size(144, 30) 207 | Me.OutFolderStr.TabIndex = 12 208 | Me.OutFolderStr.Text = "Output folder:" 209 | ' 210 | 'ExtStart 211 | ' 212 | Me.ExtStart.BackColor = System.Drawing.SystemColors.ControlDarkDark 213 | Me.ExtStart.Enabled = False 214 | Me.ExtStart.FlatAppearance.BorderSize = 0 215 | Me.ExtStart.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 216 | Me.ExtStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat 217 | Me.ExtStart.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 218 | Me.ExtStart.ForeColor = System.Drawing.Color.White 219 | Me.ExtStart.Location = New System.Drawing.Point(689, 253) 220 | Me.ExtStart.Name = "ExtStart" 221 | Me.ExtStart.Size = New System.Drawing.Size(135, 42) 222 | Me.ExtStart.TabIndex = 11 223 | Me.ExtStart.Text = "Start" 224 | Me.ExtStart.UseVisualStyleBackColor = False 225 | ' 226 | 'RomFSName 227 | ' 228 | Me.RomFSName.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 229 | Me.RomFSName.BorderStyle = System.Windows.Forms.BorderStyle.None 230 | Me.RomFSName.Enabled = False 231 | Me.RomFSName.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 232 | Me.RomFSName.Location = New System.Drawing.Point(349, 304) 233 | Me.RomFSName.Name = "RomFSName" 234 | Me.RomFSName.Size = New System.Drawing.Size(334, 28) 235 | Me.RomFSName.TabIndex = 17 236 | ' 237 | 'RomFSStr 238 | ' 239 | Me.RomFSStr.AutoSize = True 240 | Me.RomFSStr.BackColor = System.Drawing.Color.Gray 241 | Me.RomFSStr.Enabled = False 242 | Me.RomFSStr.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 243 | Me.RomFSStr.ForeColor = System.Drawing.Color.White 244 | Me.RomFSStr.Location = New System.Drawing.Point(254, 304) 245 | Me.RomFSStr.Name = "RomFSStr" 246 | Me.RomFSStr.Size = New System.Drawing.Size(75, 30) 247 | Me.RomFSStr.TabIndex = 16 248 | Me.RomFSStr.Text = "Folder:" 249 | ' 250 | 'RomFSStart 251 | ' 252 | Me.RomFSStart.BackColor = System.Drawing.SystemColors.ControlDarkDark 253 | Me.RomFSStart.Enabled = False 254 | Me.RomFSStart.FlatAppearance.BorderSize = 0 255 | Me.RomFSStart.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 256 | Me.RomFSStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat 257 | Me.RomFSStart.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 258 | Me.RomFSStart.ForeColor = System.Drawing.Color.White 259 | Me.RomFSStart.Location = New System.Drawing.Point(689, 299) 260 | Me.RomFSStart.Name = "RomFSStart" 261 | Me.RomFSStart.Size = New System.Drawing.Size(135, 41) 262 | Me.RomFSStart.TabIndex = 15 263 | Me.RomFSStart.Text = "Start" 264 | Me.RomFSStart.UseVisualStyleBackColor = False 265 | ' 266 | 'RomFSOpt 267 | ' 268 | Me.RomFSOpt.AutoSize = True 269 | Me.RomFSOpt.BackColor = System.Drawing.Color.Gray 270 | Me.RomFSOpt.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 271 | Me.RomFSOpt.ForeColor = System.Drawing.Color.White 272 | Me.RomFSOpt.Location = New System.Drawing.Point(460, 167) 273 | Me.RomFSOpt.Name = "RomFSOpt" 274 | Me.RomFSOpt.Size = New System.Drawing.Size(336, 34) 275 | Me.RomFSOpt.TabIndex = 19 276 | Me.RomFSOpt.Text = "Generate emulator-ready folder" 277 | Me.RomFSOpt.UseVisualStyleBackColor = False 278 | ' 279 | 'PictureBox1 280 | ' 281 | Me.PictureBox1.BackColor = System.Drawing.Color.Transparent 282 | Me.PictureBox1.Image = Global.HACToolGUI.My.Resources.Resources.NCADrop 283 | Me.PictureBox1.Location = New System.Drawing.Point(-1, -1) 284 | Me.PictureBox1.Name = "PictureBox1" 285 | Me.PictureBox1.Size = New System.Drawing.Size(836, 348) 286 | Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage 287 | Me.PictureBox1.TabIndex = 20 288 | Me.PictureBox1.TabStop = False 289 | Me.PictureBox1.Visible = False 290 | ' 291 | 'RadioButton1 292 | ' 293 | Me.RadioButton1.AutoSize = True 294 | Me.RadioButton1.Enabled = False 295 | Me.RadioButton1.Font = New System.Drawing.Font("Segoe UI", 7.875!) 296 | Me.RadioButton1.Location = New System.Drawing.Point(11, 300) 297 | Me.RadioButton1.Name = "RadioButton1" 298 | Me.RadioButton1.Size = New System.Drawing.Size(90, 34) 299 | Me.RadioButton1.TabIndex = 21 300 | Me.RadioButton1.TabStop = True 301 | Me.RadioButton1.Text = "Yuzu" 302 | Me.RadioButton1.UseVisualStyleBackColor = True 303 | ' 304 | 'RadioButton2 305 | ' 306 | Me.RadioButton2.AutoSize = True 307 | Me.RadioButton2.Enabled = False 308 | Me.RadioButton2.Font = New System.Drawing.Font("Segoe UI", 7.875!) 309 | Me.RadioButton2.Location = New System.Drawing.Point(119, 300) 310 | Me.RadioButton2.Name = "RadioButton2" 311 | Me.RadioButton2.Size = New System.Drawing.Size(117, 34) 312 | Me.RadioButton2.TabIndex = 22 313 | Me.RadioButton2.TabStop = True 314 | Me.RadioButton2.Text = "RyujiNX" 315 | Me.RadioButton2.UseVisualStyleBackColor = True 316 | ' 317 | 'KeyManLaunch 318 | ' 319 | Me.KeyManLaunch.BackColor = System.Drawing.SystemColors.ControlDarkDark 320 | Me.KeyManLaunch.FlatAppearance.BorderSize = 0 321 | Me.KeyManLaunch.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 322 | Me.KeyManLaunch.FlatStyle = System.Windows.Forms.FlatStyle.Flat 323 | Me.KeyManLaunch.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.125!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 324 | Me.KeyManLaunch.ForeColor = System.Drawing.Color.White 325 | Me.KeyManLaunch.Location = New System.Drawing.Point(12, 4) 326 | Me.KeyManLaunch.Name = "KeyManLaunch" 327 | Me.KeyManLaunch.Size = New System.Drawing.Size(812, 56) 328 | Me.KeyManLaunch.TabIndex = 14 329 | Me.KeyManLaunch.Text = "Open Key Manager" 330 | Me.KeyManLaunch.UseVisualStyleBackColor = False 331 | ' 332 | 'NCAForm 333 | ' 334 | Me.AllowDrop = True 335 | Me.AutoScaleDimensions = New System.Drawing.SizeF(192.0!, 192.0!) 336 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi 337 | Me.BackColor = System.Drawing.Color.Gray 338 | Me.ClientSize = New System.Drawing.Size(835, 347) 339 | Me.Controls.Add(Me.PictureBox1) 340 | Me.Controls.Add(Me.RadioButton2) 341 | Me.Controls.Add(Me.RadioButton1) 342 | Me.Controls.Add(Me.RomFSOpt) 343 | Me.Controls.Add(Me.RomFSName) 344 | Me.Controls.Add(Me.RomFSStr) 345 | Me.Controls.Add(Me.RomFSStart) 346 | Me.Controls.Add(Me.KeyManLaunch) 347 | Me.Controls.Add(Me.ExtFolderName) 348 | Me.Controls.Add(Me.OutFolderStr) 349 | Me.Controls.Add(Me.ExtStart) 350 | Me.Controls.Add(Me.PlainExtStr) 351 | Me.Controls.Add(Me.PlainName) 352 | Me.Controls.Add(Me.PlainStr) 353 | Me.Controls.Add(Me.PlainStart) 354 | Me.Controls.Add(Me.Output) 355 | Me.Controls.Add(Me.ExtractOpt) 356 | Me.Controls.Add(Me.PlainOpt) 357 | Me.Controls.Add(Me.Input) 358 | Me.Controls.Add(Me.OpenNCA) 359 | Me.Controls.Add(Me.FileName) 360 | Me.ForeColor = System.Drawing.Color.White 361 | Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle 362 | Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) 363 | Me.MaximizeBox = False 364 | Me.Name = "NCAForm" 365 | Me.Text = "Extract NCA" 366 | CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() 367 | Me.ResumeLayout(False) 368 | Me.PerformLayout() 369 | 370 | End Sub 371 | Friend WithEvents FileName As TextBox 372 | Friend WithEvents OpenNCA As Button 373 | Friend WithEvents Input As Label 374 | Friend WithEvents SelectNCA As OpenFileDialog 375 | Friend WithEvents PlainOpt As RadioButton 376 | Friend WithEvents ExtractOpt As RadioButton 377 | Friend WithEvents Output As Label 378 | Friend WithEvents PlainStart As Button 379 | Friend WithEvents PlainStr As Label 380 | Friend WithEvents PlainName As TextBox 381 | Friend WithEvents PlainExtStr As Label 382 | Friend WithEvents ExtFolderName As TextBox 383 | Friend WithEvents OutFolderStr As Label 384 | Friend WithEvents ExtStart As Button 385 | Friend WithEvents RomFSName As TextBox 386 | Friend WithEvents RomFSStr As Label 387 | Friend WithEvents RomFSStart As Button 388 | Friend WithEvents RomFSOpt As RadioButton 389 | Friend WithEvents PictureBox1 As PictureBox 390 | Friend WithEvents RadioButton1 As RadioButton 391 | Friend WithEvents RadioButton2 As RadioButton 392 | Friend WithEvents KeyManLaunch As Button 393 | End Class 394 | -------------------------------------------------------------------------------- /NCAForm.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 469, 17 122 | 123 | 124 | 125 | 126 | AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAMMOAADDDgAAAAAAAAAA 127 | AAD///////////////////////////////////////////////////////////////////////////// 128 | /////////////wAAAP8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA////////////AAAA//// 129 | //////////////////8AAAD///////////8AAAD//////wAAAP///////////wAAAP///////////wAA 130 | AP//////////////////////AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD///////// 131 | //8AAAD//////////////////////wAAAP//////////////////////AAAA////////////AAAA//// 132 | ////////AAAA//////////////////////8AAAD//////////////////////wAAAP///////////wAA 133 | AP///////////wAAAP//////////////////////AAAA/wAAAP8AAAD/AAAA//////8AAAD///////// 134 | //8AAAD///////////8AAAD///////////////////////////////////////////////////////// 135 | //////////////////////////////////////////////////////////////////////////////// 136 | ////////////////////////////////////////////////////////AAD/////////////AAD///// 137 | //8AAP////////////8AAP///////wAA//8AAP//AAD//wAA/////////////wAA/////////////wAA 138 | ////////AAD/////////////AAD///////8AAP////////////////////////////8AAP//AAD//wAA 139 | //8AAP///////wAA//8AAP//AAD//wAA////////AAD/////////////////////////////AAD///// 140 | ////////AAD///////8AAP////////////8AAP///////wAA/////////////////////////////wAA 141 | /////////////wAA////////AAD/////////////AAD///////8AAP////////////////////////// 142 | //8AAP////////////8AAP///////wAA//8AAP//AAD//wAA////////AAD//wAA//8AAP//AAD///// 143 | //////////////////////////////////////////////////////////////////////////////// 144 | ////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 145 | AAAAAAAAAAAAAA== 146 | 147 | 148 | -------------------------------------------------------------------------------- /NCAForm.vb: -------------------------------------------------------------------------------- 1 | Imports System.IO.File 2 | Imports System.IO.Directory 3 | Public Class NCAForm 4 | Private Sub OpenNCA_Click(sender As Object, e As EventArgs) Handles OpenNCA.Click 5 | SelectNCA.ShowDialog() 6 | FileName.Text = SelectNCA.FileName 7 | If FileName.Text = "Select a file." Then 8 | FileName.Text = "" 9 | End If 10 | End Sub 11 | Private Sub PlainOpt_CheckedChanged(sender As Object, e As EventArgs) Handles PlainOpt.CheckedChanged 12 | WriteAllText("prefs.dat", "0") 13 | RadioButton1.Enabled = False 14 | RadioButton2.Enabled = False 15 | RomFSStr.Enabled = False 16 | RomFSName.Enabled = False 17 | RomFSStart.Enabled = False 18 | OutFolderStr.Enabled = False 19 | ExtFolderName.Enabled = False 20 | ExtStart.Enabled = False 21 | PlainStr.Enabled = True 22 | PlainName.Enabled = True 23 | PlainStart.Enabled = True 24 | PlainExtStr.Enabled = True 25 | End Sub 26 | Private Sub ExtractOpt_CheckedChanged(sender As Object, e As EventArgs) Handles ExtractOpt.CheckedChanged 27 | WriteAllText("prefs.dat", "1") 28 | RadioButton1.Enabled = False 29 | RadioButton2.Enabled = False 30 | RomFSStr.Enabled = False 31 | RomFSName.Enabled = False 32 | RomFSStart.Enabled = False 33 | PlainStr.Enabled = False 34 | PlainName.Enabled = False 35 | PlainStart.Enabled = False 36 | PlainExtStr.Enabled = False 37 | OutFolderStr.Enabled = True 38 | ExtFolderName.Enabled = True 39 | ExtStart.Enabled = True 40 | End Sub 41 | Private Sub PlainStart_Click(sender As Object, e As EventArgs) Handles PlainStart.Click 42 | If IO.File.Exists("keys.dat") Then 43 | If PlainName.Text IsNot "" Then 44 | Process.Start("cmd", "/c hactool -k keys.dat " + "--plaintext=" + PlainName.Text + ".nca" + " " + """" + FileName.Text + """") 45 | Else 46 | MsgBox("You must type a filename!") 47 | End If 48 | Else 49 | MsgBox("You must add keys first.") 50 | KeyForm.Show() 51 | End If 52 | End Sub 53 | Private Sub ExtStart_Click(sender As Object, e As EventArgs) Handles ExtStart.Click 54 | If IO.File.Exists("keys.dat") Then 55 | If ExtFolderName.Text IsNot "" Then 56 | CreateDirectory(ExtFolderName.Text) 57 | Process.Start("cmd", "/c hactool -k keys.dat " + "--romfsdir=" + ExtFolderName.Text + " " + """" + FileName.Text + """") 58 | Else 59 | MsgBox("You must type a folder name!") 60 | End If 61 | Else 62 | MsgBox("You must add keys first.") 63 | KeyForm.Show() 64 | End If 65 | End Sub 66 | 67 | Private Sub KeyManLaunch_Click(sender As Object, e As EventArgs) Handles KeyManLaunch.Click 68 | KeyForm.Show() 69 | End Sub 70 | 71 | Private Sub RomFSOpt_CheckedChanged(sender As Object, e As EventArgs) Handles RomFSOpt.CheckedChanged 72 | WriteAllText("prefs.dat", "2") 73 | RadioButton1.Enabled = True 74 | RadioButton2.Enabled = True 75 | RomFSStr.Enabled = True 76 | RomFSName.Enabled = True 77 | RomFSStart.Enabled = True 78 | PlainStr.Enabled = False 79 | PlainName.Enabled = False 80 | PlainStart.Enabled = False 81 | PlainExtStr.Enabled = False 82 | OutFolderStr.Enabled = False 83 | ExtFolderName.Enabled = False 84 | ExtStart.Enabled = False 85 | End Sub 86 | 87 | Private Sub RomFSStart_Click(sender As Object, e As EventArgs) Handles RomFSStart.Click 88 | If IO.File.Exists("keys.dat") Then 89 | If RomFSName.Text IsNot "" Then 90 | CreateDirectory(RomFSName.Text) 91 | If RadioButton1.Checked = True Then 92 | WriteAllText("prefs.dat", "A") 93 | Process.Start("cmd", "/c hactool -k keys.dat " + "--romfs=" + RomFSName.Text + "/RomFS.romfs" + " --section0dir=" + RomFSName.Text + " " + """" + FileName.Text + """") 94 | Else 95 | WriteAllText("prefs.dat", "B") 96 | Process.Start("cmd", "/c hactool -k keys.dat " + "--romfs=" + RomFSName.Text + "/game.istorage" + " --section0dir=" + RomFSName.Text + " " + """" + FileName.Text + """") 97 | End If 98 | Else 99 | MsgBox("You must type a filename!") 100 | End If 101 | Else 102 | MsgBox("You must add keys first.") 103 | KeyForm.Show() 104 | End If 105 | End Sub 106 | Private Sub NCAForm_DragDrop(sender As Object, e As DragEventArgs) Handles MyBase.DragDrop 107 | Dim DraggedFile() As String = e.Data.GetData(DataFormats.FileDrop) 108 | For Each File In DraggedFile 109 | FileName.Text = File 110 | Next 111 | PictureBox1.Visible = False 112 | End Sub 113 | 114 | Private Sub NCAForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load 115 | Me.AllowDrop = True 116 | If IO.File.Exists("prefs.dat") = False Then 117 | IO.File.Create("prefs.dat").Close() 118 | End If 119 | If ReadAllText("prefs.dat") = "0" Then 120 | PlainOpt.Checked = True 121 | ElseIf ReadAllText("prefs.dat") = "1" Then 122 | ExtractOpt.Checked = True 123 | ElseIf ReadAllText("prefs.dat") = "2" Then 124 | RomFSOpt.Checked = True 125 | ElseIf ReadAllText("prefs.dat") = "A" Then 126 | RadioButton1.Checked = True 127 | ElseIf ReadAllText("prefs.dat") = "B" Then 128 | RadioButton2.Checked = True 129 | ElseIf ReadAllText("prefs.dat") = "" Then 130 | 131 | End If 132 | 133 | End Sub 134 | 135 | Private Sub NCAForm_DragEnter(sender As Object, e As DragEventArgs) Handles MyBase.DragEnter 136 | If e.Data.GetDataPresent(DataFormats.FileDrop) Then 137 | e.Effect = DragDropEffects.Copy 138 | End If 139 | PictureBox1.Visible = True 140 | End Sub 141 | 142 | Private Sub FileName_DragDrop(sender As Object, e As DragEventArgs) Handles FileName.DragDrop 143 | Dim DraggedFile() As String = e.Data.GetData(DataFormats.FileDrop) 144 | For Each File In DraggedFile 145 | FileName.Text = File 146 | Next 147 | PictureBox1.Visible = False 148 | End Sub 149 | 150 | Private Sub FileName_DragEnter(sender As Object, e As DragEventArgs) Handles FileName.DragEnter 151 | If e.Data.GetDataPresent(DataFormats.FileDrop) Then 152 | e.Effect = DragDropEffects.Copy 153 | End If 154 | PictureBox1.Visible = True 155 | End Sub 156 | 157 | Private Sub NCAForm_DragLeave(sender As Object, e As EventArgs) Handles MyBase.DragLeave 158 | PictureBox1.Visible = False 159 | End Sub 160 | 161 | Private Sub FileName_DragLeave(sender As Object, e As EventArgs) Handles FileName.DragLeave 162 | PictureBox1.Visible = False 163 | End Sub 164 | End Class 165 | -------------------------------------------------------------------------------- /NPDMForm.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class NPDMForm 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | components = New System.ComponentModel.Container 26 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 27 | Me.Text = "NPDMForm" 28 | End Sub 29 | End Class 30 | -------------------------------------------------------------------------------- /NPDMForm.vb: -------------------------------------------------------------------------------- 1 | Public Class NPDMForm 2 | 3 | End Class -------------------------------------------------------------------------------- /PFS0Form.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class PFS0Form 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(PFS0Form)) 26 | Me.ExtFolderName = New System.Windows.Forms.TextBox() 27 | Me.OutFolderStr = New System.Windows.Forms.Label() 28 | Me.ExtStart = New System.Windows.Forms.Button() 29 | Me.Input = New System.Windows.Forms.Label() 30 | Me.OpenPFS0 = New System.Windows.Forms.Button() 31 | Me.FileName = New System.Windows.Forms.TextBox() 32 | Me.SelectPFS0 = New System.Windows.Forms.OpenFileDialog() 33 | Me.PictureBox1 = New System.Windows.Forms.PictureBox() 34 | CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() 35 | Me.SuspendLayout() 36 | ' 37 | 'ExtFolderName 38 | ' 39 | Me.ExtFolderName.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 40 | Me.ExtFolderName.BorderStyle = System.Windows.Forms.BorderStyle.None 41 | Me.ExtFolderName.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 42 | Me.ExtFolderName.Location = New System.Drawing.Point(181, 101) 43 | Me.ExtFolderName.Name = "ExtFolderName" 44 | Me.ExtFolderName.Size = New System.Drawing.Size(506, 28) 45 | Me.ExtFolderName.TabIndex = 26 46 | ' 47 | 'OutFolderStr 48 | ' 49 | Me.OutFolderStr.AutoSize = True 50 | Me.OutFolderStr.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 51 | Me.OutFolderStr.ForeColor = System.Drawing.Color.White 52 | Me.OutFolderStr.Location = New System.Drawing.Point(14, 100) 53 | Me.OutFolderStr.Name = "OutFolderStr" 54 | Me.OutFolderStr.Size = New System.Drawing.Size(144, 30) 55 | Me.OutFolderStr.TabIndex = 25 56 | Me.OutFolderStr.Text = "Output folder:" 57 | ' 58 | 'ExtStart 59 | ' 60 | Me.ExtStart.BackColor = System.Drawing.SystemColors.ControlDarkDark 61 | Me.ExtStart.FlatAppearance.BorderSize = 0 62 | Me.ExtStart.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 63 | Me.ExtStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat 64 | Me.ExtStart.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 65 | Me.ExtStart.ForeColor = System.Drawing.Color.White 66 | Me.ExtStart.Location = New System.Drawing.Point(697, 93) 67 | Me.ExtStart.Name = "ExtStart" 68 | Me.ExtStart.Size = New System.Drawing.Size(135, 42) 69 | Me.ExtStart.TabIndex = 24 70 | Me.ExtStart.Text = "Start" 71 | Me.ExtStart.UseVisualStyleBackColor = False 72 | ' 73 | 'Input 74 | ' 75 | Me.Input.AutoSize = True 76 | Me.Input.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 77 | Me.Input.ForeColor = System.Drawing.Color.White 78 | Me.Input.Location = New System.Drawing.Point(14, 13) 79 | Me.Input.Name = "Input" 80 | Me.Input.Size = New System.Drawing.Size(101, 30) 81 | Me.Input.TabIndex = 23 82 | Me.Input.Text = "Input file:" 83 | ' 84 | 'OpenPFS0 85 | ' 86 | Me.OpenPFS0.BackColor = System.Drawing.SystemColors.ControlDarkDark 87 | Me.OpenPFS0.FlatAppearance.BorderSize = 0 88 | Me.OpenPFS0.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 89 | Me.OpenPFS0.FlatStyle = System.Windows.Forms.FlatStyle.Flat 90 | Me.OpenPFS0.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 91 | Me.OpenPFS0.ForeColor = System.Drawing.Color.White 92 | Me.OpenPFS0.Location = New System.Drawing.Point(19, 43) 93 | Me.OpenPFS0.Name = "OpenPFS0" 94 | Me.OpenPFS0.Size = New System.Drawing.Size(102, 44) 95 | Me.OpenPFS0.TabIndex = 22 96 | Me.OpenPFS0.Text = "Open" 97 | Me.OpenPFS0.UseVisualStyleBackColor = False 98 | ' 99 | 'FileName 100 | ' 101 | Me.FileName.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 102 | Me.FileName.BorderStyle = System.Windows.Forms.BorderStyle.None 103 | Me.FileName.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 104 | Me.FileName.Location = New System.Drawing.Point(136, 50) 105 | Me.FileName.Name = "FileName" 106 | Me.FileName.Size = New System.Drawing.Size(694, 28) 107 | Me.FileName.TabIndex = 21 108 | ' 109 | 'SelectPFS0 110 | ' 111 | Me.SelectPFS0.FileName = "Select a file..." 112 | Me.SelectPFS0.InitialDirectory = "/" 113 | Me.SelectPFS0.RestoreDirectory = True 114 | ' 115 | 'PictureBox1 116 | ' 117 | Me.PictureBox1.Image = Global.HACToolGUI.My.Resources.Resources.NSPDrop 118 | Me.PictureBox1.Location = New System.Drawing.Point(0, 0) 119 | Me.PictureBox1.Name = "PictureBox1" 120 | Me.PictureBox1.Size = New System.Drawing.Size(851, 150) 121 | Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage 122 | Me.PictureBox1.TabIndex = 27 123 | Me.PictureBox1.TabStop = False 124 | Me.PictureBox1.Visible = False 125 | ' 126 | 'PFS0Form 127 | ' 128 | Me.AutoScaleDimensions = New System.Drawing.SizeF(12.0!, 25.0!) 129 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 130 | Me.BackColor = System.Drawing.Color.Gray 131 | Me.ClientSize = New System.Drawing.Size(852, 149) 132 | Me.Controls.Add(Me.PictureBox1) 133 | Me.Controls.Add(Me.ExtFolderName) 134 | Me.Controls.Add(Me.OutFolderStr) 135 | Me.Controls.Add(Me.ExtStart) 136 | Me.Controls.Add(Me.Input) 137 | Me.Controls.Add(Me.OpenPFS0) 138 | Me.Controls.Add(Me.FileName) 139 | Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) 140 | Me.Name = "PFS0Form" 141 | Me.Text = "Extract PFS0" 142 | CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() 143 | Me.ResumeLayout(False) 144 | Me.PerformLayout() 145 | 146 | End Sub 147 | 148 | Friend WithEvents ExtFolderName As TextBox 149 | Friend WithEvents OutFolderStr As Label 150 | Friend WithEvents ExtStart As Button 151 | Friend WithEvents Input As Label 152 | Friend WithEvents OpenPFS0 As Button 153 | Friend WithEvents FileName As TextBox 154 | Friend WithEvents SelectPFS0 As OpenFileDialog 155 | Friend WithEvents PictureBox1 As PictureBox 156 | End Class 157 | -------------------------------------------------------------------------------- /PFS0Form.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 5, 5 122 | 123 | 124 | 125 | 126 | AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAMMOAADDDgAAAAAAAAAA 127 | AAD///////////////////////////////////////////////////////////////////////////// 128 | /////////////wAAAP8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA////////////AAAA//// 129 | //////////////////8AAAD///////////8AAAD//////wAAAP///////////wAAAP///////////wAA 130 | AP//////////////////////AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD///////// 131 | //8AAAD//////////////////////wAAAP//////////////////////AAAA////////////AAAA//// 132 | ////////AAAA//////////////////////8AAAD//////////////////////wAAAP///////////wAA 133 | AP///////////wAAAP//////////////////////AAAA/wAAAP8AAAD/AAAA//////8AAAD///////// 134 | //8AAAD///////////8AAAD///////////////////////////////////////////////////////// 135 | //////////////////////////////////////////////////////////////////////////////// 136 | ////////////////////////////////////////////////////////AAD/////////////AAD///// 137 | //8AAP////////////8AAP///////wAA//8AAP//AAD//wAA/////////////wAA/////////////wAA 138 | ////////AAD/////////////AAD///////8AAP////////////////////////////8AAP//AAD//wAA 139 | //8AAP///////wAA//8AAP//AAD//wAA////////AAD/////////////////////////////AAD///// 140 | ////////AAD///////8AAP////////////8AAP///////wAA/////////////////////////////wAA 141 | /////////////wAA////////AAD/////////////AAD///////8AAP////////////////////////// 142 | //8AAP////////////8AAP///////wAA//8AAP//AAD//wAA////////AAD//wAA//8AAP//AAD///// 143 | //////////////////////////////////////////////////////////////////////////////// 144 | ////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 145 | AAAAAAAAAAAAAA== 146 | 147 | 148 | -------------------------------------------------------------------------------- /PFS0Form.vb: -------------------------------------------------------------------------------- 1 | Public Class PFS0Form 2 | Private Sub OpenPFS0_Click(sender As Object, e As EventArgs) Handles OpenPFS0.Click 3 | SelectPFS0.ShowDialog() 4 | FileName.Text = SelectPFS0.FileName 5 | If FileName.Text = "Select a file." Then 6 | FileName.Text = "" 7 | End If 8 | End Sub 9 | 10 | Private Sub ExtStart_Click(sender As Object, e As EventArgs) Handles ExtStart.Click 11 | If ExtFolderName.Text IsNot "" Then 12 | IO.Directory.CreateDirectory(ExtFolderName.Text) 13 | Process.Start("cmd", "/c hactool -x --intype=pfs0 " + "--outdir=" + ExtFolderName.Text + " " + """" + FileName.Text + """") 14 | Else 15 | MsgBox("You must type a folder name!") 16 | End If 17 | End Sub 18 | Private Sub PFS0Form_DragDrop(sender As Object, e As DragEventArgs) Handles MyBase.DragDrop 19 | Dim DraggedFile() As String = e.Data.GetData(DataFormats.FileDrop) 20 | For Each File In DraggedFile 21 | FileName.Text = File 22 | Next 23 | PictureBox1.Visible = False 24 | End Sub 25 | 26 | Private Sub PFS0Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load 27 | Me.AllowDrop = True 28 | End Sub 29 | 30 | Private Sub PFS0Form_DragEnter(sender As Object, e As DragEventArgs) Handles MyBase.DragEnter 31 | If e.Data.GetDataPresent(DataFormats.FileDrop) Then 32 | e.Effect = DragDropEffects.Copy 33 | End If 34 | PictureBox1.Visible = True 35 | End Sub 36 | 37 | Private Sub FileName_DragDrop(sender As Object, e As DragEventArgs) Handles FileName.DragDrop 38 | Dim DraggedFile() As String = e.Data.GetData(DataFormats.FileDrop) 39 | For Each File In DraggedFile 40 | FileName.Text = File 41 | Next 42 | PictureBox1.Visible = False 43 | End Sub 44 | 45 | Private Sub FileName_DragEnter(sender As Object, e As DragEventArgs) Handles FileName.DragEnter 46 | If e.Data.GetDataPresent(DataFormats.FileDrop) Then 47 | e.Effect = DragDropEffects.Copy 48 | End If 49 | PictureBox1.Visible = True 50 | End Sub 51 | 52 | Private Sub PFS0Form_DragLeave(sender As Object, e As EventArgs) Handles MyBase.DragLeave 53 | PictureBox1.Visible = False 54 | End Sub 55 | 56 | Private Sub FileName_DragLeave(sender As Object, e As EventArgs) Handles FileName.DragLeave 57 | PictureBox1.Visible = False 58 | End Sub 59 | Private Sub ExtFolderName_DragDrop(sender As Object, e As DragEventArgs) Handles ExtFolderName.DragDrop 60 | Dim DraggedFile() As String = e.Data.GetData(DataFormats.FileDrop) 61 | For Each File In DraggedFile 62 | FileName.Text = File 63 | Next 64 | PictureBox1.Visible = False 65 | End Sub 66 | 67 | Private Sub ExtFolderName_DragEnter(sender As Object, e As DragEventArgs) Handles ExtFolderName.DragEnter 68 | If e.Data.GetDataPresent(DataFormats.FileDrop) Then 69 | e.Effect = DragDropEffects.Copy 70 | End If 71 | PictureBox1.Visible = True 72 | End Sub 73 | Private Sub ExtFolderName_DragLeave(sender As Object, e As EventArgs) Handles ExtFolderName.DragLeave 74 | PictureBox1.Visible = False 75 | End Sub 76 | End Class -------------------------------------------------------------------------------- /PK11Form.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class PK11Form 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | components = New System.ComponentModel.Container 26 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 27 | Me.Text = "PK11Form" 28 | End Sub 29 | End Class 30 | -------------------------------------------------------------------------------- /PK11Form.vb: -------------------------------------------------------------------------------- 1 | Public Class PK11Form 2 | 3 | End Class -------------------------------------------------------------------------------- /PK21Form.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class PK21Form 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | components = New System.ComponentModel.Container 26 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 27 | Me.Text = "PK21Form" 28 | End Sub 29 | End Class 30 | -------------------------------------------------------------------------------- /PK21Form.vb: -------------------------------------------------------------------------------- 1 | Public Class PK21Form 2 | 3 | End Class -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # HACToolGUI 2 | A simple GUI for hactool. 3 | -------------------------------------------------------------------------------- /Resources/NCADrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/switch-stuff/HACToolGUI/8f59627455cbf50b7434baf1f6e344a41655c101/Resources/NCADrop.png -------------------------------------------------------------------------------- /Resources/NSPDrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/switch-stuff/HACToolGUI/8f59627455cbf50b7434baf1f6e344a41655c101/Resources/NSPDrop.png -------------------------------------------------------------------------------- /Resources/RomFSDrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/switch-stuff/HACToolGUI/8f59627455cbf50b7434baf1f6e344a41655c101/Resources/RomFSDrop.png -------------------------------------------------------------------------------- /Resources/XCIDrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/switch-stuff/HACToolGUI/8f59627455cbf50b7434baf1f6e344a41655c101/Resources/XCIDrop.png -------------------------------------------------------------------------------- /RomFSForm.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class RomFSForm 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(RomFSForm)) 26 | Me.ExtFolderName = New System.Windows.Forms.TextBox() 27 | Me.OutFolderStr = New System.Windows.Forms.Label() 28 | Me.ExtStart = New System.Windows.Forms.Button() 29 | Me.Input = New System.Windows.Forms.Label() 30 | Me.OpenRomFS = New System.Windows.Forms.Button() 31 | Me.FileName = New System.Windows.Forms.TextBox() 32 | Me.SelectRomFS = New System.Windows.Forms.OpenFileDialog() 33 | Me.PictureBox1 = New System.Windows.Forms.PictureBox() 34 | CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() 35 | Me.SuspendLayout() 36 | ' 37 | 'ExtFolderName 38 | ' 39 | Me.ExtFolderName.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 40 | Me.ExtFolderName.BorderStyle = System.Windows.Forms.BorderStyle.None 41 | Me.ExtFolderName.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 42 | Me.ExtFolderName.Location = New System.Drawing.Point(181, 101) 43 | Me.ExtFolderName.Name = "ExtFolderName" 44 | Me.ExtFolderName.Size = New System.Drawing.Size(506, 28) 45 | Me.ExtFolderName.TabIndex = 19 46 | ' 47 | 'OutFolderStr 48 | ' 49 | Me.OutFolderStr.AutoSize = True 50 | Me.OutFolderStr.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 51 | Me.OutFolderStr.ForeColor = System.Drawing.Color.White 52 | Me.OutFolderStr.Location = New System.Drawing.Point(14, 100) 53 | Me.OutFolderStr.Name = "OutFolderStr" 54 | Me.OutFolderStr.Size = New System.Drawing.Size(144, 30) 55 | Me.OutFolderStr.TabIndex = 18 56 | Me.OutFolderStr.Text = "Output folder:" 57 | ' 58 | 'ExtStart 59 | ' 60 | Me.ExtStart.BackColor = System.Drawing.SystemColors.ControlDarkDark 61 | Me.ExtStart.FlatAppearance.BorderSize = 0 62 | Me.ExtStart.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 63 | Me.ExtStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat 64 | Me.ExtStart.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 65 | Me.ExtStart.ForeColor = System.Drawing.Color.White 66 | Me.ExtStart.Location = New System.Drawing.Point(697, 93) 67 | Me.ExtStart.Name = "ExtStart" 68 | Me.ExtStart.Size = New System.Drawing.Size(135, 42) 69 | Me.ExtStart.TabIndex = 17 70 | Me.ExtStart.Text = "Start" 71 | Me.ExtStart.UseVisualStyleBackColor = False 72 | ' 73 | 'Input 74 | ' 75 | Me.Input.AutoSize = True 76 | Me.Input.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 77 | Me.Input.ForeColor = System.Drawing.Color.White 78 | Me.Input.Location = New System.Drawing.Point(14, 13) 79 | Me.Input.Name = "Input" 80 | Me.Input.Size = New System.Drawing.Size(101, 30) 81 | Me.Input.TabIndex = 16 82 | Me.Input.Text = "Input file:" 83 | ' 84 | 'OpenRomFS 85 | ' 86 | Me.OpenRomFS.BackColor = System.Drawing.SystemColors.ControlDarkDark 87 | Me.OpenRomFS.FlatAppearance.BorderSize = 0 88 | Me.OpenRomFS.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 89 | Me.OpenRomFS.FlatStyle = System.Windows.Forms.FlatStyle.Flat 90 | Me.OpenRomFS.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 91 | Me.OpenRomFS.ForeColor = System.Drawing.Color.White 92 | Me.OpenRomFS.Location = New System.Drawing.Point(19, 43) 93 | Me.OpenRomFS.Name = "OpenRomFS" 94 | Me.OpenRomFS.Size = New System.Drawing.Size(102, 44) 95 | Me.OpenRomFS.TabIndex = 15 96 | Me.OpenRomFS.Text = "Open" 97 | Me.OpenRomFS.UseVisualStyleBackColor = False 98 | ' 99 | 'FileName 100 | ' 101 | Me.FileName.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 102 | Me.FileName.BorderStyle = System.Windows.Forms.BorderStyle.None 103 | Me.FileName.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 104 | Me.FileName.Location = New System.Drawing.Point(136, 50) 105 | Me.FileName.Name = "FileName" 106 | Me.FileName.Size = New System.Drawing.Size(694, 28) 107 | Me.FileName.TabIndex = 14 108 | ' 109 | 'SelectRomFS 110 | ' 111 | Me.SelectRomFS.FileName = "Select a file..." 112 | Me.SelectRomFS.InitialDirectory = "/" 113 | Me.SelectRomFS.RestoreDirectory = True 114 | ' 115 | 'PictureBox1 116 | ' 117 | Me.PictureBox1.Image = Global.HACToolGUI.My.Resources.Resources.RomFSDrop 118 | Me.PictureBox1.Location = New System.Drawing.Point(0, 0) 119 | Me.PictureBox1.Name = "PictureBox1" 120 | Me.PictureBox1.Size = New System.Drawing.Size(851, 150) 121 | Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage 122 | Me.PictureBox1.TabIndex = 20 123 | Me.PictureBox1.TabStop = False 124 | Me.PictureBox1.Visible = False 125 | ' 126 | 'RomFSForm 127 | ' 128 | Me.AutoScaleDimensions = New System.Drawing.SizeF(12.0!, 25.0!) 129 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 130 | Me.BackColor = System.Drawing.Color.Gray 131 | Me.ClientSize = New System.Drawing.Size(852, 149) 132 | Me.Controls.Add(Me.PictureBox1) 133 | Me.Controls.Add(Me.ExtFolderName) 134 | Me.Controls.Add(Me.OutFolderStr) 135 | Me.Controls.Add(Me.ExtStart) 136 | Me.Controls.Add(Me.Input) 137 | Me.Controls.Add(Me.OpenRomFS) 138 | Me.Controls.Add(Me.FileName) 139 | Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) 140 | Me.Name = "RomFSForm" 141 | Me.Text = "Extract RomFS" 142 | CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() 143 | Me.ResumeLayout(False) 144 | Me.PerformLayout() 145 | 146 | End Sub 147 | 148 | Friend WithEvents ExtFolderName As TextBox 149 | Friend WithEvents OutFolderStr As Label 150 | Friend WithEvents ExtStart As Button 151 | Friend WithEvents Input As Label 152 | Friend WithEvents OpenRomFS As Button 153 | Friend WithEvents FileName As TextBox 154 | Friend WithEvents SelectRomFS As OpenFileDialog 155 | Friend WithEvents PictureBox1 As PictureBox 156 | End Class 157 | -------------------------------------------------------------------------------- /RomFSForm.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | 124 | 125 | 126 | AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAMMOAADDDgAAAAAAAAAA 127 | AAD///////////////////////////////////////////////////////////////////////////// 128 | /////////////wAAAP8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA////////////AAAA//// 129 | //////////////////8AAAD///////////8AAAD//////wAAAP///////////wAAAP///////////wAA 130 | AP//////////////////////AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD///////// 131 | //8AAAD//////////////////////wAAAP//////////////////////AAAA////////////AAAA//// 132 | ////////AAAA//////////////////////8AAAD//////////////////////wAAAP///////////wAA 133 | AP///////////wAAAP//////////////////////AAAA/wAAAP8AAAD/AAAA//////8AAAD///////// 134 | //8AAAD///////////8AAAD///////////////////////////////////////////////////////// 135 | //////////////////////////////////////////////////////////////////////////////// 136 | ////////////////////////////////////////////////////////AAD/////////////AAD///// 137 | //8AAP////////////8AAP///////wAA//8AAP//AAD//wAA/////////////wAA/////////////wAA 138 | ////////AAD/////////////AAD///////8AAP////////////////////////////8AAP//AAD//wAA 139 | //8AAP///////wAA//8AAP//AAD//wAA////////AAD/////////////////////////////AAD///// 140 | ////////AAD///////8AAP////////////8AAP///////wAA/////////////////////////////wAA 141 | /////////////wAA////////AAD/////////////AAD///////8AAP////////////////////////// 142 | //8AAP////////////8AAP///////wAA//8AAP//AAD//wAA////////AAD//wAA//8AAP//AAD///// 143 | //////////////////////////////////////////////////////////////////////////////// 144 | ////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 145 | AAAAAAAAAAAAAA== 146 | 147 | 148 | -------------------------------------------------------------------------------- /RomFSForm.vb: -------------------------------------------------------------------------------- 1 | Public Class RomFSForm 2 | Private Sub OpenRomFS_Click(sender As Object, e As EventArgs) Handles OpenRomFS.Click 3 | SelectRomFS.ShowDialog() 4 | FileName.Text = SelectRomFS.FileName 5 | If FileName.Text = "Select a file." Then 6 | FileName.Text = "" 7 | End If 8 | End Sub 9 | 10 | Private Sub ExtStart_Click(sender As Object, e As EventArgs) Handles ExtStart.Click 11 | If ExtFolderName.Text IsNot "" Then 12 | IO.Directory.CreateDirectory(ExtFolderName.Text) 13 | Process.Start("cmd", "/c hactool -x --intype=romfs " + "--outdir=" + ExtFolderName.Text + " " + """" + FileName.Text + """") 14 | Else 15 | MsgBox("You must type a folder name!") 16 | End If 17 | End Sub 18 | Private Sub RomFSForm_DragDrop(sender As Object, e As DragEventArgs) Handles MyBase.DragDrop 19 | Dim DraggedFile() As String = e.Data.GetData(DataFormats.FileDrop) 20 | For Each File In DraggedFile 21 | FileName.Text = File 22 | Next 23 | PictureBox1.Visible = False 24 | End Sub 25 | 26 | Private Sub RomFSForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load 27 | Me.AllowDrop = True 28 | End Sub 29 | 30 | Private Sub RomFSForm_DragEnter(sender As Object, e As DragEventArgs) Handles MyBase.DragEnter 31 | If e.Data.GetDataPresent(DataFormats.FileDrop) Then 32 | e.Effect = DragDropEffects.Copy 33 | End If 34 | PictureBox1.Visible = True 35 | End Sub 36 | 37 | Private Sub FileName_DragDrop(sender As Object, e As DragEventArgs) Handles FileName.DragDrop 38 | Dim DraggedFile() As String = e.Data.GetData(DataFormats.FileDrop) 39 | For Each File In DraggedFile 40 | FileName.Text = File 41 | Next 42 | PictureBox1.Visible = False 43 | End Sub 44 | 45 | Private Sub FileName_DragEnter(sender As Object, e As DragEventArgs) Handles FileName.DragEnter 46 | If e.Data.GetDataPresent(DataFormats.FileDrop) Then 47 | e.Effect = DragDropEffects.Copy 48 | End If 49 | PictureBox1.Visible = True 50 | End Sub 51 | 52 | Private Sub RomFSForm_DragLeave(sender As Object, e As EventArgs) Handles MyBase.DragLeave 53 | PictureBox1.Visible = False 54 | End Sub 55 | 56 | Private Sub FileName_DragLeave(sender As Object, e As EventArgs) Handles FileName.DragLeave 57 | PictureBox1.Visible = False 58 | End Sub 59 | Private Sub ExtFolderName_DragDrop(sender As Object, e As DragEventArgs) Handles ExtFolderName.DragDrop 60 | Dim DraggedFile() As String = e.Data.GetData(DataFormats.FileDrop) 61 | For Each File In DraggedFile 62 | FileName.Text = File 63 | Next 64 | PictureBox1.Visible = False 65 | End Sub 66 | 67 | Private Sub ExtFolderName_DragEnter(sender As Object, e As DragEventArgs) Handles ExtFolderName.DragEnter 68 | If e.Data.GetDataPresent(DataFormats.FileDrop) Then 69 | e.Effect = DragDropEffects.Copy 70 | End If 71 | PictureBox1.Visible = True 72 | End Sub 73 | Private Sub ExtFolderName_DragLeave(sender As Object, e As EventArgs) Handles ExtFolderName.DragLeave 74 | PictureBox1.Visible = False 75 | End Sub 76 | End Class -------------------------------------------------------------------------------- /XCIForm.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class XCIForm 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(XCIForm)) 26 | Me.OutputDir = New System.Windows.Forms.TextBox() 27 | Me.OutStr = New System.Windows.Forms.Label() 28 | Me.Start = New System.Windows.Forms.Button() 29 | Me.SelectXCI = New System.Windows.Forms.OpenFileDialog() 30 | Me.InStr = New System.Windows.Forms.Label() 31 | Me.OpenXCI = New System.Windows.Forms.Button() 32 | Me.InFile = New System.Windows.Forms.TextBox() 33 | Me.PictureBox1 = New System.Windows.Forms.PictureBox() 34 | CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() 35 | Me.SuspendLayout() 36 | ' 37 | 'OutputDir 38 | ' 39 | Me.OutputDir.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 40 | Me.OutputDir.BorderStyle = System.Windows.Forms.BorderStyle.None 41 | Me.OutputDir.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 42 | Me.OutputDir.Location = New System.Drawing.Point(177, 106) 43 | Me.OutputDir.Name = "OutputDir" 44 | Me.OutputDir.Size = New System.Drawing.Size(451, 28) 45 | Me.OutputDir.TabIndex = 27 46 | ' 47 | 'OutStr 48 | ' 49 | Me.OutStr.AutoSize = True 50 | Me.OutStr.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 51 | Me.OutStr.ForeColor = System.Drawing.Color.White 52 | Me.OutStr.Location = New System.Drawing.Point(11, 105) 53 | Me.OutStr.Name = "OutStr" 54 | Me.OutStr.Size = New System.Drawing.Size(144, 30) 55 | Me.OutStr.TabIndex = 26 56 | Me.OutStr.Text = "Output folder:" 57 | ' 58 | 'Start 59 | ' 60 | Me.Start.BackColor = System.Drawing.SystemColors.ControlDarkDark 61 | Me.Start.FlatAppearance.BorderSize = 0 62 | Me.Start.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 63 | Me.Start.FlatStyle = System.Windows.Forms.FlatStyle.Flat 64 | Me.Start.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 65 | Me.Start.ForeColor = System.Drawing.Color.White 66 | Me.Start.Location = New System.Drawing.Point(634, 98) 67 | Me.Start.Name = "Start" 68 | Me.Start.Size = New System.Drawing.Size(133, 42) 69 | Me.Start.TabIndex = 25 70 | Me.Start.Text = "Start" 71 | Me.Start.UseVisualStyleBackColor = False 72 | ' 73 | 'SelectXCI 74 | ' 75 | Me.SelectXCI.FileName = "Select a file." 76 | Me.SelectXCI.InitialDirectory = "/" 77 | Me.SelectXCI.RestoreDirectory = True 78 | ' 79 | 'InStr 80 | ' 81 | Me.InStr.AutoSize = True 82 | Me.InStr.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 83 | Me.InStr.ForeColor = System.Drawing.Color.White 84 | Me.InStr.Location = New System.Drawing.Point(11, 10) 85 | Me.InStr.Name = "InStr" 86 | Me.InStr.Size = New System.Drawing.Size(101, 30) 87 | Me.InStr.TabIndex = 17 88 | Me.InStr.Text = "Input file:" 89 | ' 90 | 'OpenXCI 91 | ' 92 | Me.OpenXCI.BackColor = System.Drawing.SystemColors.ControlDarkDark 93 | Me.OpenXCI.FlatAppearance.BorderSize = 0 94 | Me.OpenXCI.FlatAppearance.MouseOverBackColor = System.Drawing.Color.DarkGray 95 | Me.OpenXCI.FlatStyle = System.Windows.Forms.FlatStyle.Flat 96 | Me.OpenXCI.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 97 | Me.OpenXCI.ForeColor = System.Drawing.Color.White 98 | Me.OpenXCI.Location = New System.Drawing.Point(16, 42) 99 | Me.OpenXCI.Name = "OpenXCI" 100 | Me.OpenXCI.Size = New System.Drawing.Size(102, 44) 101 | Me.OpenXCI.TabIndex = 16 102 | Me.OpenXCI.Text = "Open" 103 | Me.OpenXCI.UseVisualStyleBackColor = False 104 | ' 105 | 'InFile 106 | ' 107 | Me.InFile.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) 108 | Me.InFile.BorderStyle = System.Windows.Forms.BorderStyle.None 109 | Me.InFile.Font = New System.Drawing.Font("Segoe UI", 7.875!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) 110 | Me.InFile.Location = New System.Drawing.Point(130, 49) 111 | Me.InFile.Name = "InFile" 112 | Me.InFile.Size = New System.Drawing.Size(637, 28) 113 | Me.InFile.TabIndex = 15 114 | ' 115 | 'PictureBox1 116 | ' 117 | Me.PictureBox1.Image = Global.HACToolGUI.My.Resources.Resources.XCIDrop 118 | Me.PictureBox1.Location = New System.Drawing.Point(0, 0) 119 | Me.PictureBox1.Name = "PictureBox1" 120 | Me.PictureBox1.Size = New System.Drawing.Size(780, 154) 121 | Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage 122 | Me.PictureBox1.TabIndex = 28 123 | Me.PictureBox1.TabStop = False 124 | Me.PictureBox1.Visible = False 125 | ' 126 | 'XCIForm 127 | ' 128 | Me.AllowDrop = True 129 | Me.AutoScaleDimensions = New System.Drawing.SizeF(192.0!, 192.0!) 130 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi 131 | Me.BackColor = System.Drawing.Color.Gray 132 | Me.ClientSize = New System.Drawing.Size(779, 154) 133 | Me.Controls.Add(Me.PictureBox1) 134 | Me.Controls.Add(Me.OutputDir) 135 | Me.Controls.Add(Me.OutStr) 136 | Me.Controls.Add(Me.Start) 137 | Me.Controls.Add(Me.InStr) 138 | Me.Controls.Add(Me.OpenXCI) 139 | Me.Controls.Add(Me.InFile) 140 | Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle 141 | Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) 142 | Me.MaximizeBox = False 143 | Me.Name = "XCIForm" 144 | Me.Text = "Extract XCI" 145 | CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() 146 | Me.ResumeLayout(False) 147 | Me.PerformLayout() 148 | 149 | End Sub 150 | Friend WithEvents OutputDir As TextBox 151 | Friend WithEvents OutStr As Label 152 | Friend WithEvents Start As Button 153 | Friend WithEvents SelectXCI As OpenFileDialog 154 | Friend WithEvents InStr As Label 155 | Friend WithEvents OpenXCI As Button 156 | Friend WithEvents InFile As TextBox 157 | Friend WithEvents PictureBox1 As PictureBox 158 | End Class 159 | -------------------------------------------------------------------------------- /XCIForm.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 36, 21 122 | 123 | 124 | 125 | 126 | AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAMMOAADDDgAAAAAAAAAA 127 | AAD///////////////////////////////////////////////////////////////////////////// 128 | /////////////wAAAP8AAAD/AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA////////////AAAA//// 129 | //////////////////8AAAD///////////8AAAD//////wAAAP///////////wAAAP///////////wAA 130 | AP//////////////////////AAAA//////8AAAD/AAAA//////8AAAD///////////8AAAD///////// 131 | //8AAAD//////////////////////wAAAP//////////////////////AAAA////////////AAAA//// 132 | ////////AAAA//////////////////////8AAAD//////////////////////wAAAP///////////wAA 133 | AP///////////wAAAP//////////////////////AAAA/wAAAP8AAAD/AAAA//////8AAAD///////// 134 | //8AAAD///////////8AAAD///////////////////////////////////////////////////////// 135 | //////////////////////////////////////////////////////////////////////////////// 136 | ////////////////////////////////////////////////////////AAD/////////////AAD///// 137 | //8AAP////////////8AAP///////wAA//8AAP//AAD//wAA/////////////wAA/////////////wAA 138 | ////////AAD/////////////AAD///////8AAP////////////////////////////8AAP//AAD//wAA 139 | //8AAP///////wAA//8AAP//AAD//wAA////////AAD/////////////////////////////AAD///// 140 | ////////AAD///////8AAP////////////8AAP///////wAA/////////////////////////////wAA 141 | /////////////wAA////////AAD/////////////AAD///////8AAP////////////////////////// 142 | //8AAP////////////8AAP///////wAA//8AAP//AAD//wAA////////AAD//wAA//8AAP//AAD///// 143 | //////////////////////////////////////////////////////////////////////////////// 144 | ////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 145 | AAAAAAAAAAAAAA== 146 | 147 | 148 | -------------------------------------------------------------------------------- /XCIForm.vb: -------------------------------------------------------------------------------- 1 | Public Class XCIForm 2 | Private Sub OpenXCI_Click(sender As Object, e As EventArgs) Handles OpenXCI.Click 3 | SelectXCI.ShowDialog() 4 | InFile.Text = SelectXCI.FileName 5 | If InFile.Text = "Select a file." Then 6 | InFile.Text = "" 7 | End If 8 | End Sub 9 | 10 | Private Sub Start_Click(sender As Object, e As EventArgs) Handles Start.Click 11 | If OutputDir.Text IsNot "" Then 12 | Process.Start("cmd", "/c hactool -t xci " + "--outdir=" + OutputDir.Text + " " + """" + InFile.Text + """") 13 | Else 14 | MsgBox("You must type a folder name!") 15 | End If 16 | End Sub 17 | 18 | Private Sub XCIForm_DragDrop(sender As Object, e As DragEventArgs) Handles MyBase.DragDrop 19 | Dim DraggedFile() As String = e.Data.GetData(DataFormats.FileDrop) 20 | For Each File In DraggedFile 21 | InFile.Text = File 22 | Next 23 | PictureBox1.Visible = False 24 | End Sub 25 | 26 | Private Sub XCIForm_DragEnter(sender As Object, e As DragEventArgs) Handles MyBase.DragEnter 27 | If e.Data.GetDataPresent(DataFormats.FileDrop) Then 28 | e.Effect = DragDropEffects.Copy 29 | End If 30 | PictureBox1.Visible = True 31 | End Sub 32 | 33 | Private Sub XCIForm_DragLeave(sender As Object, e As EventArgs) Handles MyBase.DragLeave 34 | PictureBox1.Visible = False 35 | 36 | End Sub 37 | 38 | Private Sub InFile_DragDrop(sender As Object, e As DragEventArgs) Handles InFile.DragDrop 39 | Dim DraggedFile() As String = e.Data.GetData(DataFormats.FileDrop) 40 | For Each File In DraggedFile 41 | InFile.Text = File 42 | Next 43 | PictureBox1.Visible = False 44 | End Sub 45 | 46 | Private Sub InFile_DragEnter(sender As Object, e As DragEventArgs) Handles InFile.DragEnter 47 | If e.Data.GetDataPresent(DataFormats.FileDrop) Then 48 | e.Effect = DragDropEffects.Copy 49 | End If 50 | PictureBox1.Visible = True 51 | End Sub 52 | 53 | Private Sub InFile_DragLeave(sender As Object, e As EventArgs) Handles InFile.DragLeave 54 | PictureBox1.Visible = False 55 | 56 | End Sub 57 | 58 | Private Sub OutputDir_DragDrop(sender As Object, e As DragEventArgs) Handles OutputDir.DragDrop 59 | Dim DraggedFile() As String = e.Data.GetData(DataFormats.FileDrop) 60 | For Each File In DraggedFile 61 | InFile.Text = File 62 | Next 63 | PictureBox1.Visible = False 64 | End Sub 65 | 66 | Private Sub OutputDir_DragEnter(sender As Object, e As DragEventArgs) Handles OutputDir.DragEnter 67 | If e.Data.GetDataPresent(DataFormats.FileDrop) Then 68 | e.Effect = DragDropEffects.Copy 69 | End If 70 | PictureBox1.Visible = True 71 | End Sub 72 | 73 | Private Sub OutputDir_DragLeave(sender As Object, e As EventArgs) Handles OutputDir.DragLeave 74 | PictureBox1.Visible = False 75 | End Sub 76 | End Class -------------------------------------------------------------------------------- /bin/Debug/HACToolGUI.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/switch-stuff/HACToolGUI/8f59627455cbf50b7434baf1f6e344a41655c101/bin/Debug/HACToolGUI.exe -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/switch-stuff/HACToolGUI/8f59627455cbf50b7434baf1f6e344a41655c101/favicon.ico --------------------------------------------------------------------------------