Skip to content

Commit 6eb8b60

Browse files
committed
[v15.2.2] More fixes & updated PS5 downloads
- Changed some functions as static - Avoid unnecessary zero-length array allocations in GetPS2GameID function - Use a shared 'SpaceSeparator' instead of '(New String() {" "}' - Check parsing on Utils.GetFileSizeAndDate function - Specify marshalling on WritePrivateProfileString & GetPrivateProfileString function - Use ProcessStartInfo with UseShellExecute=True when starting an URL using Process.Start - Use "Length" property instead of "Count" in Arrays - Enumerable.Count() potentially enumerates the sequence while a Length/Count property is a direct access. - Ignore upper/lower case when searching for pkgs in PKGBrowser - Updated Itemzflow by LightningMods v1.08 -> v1.09 - Updated ELFLdr by john-tornblom v0.18.1 -> v0.19 - Updated etaHEN by LightningMods v1.9b -> v2.0b - Added IPV6 BD-J ISO including etaHEN v2.0b by LightningMod - Updated kstuff by sleirsgoevy & EchoStretch v1.2 -> v1.3 - Updated WebSrv by john-tornblom v0.21 -> v0.22
1 parent 5203d63 commit 6eb8b60

26 files changed

+127
-107
lines changed

LatestBuild.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
15.2.1
1+
15.2.2

PS Multi Tools/Classes/PKGDecryptor.vb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ Public Class PKGDecryptor
418418
End Try
419419
End Function
420420

421-
Public Function GetBytesFromFile(FileName As String) As Byte()
421+
Public Shared Function GetBytesFromFile(FileName As String) As Byte()
422422
Dim BytesFromFile As Byte()
423423

424424
Try
@@ -840,7 +840,7 @@ Public Class PKGDecryptor
840840
End Try
841841
End Function
842842

843-
Private Function NewBitmapImage(imageData As Byte()) As BitmapImage
843+
Private Shared Function NewBitmapImage(imageData As Byte()) As BitmapImage
844844
If imageData Is Nothing OrElse imageData.Length = 0 Then Return Nothing
845845
Dim image = New BitmapImage()
846846
Using mem = New MemoryStream(imageData)

PS Multi Tools/Classes/PS2Game.vb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,8 @@ Public Class PS2Game
226226
Exit For
227227
End If
228228
Else 'ID found in the ISO files
229-
If String.Join(" ", Line.Split(New Char() {}, StringSplitOptions.RemoveEmptyEntries)).Split(" "c).Length > 4 Then
230-
GameID = String.Join(" ", Line.Split(New Char() {}, StringSplitOptions.RemoveEmptyEntries)).Split(" "c)(5).Trim()
229+
If String.Join(" ", Line.Split(Array.Empty(Of Char)(), StringSplitOptions.RemoveEmptyEntries)).Split(" "c).Length > 4 Then
230+
GameID = String.Join(" ", Line.Split(Array.Empty(Of Char)(), StringSplitOptions.RemoveEmptyEntries)).Split(" "c)(5).Trim()
231231
Exit For
232232
End If
233233
End If

PS Multi Tools/Classes/Utils.vb

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ Imports System.Net
88
Imports System.Net.Http
99
Imports System.Net.NetworkInformation
1010
Imports System.Runtime.InteropServices
11-
Imports System.Security.Policy
1211
Imports System.Security.Principal
1312
Imports System.Text
1413
Imports System.Text.RegularExpressions
@@ -19,6 +18,8 @@ Public Class Utils
1918
Public Shared ReadOnly ByBytes() As Byte = {&H62, &H79, &H20, &H53, &H76, &H65, &H6E, &H47, &H44, &H4B}
2019
Public Shared ConnectedPSXHDD As Structures.MountedPSXDrive
2120

21+
Public Shared ReadOnly SpaceSeparator As String() = New String() {" "}
22+
2223
<DllImport("winmm.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
2324
Private Shared Function PlaySound(<MarshalAs(UnmanagedType.LPWStr)> pszSound As String, hmod As IntPtr, fdwSound As Integer) As Boolean
2425
End Function
@@ -198,12 +199,21 @@ Public Class Utils
198199

199200
Public Shared Function GetFileSizeAndDate(FileSize As String, TheDate As String) As Structures.PackageInfo
200201
Dim PKGSizeStr As Long
201-
Long.TryParse(FileSize.ToString.Trim, PKGSizeStr)
202-
203202
Dim PKGDate As Date
204-
Date.TryParseExact(TheDate, "yyyy-MM-dd HH:mm:ss", Nothing, DateTimeStyles.None, PKGDate)
203+
Dim NewPKGInfo As New Structures.PackageInfo()
204+
205+
If Long.TryParse(FileSize.ToString.Trim, PKGSizeStr) Then
206+
NewPKGInfo.FileSize = GetFileSize(PKGSizeStr)
207+
Else
208+
NewPKGInfo.FileSize = FileSize
209+
End If
210+
If Date.TryParseExact(TheDate, "yyyy-MM-dd HH:mm:ss", Nothing, DateTimeStyles.None, PKGDate) Then
211+
NewPKGInfo.FileDate = CStr(PKGDate.Date)
212+
Else
213+
NewPKGInfo.FileDate = TheDate
214+
End If
205215

206-
Return New Structures.PackageInfo With {.FileSize = GetFileSize(PKGSizeStr), .FileDate = CStr(PKGDate.Date)}
216+
Return NewPKGInfo
207217
End Function
208218

209219
Public Shared Function GetPKGTitleID(PKGFilePath As String) As String
@@ -611,7 +621,7 @@ Public Class Utils
611621

612622
For Each ReturnedLine As String In ProcessOutput
613623
If ReturnedLine.Contains("wnbd-client") Then
614-
NBDDriveName = ReturnedLine.Split(New String() {" "}, StringSplitOptions.RemoveEmptyEntries)(4).Trim()
624+
NBDDriveName = ReturnedLine.Split(SpaceSeparator, StringSplitOptions.RemoveEmptyEntries)(4).Trim()
615625
Exit For
616626
End If
617627
Next
@@ -646,7 +656,7 @@ Public Class Utils
646656
If Not String.IsNullOrWhiteSpace(Line) Then
647657
If Line.Contains("formatted Playstation 2 HDD") Then
648658
'Set the found drive as mounted PSX drive
649-
Dim DriveInfos As String() = Line.Split(New String() {" "}, StringSplitOptions.RemoveEmptyEntries)
659+
Dim DriveInfos As String() = Line.Split(SpaceSeparator, StringSplitOptions.RemoveEmptyEntries)
650660
If DriveInfos(0) IsNot Nothing Then
651661
DriveHDLName = DriveInfos(0).Trim()
652662
Exit For
@@ -722,7 +732,7 @@ Public Class Utils
722732
If Not String.IsNullOrWhiteSpace(Line) Then
723733
If Line.Contains("formatted Playstation 2 HDD") Then
724734
'Set the found drive as mounted PSX drive
725-
Dim DriveInfos As String() = Line.Split(New String() {" "}, StringSplitOptions.RemoveEmptyEntries)
735+
Dim DriveInfos As String() = Line.Split(SpaceSeparator, StringSplitOptions.RemoveEmptyEntries)
726736
HDLDriveName = DriveInfos(0).Trim()
727737
Exit For
728738
End If
@@ -757,10 +767,10 @@ Public Class Utils
757767
For Each Line As String In ProcessOutput
758768
If Not String.IsNullOrWhiteSpace(Line) Then
759769
If Line.Contains("WNBD WNBD_DISK SCSI Disk Device") Then
760-
DriveID = Line.Split(New String() {" "}, StringSplitOptions.RemoveEmptyEntries)(5).Trim()
770+
DriveID = Line.Split(SpaceSeparator, StringSplitOptions.RemoveEmptyEntries)(5).Trim()
761771
Exit For
762772
ElseIf Line.Contains("Microsoft Virtual Disk") Then 'For testing with local VHD
763-
DriveID = Line.Split(New String() {" "}, StringSplitOptions.RemoveEmptyEntries)(3).Trim()
773+
DriveID = Line.Split(SpaceSeparator, StringSplitOptions.RemoveEmptyEntries)(3).Trim()
764774
Exit For
765775
End If
766776
End If
@@ -911,11 +921,11 @@ Namespace INI
911921
Public Class IniFile
912922
Public path As String
913923

914-
<DllImport("kernel32")>
924+
<DllImport("kernel32", CharSet:=CharSet.Unicode)>
915925
Private Shared Function WritePrivateProfileString(section As String, key As String, val As String, filePath As String) As Long
916926
End Function
917927

918-
<DllImport("kernel32")>
928+
<DllImport("kernel32", CharSet:=CharSet.Unicode)>
919929
Private Shared Function GetPrivateProfileString(section As String, key As String, def As String, retVal As StringBuilder, size As Integer, filePath As String) As Integer
920930
End Function
921931

PS Multi Tools/Classes/XOREngine.vb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
Public Class XOREngine
2+
23
Public Shared Function GetXOR(inByteArray As Byte(), offsetPos As Integer, length As Integer, XORKey As Byte()) As Byte()
34
If inByteArray.Length < offsetPos + length Then
45
Throw New Exception("Combination of chosen offset pos. & Length goes outside of the array to be xored.")
@@ -20,4 +21,5 @@
2021

2122
Return outByteArray
2223
End Function
24+
2325
End Class
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
Public Class SyncWindow
2+
23
Public Sub New()
34
InitializeComponent()
45

56
LoadStatusTextBlock.Text = ""
67
LoadProgressBar.Maximum = 1
78
LoadProgressBar.Value = 0
89
End Sub
10+
911
End Class

PS Multi Tools/Menus/PS2Menu.xaml.vb

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,38 +5,37 @@
55
#Region "Exploit Infos"
66

77
Private Sub OpenFortunaGithub_Click(sender As Object, e As RoutedEventArgs) Handles OpenFortunaGithub.Click
8-
Process.Start("https://github.com/ps2homebrew/opentuna-installer")
8+
Process.Start(New ProcessStartInfo("https://github.com/ps2homebrew/opentuna-installer") With {.UseShellExecute = True})
99
End Sub
1010

1111
Private Sub OpenFreeDVDBootGithub_Click(sender As Object, e As RoutedEventArgs) Handles OpenFreeDVDBootGithub.Click
12-
Process.Start("https://github.com/CTurt/FreeDVDBoot")
12+
Process.Start(New ProcessStartInfo("https://github.com/CTurt/FreeDVDBoot") With {.UseShellExecute = True})
1313
End Sub
1414

1515
Private Sub OpenFreeHDBootGithub_Click(sender As Object, e As RoutedEventArgs) Handles OpenFreeHDBootGithub.Click
16-
Process.Start("https://israpps.github.io/FreeMcBoot-Installer/test/FHDB-TUTO.html")
16+
Process.Start(New ProcessStartInfo("https://israpps.github.io/FreeMcBoot-Installer/test/FHDB-TUTO.html") With {.UseShellExecute = True})
1717
End Sub
1818

1919
Private Sub OpenFreeMCBootGithub_Click(sender As Object, e As RoutedEventArgs) Handles OpenFreeMCBootGithub.Click
20-
Process.Start("https://israpps.github.io/FreeMcBoot-Installer/test/1_Introduction.html")
20+
Process.Start(New ProcessStartInfo("https://israpps.github.io/FreeMcBoot-Installer/test/1_Introduction.html") With {.UseShellExecute = True})
2121
End Sub
2222

2323
Private Sub OpenFreeMCBootPSXGithub_Click(sender As Object, e As RoutedEventArgs) Handles OpenFreeMCBootPSXGithub.Click
24-
Process.Start("https://israpps.github.io/FreeMcBoot-Installer/test/1_Introduction.html")
24+
Process.Start(New ProcessStartInfo("https://israpps.github.io/FreeMcBoot-Installer/test/1_Introduction.html") With {.UseShellExecute = True})
2525
End Sub
2626

2727
Private Sub OpenIndependenceArchive_Click(sender As Object, e As RoutedEventArgs) Handles OpenIndependenceArchive.Click
28-
Process.Start("https://web.archive.org/web/20050529124415/http://www.0xd6.org/ps2-independence.html")
28+
Process.Start(New ProcessStartInfo("https://web.archive.org/web/20050529124415/http://www.0xd6.org/ps2-independence.html") With {.UseShellExecute = True})
2929
End Sub
3030

3131
Private Sub OpenSwapGithub_Click(sender As Object, e As RoutedEventArgs) Handles OpenSwapGithub.Click
32-
Process.Start("https://en.wikipedia.org/wiki/Swap_Magic")
32+
Process.Start(New ProcessStartInfo("https://www.psdevwiki.com/ps2/Swap_Magic") With {.UseShellExecute = True})
3333
End Sub
3434

3535
Private Sub OpenYabasicGithub_Click(sender As Object, e As RoutedEventArgs) Handles OpenYabasicGithub.Click
36-
Process.Start("https://github.com/CTurt/PS2-Yabasic-Exploit")
36+
Process.Start(New ProcessStartInfo("https://github.com/CTurt/PS2-Yabasic-Exploit") With {.UseShellExecute = True})
3737
End Sub
3838

39-
4039
#End Region
4140

4241
#Region "Menu Downloads"

PS Multi Tools/Menus/PS4Menu.xaml.vb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@
172172
End Sub
173173

174174
Private Sub OpenPPPwnGitHub_Click(sender As Object, e As RoutedEventArgs) Handles OpenPPPwnGitHub.Click
175-
Process.Start("https://github.com/TheOfficialFloW/PPPwn")
175+
Process.Start(New ProcessStartInfo("https://github.com/TheOfficialFloW/PPPwn") With {.UseShellExecute = True})
176176
End Sub
177177

178178
Private Sub OpenPPPwnTool_Click(sender As Object, e As RoutedEventArgs) Handles OpenPPPwnTool.Click

PS Multi Tools/Menus/PS5Menu.xaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@
200200
</MenuItem.Icon>
201201
</MenuItem>
202202
<MenuItem Header="Itemzflow by LightningMods">
203-
<MenuItem Header="Download v1.08 PKG" x:Name="DownloadItemzflow">
203+
<MenuItem Header="Download v1.09 PKG" x:Name="DownloadItemzflow">
204204
<MenuItem.Icon>
205205
<Image Source="/Images/download.png"/>
206206
</MenuItem.Icon>
@@ -227,7 +227,7 @@
227227

228228
<MenuItem Header="Payloads">
229229
<MenuItem Header="ELFLdr by john-tornblom">
230-
<MenuItem Header="Download v0.18.1" x:Name="DownloadELFLdr">
230+
<MenuItem Header="Download v0.19" x:Name="DownloadELFLdr">
231231
<MenuItem.Icon>
232232
<Image Source="/Images/download.png"/>
233233
</MenuItem.Icon>
@@ -239,17 +239,17 @@
239239
</MenuItem>
240240
</MenuItem>
241241
<MenuItem Header="etaHEN by LightningMods">
242-
<MenuItem Header="Download v1.9B" x:Name="DownloadetaHEN">
242+
<MenuItem Header="Download v2.0b" x:Name="DownloadetaHEN">
243243
<MenuItem.Icon>
244244
<Image Source="/Images/download.png"/>
245245
</MenuItem.Icon>
246246
</MenuItem>
247-
<MenuItem Header="Download v1.9B (No Toolbox)" x:Name="DownloadetaHENNoToolbox">
247+
<MenuItem Header="Download v2.0b (No Toolbox)" x:Name="DownloadetaHENNoToolbox">
248248
<MenuItem.Icon>
249249
<Image Source="/Images/download.png"/>
250250
</MenuItem.Icon>
251251
</MenuItem>
252-
<MenuItem Header="Download v2.0B (Pre Release)" x:Name="DownloadetaHENBeta">
252+
<MenuItem Header="Download v2.0b IPV6 BD-J ISO" x:Name="DownloadetaHENBDJB">
253253
<MenuItem.Icon>
254254
<Image Source="/Images/download.png"/>
255255
</MenuItem.Icon>
@@ -442,7 +442,7 @@
442442
</MenuItem>
443443
</MenuItem>
444444
<MenuItem Header="By sleirsgoevy &amp; EchoStretch for 3.00 - 6.50">
445-
<MenuItem Header="Download" x:Name="DownloadNewKStuff">
445+
<MenuItem Header="Download v1.3" x:Name="DownloadNewKStuff">
446446
<MenuItem.Icon>
447447
<Image Source="/Images/download.png"/>
448448
</MenuItem.Icon>
@@ -462,7 +462,7 @@
462462
</MenuItem>
463463
</MenuItem>
464464
<MenuItem Header="WebSrv by john-tornblom">
465-
<MenuItem Header="Download v0.21" x:Name="DownloadWebSrv">
465+
<MenuItem Header="Download v0.22" x:Name="DownloadWebSrv">
466466
<MenuItem.Icon>
467467
<Image Source="/Images/download.png"/>
468468
</MenuItem.Icon>

PS Multi Tools/Menus/PS5Menu.xaml.vb

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ Public Class PS5Menu
463463
Private Async Sub DownloadNewKStuff_Click(sender As Object, e As RoutedEventArgs) Handles DownloadNewKStuff.Click
464464
Dim NewDownloader As New Downloader() With {.ShowActivated = True, .PackageConsole = "PS5"}
465465
NewDownloader.Show()
466-
If Await NewDownloader.CreateNewDownload("http://X.X.X.X/ps5/hb/kstuff_6.50.elf") = False Then
466+
If Await NewDownloader.CreateNewDownload("http://X.X.X.X/ps5/hb/kstuff_6.50_v1.3.elf") = False Then
467467
MsgBox("Could not download the selected file.", MsgBoxStyle.Critical)
468468
NewDownloader.Close()
469469
End If
@@ -472,7 +472,7 @@ Public Class PS5Menu
472472
Private Async Sub DownloadetaHEN_Click(sender As Object, e As RoutedEventArgs) Handles DownloadetaHEN.Click
473473
Dim NewDownloader As New Downloader() With {.ShowActivated = True, .PackageConsole = "PS5"}
474474
NewDownloader.Show()
475-
If Await NewDownloader.CreateNewDownload("https://github.com/etaHEN/etaHEN/releases/download/1.9b/etaHEN.bin") = False Then
475+
If Await NewDownloader.CreateNewDownload("https://github.com/etaHEN/etaHEN/releases/download/2.0b/etaHEN-2.0b.bin") = False Then
476476
MsgBox("Could not download the selected file.", MsgBoxStyle.Critical)
477477
NewDownloader.Close()
478478
End If
@@ -481,16 +481,16 @@ Public Class PS5Menu
481481
Private Async Sub DownloadetaHENNoToolbox_Click(sender As Object, e As RoutedEventArgs) Handles DownloadetaHENNoToolbox.Click
482482
Dim NewDownloader As New Downloader() With {.ShowActivated = True, .PackageConsole = "PS5"}
483483
NewDownloader.Show()
484-
If Await NewDownloader.CreateNewDownload("https://github.com/etaHEN/etaHEN/releases/download/1.9b/etaHEN_no_toolbox.bin") = False Then
484+
If Await NewDownloader.CreateNewDownload("https://github.com/etaHEN/etaHEN/releases/download/2.0b/Payload.zip") = False Then
485485
MsgBox("Could not download the selected file.", MsgBoxStyle.Critical)
486486
NewDownloader.Close()
487487
End If
488488
End Sub
489489

490-
Private Async Sub DownloadetaHENBeta_Click(sender As Object, e As RoutedEventArgs) Handles DownloadetaHENBeta.Click
490+
Private Async Sub DownloadetaHENBDJB_Click(sender As Object, e As RoutedEventArgs) Handles DownloadetaHENBDJB.Click
491491
Dim NewDownloader As New Downloader() With {.ShowActivated = True, .PackageConsole = "PS5"}
492492
NewDownloader.Show()
493-
If Await NewDownloader.CreateNewDownload("https://github.com/etaHEN/etaHEN/releases/download/2.0b-pre/etaHEN.bin") = False Then
493+
If Await NewDownloader.CreateNewDownload("http://X.X.X.X/ps5/hb/etaHEN_v2.0b-BDJ-IPV6.iso") = False Then
494494
MsgBox("Could not download the selected file.", MsgBoxStyle.Critical)
495495
NewDownloader.Close()
496496
End If
@@ -508,7 +508,7 @@ Public Class PS5Menu
508508
Private Async Sub DownloadItemzflow_Click(sender As Object, e As RoutedEventArgs) Handles DownloadItemzflow.Click
509509
Dim NewDownloader As New Downloader() With {.ShowActivated = True, .PackageConsole = "PS5"}
510510
NewDownloader.Show()
511-
If Await NewDownloader.CreateNewDownload("http://X.X.X.X/ps5/hb/ItemzflowGameManager_v1.08.pkg") = False Then
511+
If Await NewDownloader.CreateNewDownload("http://X.X.X.X/ps5/hb/ItemzflowGameManager_v1.09.pkg") = False Then
512512
MsgBox("Could not download the selected file.", MsgBoxStyle.Critical)
513513
NewDownloader.Close()
514514
End If
@@ -526,7 +526,7 @@ Public Class PS5Menu
526526
Private Async Sub DownloadELFLdr_Click(sender As Object, e As RoutedEventArgs) Handles DownloadELFLdr.Click
527527
Dim NewDownloader As New Downloader() With {.ShowActivated = True, .PackageConsole = "PS5"}
528528
NewDownloader.Show()
529-
If Await NewDownloader.CreateNewDownload("http://X.X.X.X/ps5/hb/elfldr_v0.18.1.elf") = False Then
529+
If Await NewDownloader.CreateNewDownload("http://X.X.X.X/ps5/hb/elfldr_v0.19.elf") = False Then
530530
MsgBox("Could not download the selected file.", MsgBoxStyle.Critical)
531531
NewDownloader.Close()
532532
End If
@@ -571,7 +571,7 @@ Public Class PS5Menu
571571
Private Async Sub DownloadWebSrv_Click(sender As Object, e As RoutedEventArgs) Handles DownloadWebSrv.Click
572572
Dim NewDownloader As New Downloader() With {.ShowActivated = True, .PackageConsole = "PS5"}
573573
NewDownloader.Show()
574-
If Await NewDownloader.CreateNewDownload("http://X.X.X.X/ps5/hb/websrv_v0.21.elf") = False Then
574+
If Await NewDownloader.CreateNewDownload("http://X.X.X.X/ps5/hb/websrv_v0.22.elf") = False Then
575575
MsgBox("Could not download the selected file.", MsgBoxStyle.Critical)
576576
NewDownloader.Close()
577577
End If
@@ -871,7 +871,7 @@ Public Class PS5Menu
871871
#Region "Exploits"
872872

873873
Private Sub OpenMast1c0reGitHub_Click(sender As Object, e As RoutedEventArgs) Handles OpenMast1c0reGitHub.Click
874-
Process.Start("https://github.com/McCaulay/mast1c0re")
874+
Process.Start(New ProcessStartInfo("https://github.com/McCaulay/mast1c0re") With {.UseShellExecute = True})
875875
End Sub
876876

877877
Private Async Sub DownloadPS5IPV6Expl_Click(sender As Object, e As RoutedEventArgs) Handles DownloadPS5IPV6Expl.Click
@@ -884,11 +884,11 @@ Public Class PS5Menu
884884
End Sub
885885

886886
Private Sub OpenKexGitHub_Click(sender As Object, e As RoutedEventArgs) Handles OpenKexGitHub.Click
887-
Process.Start("https://github.com/Cryptogenic/PS5-IPV6-Kernel-Exploit")
887+
Process.Start(New ProcessStartInfo("https://github.com/Cryptogenic/PS5-IPV6-Kernel-Exploit") With {.UseShellExecute = True})
888888
End Sub
889889

890890
Private Sub OpenJARLoaderGitHub_Click(sender As Object, e As RoutedEventArgs) Handles OpenJARLoaderGitHub.Click
891-
Process.Start("https://github.com/hammer-83/ps5-jar-loader")
891+
Process.Start(New ProcessStartInfo("https://github.com/hammer-83/ps5-jar-loader") With {.UseShellExecute = True})
892892
End Sub
893893

894894
Private Async Sub DownloadJARLoader_Click(sender As Object, e As RoutedEventArgs) Handles DownloadJARLoader.Click
@@ -910,7 +910,7 @@ Public Class PS5Menu
910910
End Sub
911911

912912
Private Sub OpenUMTXJailbreakGitHub_Click(sender As Object, e As RoutedEventArgs) Handles OpenUMTXJailbreakGitHub.Click
913-
Process.Start("https://github.com/PS5Dev/PS5-UMTX-Jailbreak")
913+
Process.Start(New ProcessStartInfo("https://github.com/PS5Dev/PS5-UMTX-Jailbreak") With {.UseShellExecute = True})
914914
End Sub
915915

916916
#End Region

0 commit comments

Comments
 (0)