diff --git a/README.md b/README.md index c12d7d5..886d4af 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,15 @@ # ZUGABE -This tool automates much of the installation of h-encore. -[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](http://www.repostatus.org/badges/latest/active.svg)](http://www.repostatus.org/#active) +**This is obsolete. Please use [finalhe by soarqin](https://github.com/soarqin/finalhe).** + +This tool automates much of the installation of h-encore. ## About This tool automates the install process of thefl0w's h-encore exploit for PS Vita, at least everything that can be done on the PC. Since I can't code in C or C++, I was unable to use OpenCMA as a backend, so I used QCMA. It's automatically downloaded and does not require to be installed. Configuration of QCMA is done via registry edits. The application also detects existing QCMA installations and restores the original settings after the exploit was installed. -**Attention: This tool only supports connection of the PSVita using Wi-Fi!** +**Attention: This tool only supports connection of the PSVita using Wi-Fi, therefore it's currently only compatible with PSVita/PSTV on Firmware 3.68!** ## Usage Download from the releases section, extract it and run the executable. @@ -17,8 +18,7 @@ Download from the releases section, extract it and run the executable. Build using Visual Studio 2017, this was tested. Other C# IDEs might work as well. ## Todo -- Translations -- Mac/Linux Compatibilty +- Mac/Linux compatibility - Fix bugs (you tell me!) ## Thanks diff --git a/download-resources/qcma.reg b/download-resources/qcma.reg index e38a074..c0c07cd 100644 Binary files a/download-resources/qcma.reg and b/download-resources/qcma.reg differ diff --git a/h-encore-auto/AutoMode.xaml.cs b/h-encore-auto/AutoMode.xaml.cs index bdd592a..e8d44e1 100644 --- a/h-encore-auto/AutoMode.xaml.cs +++ b/h-encore-auto/AutoMode.xaml.cs @@ -16,17 +16,8 @@ namespace h_encore_auto { InitializeComponent(); - if (File.Exists(Ref.tempDir + "keepfile")) - { - Ref.areFilesKept = true; - Util.keepFilesCleanup(); - } - else - { - Ref.areFilesKept = false; - if (Directory.Exists(Ref.tempDir)) - Util.DeleteDirectory(Ref.tempDir); - } + if (Directory.Exists(Ref.tempDir)) + Util.DeleteDirectory(Ref.tempDir); InitTimer(); } @@ -64,33 +55,30 @@ namespace h_encore_auto startInfoOut.FileName = "cmd.exe"; startInfoOut.WorkingDirectory = Ref.tempDir; - if (Ref.areFilesKept == false) - { - // 7ZIP Download and extraction - Util.dlFile(Ref.url7zr, "7zr.exe"); - Util.dlFile(Ref.url7za, "7z-extra.7z"); + // 7ZIP Download and extraction + Util.dlFile(Ref.url7zr, "7zr.exe"); + Util.dlFile(Ref.url7za, "7z-extra.7z"); - startInfo.Arguments = "/C 7zr.exe x 7z-extra.7z"; - process.StartInfo = startInfo; - process.Start(); - process.WaitForExit(); + startInfo.Arguments = "/C 7zr.exe x 7z-extra.7z"; + process.StartInfo = startInfo; + process.Start(); + process.WaitForExit(); - //Rest of the tool downloads - Util.dlFile(Ref.urlPsvimg, "psvimgtools.zip"); - Util.dlFile(Ref.urlPkg, "pkg2zip.zip"); - Util.dlFile(Ref.urlEnc, "h-encore.zip"); - Util.dlFile(Ref.urlEntry, "entryPoint.pkg"); - Util.dlFile(Ref.urlQcma, "qcma.zip"); - Util.dlFile(Ref.urlReg, "qcma.reg"); + //Rest of the tool downloads + Util.dlFile(Ref.urlPsvimg, "psvimgtools.zip"); + Util.dlFile(Ref.urlPkg, "pkg2zip.zip"); + Util.dlFile(Ref.urlEnc, "h-encore.zip"); + Util.dlFile(Ref.urlEntry, "entryPoint.pkg"); + Util.dlFile(Ref.urlQcma, "qcma.zip"); + Util.dlFile(Ref.urlReg, "qcma.reg"); - string text = File.ReadAllText(Ref.pathImportReg); - text = text.Replace("REPLACE", Ref.pathQcmaRes); - File.WriteAllText(Ref.pathImportReg, text); - text = text.Replace("\\", "/"); - File.WriteAllText(Ref.pathImportReg, text); - text = text.Replace("HKEY_CURRENT_USER/Software/codestation/qcma", @"HKEY_CURRENT_USER\Software\codestation\qcma"); - File.WriteAllText(Ref.pathImportReg, text); - } + string text = File.ReadAllText(Ref.pathImportReg); + text = text.Replace("REPLACE", Ref.pathQcmaRes); + File.WriteAllText(Ref.pathImportReg, text); + text = text.Replace("\\", "/"); + File.WriteAllText(Ref.pathImportReg, text); + text = text.Replace("HKEY_CURRENT_USER/Software/codestation/qcma", @"HKEY_CURRENT_USER\Software\codestation\qcma"); + File.WriteAllText(Ref.pathImportReg, text); startInfo.Arguments = "/C " + Ref.path7z + " x " + Ref.pathPsvimg; process.StartInfo = startInfo; @@ -122,20 +110,6 @@ namespace h_encore_auto Util.CopyDir(Ref.tempDir + "app\\PCSG90096\\", Ref.tempDir + "h-encore\\app\\ux0_temp_game_PCSG90096_app_PCSG90096\\",true); File.Copy(Ref.tempDir + "app\\PCSG90096\\sce_sys\\package\\temp.bin", Ref.tempDir + @"h-encore\license\ux0_temp_game_PCSG90096_license_app_PCSG90096\6488b73b912a753a492e2714e9b38bc7.rif"); - try - { - string path = Ref.tempDir + "app\\PCSG90096\\resource\\"; - foreach (string k in Ref.trims) - { - Util.DeleteDirectory(path + k); - } - } - catch (Exception ex) - { - MessageBox.Show("Exception: " + ex.Message + "\nYou should tell the developer in a github issue. Include a screenshot if possible!"); - return; - } - startInfoOut.RedirectStandardOutput = true; startInfoOut.UseShellExecute = false; startInfoOut.Arguments = @"/C reg query HKEY_CURRENT_USER\Software\codestation\qcma & echo 0"; diff --git a/h-encore-auto/Util.cs b/h-encore-auto/Util.cs index dab67d8..dcfdc52 100644 --- a/h-encore-auto/Util.cs +++ b/h-encore-auto/Util.cs @@ -94,12 +94,7 @@ namespace h_encore_auto if (Directory.Exists(Ref.tempDir)) { - if (MessageBox.Show("Do you want to keep the downloaded files for future use?\nPressing no will wipe any leftover files of this application off your computer.", "Keep Files?", MessageBoxButton.YesNo) == MessageBoxResult.Yes) - { - keepFilesCleanup(); - } - else - DeleteDirectory(Ref.tempDir); + DeleteDirectory(Ref.tempDir); } Environment.Exit(0); @@ -155,38 +150,5 @@ namespace h_encore_auto } } } - public static void keepFilesCleanup() - { - if (!File.Exists(Ref.tempDir + "keepfile")) - { - File.Create(Ref.tempDir + "keepfile"); - } - - string backupTemp = Ref.tempDir + "keepfiles\\"; - Directory.CreateDirectory(backupTemp); - - foreach (string download in Ref.downloads) - { - File.Copy(Ref.tempDir + download, backupTemp + download); - } - - Util.DeleteDirectory(Ref.tempDir + "\\app"); - Util.DeleteDirectory(Ref.tempDir + "\\Far"); - Util.DeleteDirectory(Ref.tempDir + "\\h-encore"); - Util.DeleteDirectory(Ref.tempDir + "\\Qcma"); - Util.DeleteDirectory(Ref.tempDir + "\\QcmaRes"); - Util.DeleteDirectory(Ref.tempDir + "\\x64"); - - foreach (string file in Directory.GetFiles(Ref.tempDir)) - { - File.Delete(file); - } - - foreach (string download in Ref.downloads) - { - File.Copy(backupTemp + download, Ref.tempDir + download); - } - Util.DeleteDirectory(backupTemp); - } } } \ No newline at end of file diff --git a/h-encore-auto/VitaGuide.xaml.cs b/h-encore-auto/VitaGuide.xaml.cs index 47f662f..66184bd 100644 --- a/h-encore-auto/VitaGuide.xaml.cs +++ b/h-encore-auto/VitaGuide.xaml.cs @@ -50,7 +50,7 @@ namespace h_encore_auto currImg--; imgFrame.Source = new BitmapImage(new Uri("/img/" + currImg + ".png", UriKind.Relative)); buttonFwd.IsEnabled = true; - textField.Text = currText[currImg]; + textField.Text = currText[currImg - 1]; if (currImg == 1 || currImg == 15) { diff --git a/h-encore-auto/ref.cs b/h-encore-auto/ref.cs index 1f55cae..f1fde76 100644 --- a/h-encore-auto/ref.cs +++ b/h-encore-auto/ref.cs @@ -20,31 +20,6 @@ namespace h_encore_auto public static readonly string tempDir = Path.GetTempPath() + @"encore_temp\"; - public static readonly string[] trims = new string[] { - "movie\\", - "image\\bg\\", - "image\\ev\\", - "image\\icon\\", - "image\\stitle\\", - "image\\tachie\\", - "sound\\bgm\\", - "sound\\se\\", - "sound\\sec\\", - "sound\\voice\\", - "text\\01\\" - }; - - public static readonly string[] downloads = new string[] { - "7zr.exe", - "7z-extra.7z", - "entryPoint.pkg", - "h-encore.zip", - "pkg2zip.zip", - "psvimgtools.zip", - "qcma.reg", - "qcma.zip" - }; - public static bool isSecondGuide = false; public static bool isQcmaConfigFound = false; @@ -63,7 +38,6 @@ namespace h_encore_auto public static readonly string pathBackupReg = tempDir + "backup.reg"; public static readonly string pathImportReg = tempDir + "qcma.reg"; public static readonly string pathQcmaRes = tempDir + "QcmaRes\\"; - public static bool areFilesKept = false; public static bool isRegModified = false; }