fix bugs and update README

This commit is contained in:
Jakob 2018-07-08 19:28:31 +02:00
parent 6a94bb68ef
commit 47f0efb5a4
5 changed files with 30 additions and 120 deletions

View file

@ -1,7 +1,10 @@
# ZUGABE # ZUGABE
**This project is inactive for now, since I'm working on a tool for Mac and Linux. Please use [auto-h-encore](https://github.com/noahc3/auto-h-encore) for Windows.**
This tool automates much of the installation of h-encore. 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) [![Project Status: Inactive The project has reached a stable, usable state but is no longer being actively developed; support/maintenance will be provided as time allows.](http://www.repostatus.org/badges/latest/inactive.svg)](http://www.repostatus.org/#inactive)
## About ## 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. 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.
@ -9,7 +12,6 @@ Since I can't code in C or C++, I was unable to use OpenCMA as a backend, so I u
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. 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, therefore it's currently only compatible with PSVita/PSTV on Firmware 3.68!** **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!**
**For lower versions use noahc3's application [auto-h-encore](https://github.com/noahc3/auto-h-encore)**
## Usage ## Usage
Download from the releases section, extract it and run the executable. Download from the releases section, extract it and run the executable.
@ -18,9 +20,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. Build using Visual Studio 2017, this was tested. Other C# IDEs might work as well.
## Todo ## Todo
- USB support - Mac/Linux compatibility
- Translations
- Mac/Linux Compatibilty
- Fix bugs (you tell me!) - Fix bugs (you tell me!)
## Thanks ## Thanks

View file

@ -16,17 +16,8 @@ namespace h_encore_auto
{ {
InitializeComponent(); InitializeComponent();
if (File.Exists(Ref.tempDir + "keepfile")) if (Directory.Exists(Ref.tempDir))
{ Util.DeleteDirectory(Ref.tempDir);
Ref.areFilesKept = true;
Util.keepFilesCleanup();
}
else
{
Ref.areFilesKept = false;
if (Directory.Exists(Ref.tempDir))
Util.DeleteDirectory(Ref.tempDir);
}
InitTimer(); InitTimer();
} }
@ -64,33 +55,30 @@ namespace h_encore_auto
startInfoOut.FileName = "cmd.exe"; startInfoOut.FileName = "cmd.exe";
startInfoOut.WorkingDirectory = Ref.tempDir; startInfoOut.WorkingDirectory = Ref.tempDir;
if (Ref.areFilesKept == false) // 7ZIP Download and extraction
{ Util.dlFile(Ref.url7zr, "7zr.exe");
// 7ZIP Download and extraction Util.dlFile(Ref.url7za, "7z-extra.7z");
Util.dlFile(Ref.url7zr, "7zr.exe");
Util.dlFile(Ref.url7za, "7z-extra.7z");
startInfo.Arguments = "/C 7zr.exe x 7z-extra.7z"; startInfo.Arguments = "/C 7zr.exe x 7z-extra.7z";
process.StartInfo = startInfo; process.StartInfo = startInfo;
process.Start(); process.Start();
process.WaitForExit(); process.WaitForExit();
//Rest of the tool downloads //Rest of the tool downloads
Util.dlFile(Ref.urlPsvimg, "psvimgtools.zip"); Util.dlFile(Ref.urlPsvimg, "psvimgtools.zip");
Util.dlFile(Ref.urlPkg, "pkg2zip.zip"); Util.dlFile(Ref.urlPkg, "pkg2zip.zip");
Util.dlFile(Ref.urlEnc, "h-encore.zip"); Util.dlFile(Ref.urlEnc, "h-encore.zip");
Util.dlFile(Ref.urlEntry, "entryPoint.pkg"); Util.dlFile(Ref.urlEntry, "entryPoint.pkg");
Util.dlFile(Ref.urlQcma, "qcma.zip"); Util.dlFile(Ref.urlQcma, "qcma.zip");
Util.dlFile(Ref.urlReg, "qcma.reg"); Util.dlFile(Ref.urlReg, "qcma.reg");
string text = File.ReadAllText(Ref.pathImportReg); string text = File.ReadAllText(Ref.pathImportReg);
text = text.Replace("REPLACE", Ref.pathQcmaRes); text = text.Replace("REPLACE", Ref.pathQcmaRes);
File.WriteAllText(Ref.pathImportReg, text); File.WriteAllText(Ref.pathImportReg, text);
text = text.Replace("\\", "/"); text = text.Replace("\\", "/");
File.WriteAllText(Ref.pathImportReg, text); File.WriteAllText(Ref.pathImportReg, text);
text = text.Replace("HKEY_CURRENT_USER/Software/codestation/qcma", @"HKEY_CURRENT_USER\Software\codestation\qcma"); text = text.Replace("HKEY_CURRENT_USER/Software/codestation/qcma", @"HKEY_CURRENT_USER\Software\codestation\qcma");
File.WriteAllText(Ref.pathImportReg, text); File.WriteAllText(Ref.pathImportReg, text);
}
startInfo.Arguments = "/C " + Ref.path7z + " x " + Ref.pathPsvimg; startInfo.Arguments = "/C " + Ref.path7z + " x " + Ref.pathPsvimg;
process.StartInfo = startInfo; 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); 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"); 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.RedirectStandardOutput = true;
startInfoOut.UseShellExecute = false; startInfoOut.UseShellExecute = false;
startInfoOut.Arguments = @"/C reg query HKEY_CURRENT_USER\Software\codestation\qcma & echo 0"; startInfoOut.Arguments = @"/C reg query HKEY_CURRENT_USER\Software\codestation\qcma & echo 0";

View file

@ -94,12 +94,7 @@ namespace h_encore_auto
if (Directory.Exists(Ref.tempDir)) 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) DeleteDirectory(Ref.tempDir);
{
keepFilesCleanup();
}
else
DeleteDirectory(Ref.tempDir);
} }
Environment.Exit(0); 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);
}
} }
} }

View file

@ -50,7 +50,7 @@ namespace h_encore_auto
currImg--; currImg--;
imgFrame.Source = new BitmapImage(new Uri("/img/" + currImg + ".png", UriKind.Relative)); imgFrame.Source = new BitmapImage(new Uri("/img/" + currImg + ".png", UriKind.Relative));
buttonFwd.IsEnabled = true; buttonFwd.IsEnabled = true;
textField.Text = currText[currImg]; textField.Text = currText[currImg - 1];
if (currImg == 1 || currImg == 15) if (currImg == 1 || currImg == 15)
{ {

View file

@ -20,31 +20,6 @@ namespace h_encore_auto
public static readonly string tempDir = Path.GetTempPath() + @"encore_temp\"; 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 isSecondGuide = false;
public static bool isQcmaConfigFound = 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 pathBackupReg = tempDir + "backup.reg";
public static readonly string pathImportReg = tempDir + "qcma.reg"; public static readonly string pathImportReg = tempDir + "qcma.reg";
public static readonly string pathQcmaRes = tempDir + "QcmaRes\\"; public static readonly string pathQcmaRes = tempDir + "QcmaRes\\";
public static bool areFilesKept = false;
public static bool isRegModified = false; public static bool isRegModified = false;
} }