def patch(backup): import sign_support print "Patching " + backup + " With VHBL." unsign_support.goUnsign(backup, CMA, False, "PGAME", account, ".") print "Patching With ARK-2" shutil.copy( defs.getWorkingDir() + "/easyinstallers/ARK/patch/PBOOT.PBP", CMA + "/EXTRACTED/PGAME/" + backup + "/game/ux0_pspemu_temp_game_PSP_GAME_" + backup + "/") print "Signing to: " + account sign_support.goSign(account, "PGAME", backup, True) if tkMessageBox.askyesno(title="OneMenu?", message="Would you like to use ONEMENU?"): print "Copying Savedata To " + CMA + "/PSAVEDATA/" + defs.getAid( account) + "/ARK_01234" if not os.path.exists(CMA + "/PSAVEDATA/" + defs.getAid(account) + "/ARK_01234"): shutil.copytree( defs.getWorkingDir() + "/easyinstallers/ARK/ONEMENU", CMA + "/PSAVEDATA/" + defs.getAid(account) + "/ARK_01234") else: print "Copying Savedata To " + CMA + "/PSAVEDATA/" + defs.getAid( account) + "/ARK_01234" if not os.path.exists(CMA + "/PSAVEDATA/" + defs.getAid(account) + "/ARK_01234"): shutil.copytree( defs.getWorkingDir() + "/easyinstallers/ARK/ARK_01234", CMA + "/PSAVEDATA/" + defs.getAid(account) + "/ARK_01234") import easyInstallers tkMessageBox.showinfo( title="ARK Easy Installer", message= "ARK Backup Created! (Note: Icon will be the same as base game)\nBe sure to copy the PSP ARK-2 Savedata file too!" ) easyInstallers.vp_start_gui()
def patch(backup): import sign_support unsign_support.goUnsign(backup, CMA, False, "PGAME", account, ".") print "Patching " + backup + " With VHBL." if os.path.exists(CMA + "/EXTRACTED/PGAME/" + backup + "/game/ux0_pspemu_temp_game_PSP_GAME_" + backup + "/PBOOT.PBP"): print "Removing VHBL.." os.remove(CMA + "/EXTRACTED/PGAME/" + backup + "/game/ux0_pspemu_temp_game_PSP_GAME_" + backup + "/PBOOT.PBP") print "Re-Patching VHBL" shutil.copy( defs.getWorkingDir() + "/easyinstallers/VHBL/patch/PBOOT.PBP", CMA + "/EXTRACTED/PGAME/" + backup + "/game/ux0_pspemu_temp_game_PSP_GAME_" + backup + "/PBOOT.PBP") print "Signing to: " + account sign_support.goSign(account, "PGAME", backup, True) print "Copying Savedata To " + CMA + "/PSAVEDATA/" + defs.getAid( account) + "/VHBL01234" if not os.path.exists(CMA + "/PSAVEDATA/" + defs.getAid(account) + "/VHBL01234"): shutil.copytree( defs.getWorkingDir() + "/easyinstallers/VHBL/VHBL01234", CMA + "/PSAVEDATA/" + defs.getAid(account) + "/VHBL01234") import easyInstallers tkMessageBox.showinfo( title="ARK Easy Installer", message= "VHBL Backup Created!\n(Note: Icon will be the same as base game)\nBe sure to copy the VHBL Savedata file too!" ) easyInstallers.vp_start_gui()
def sendSign(account): import sign_support sign_support.goSign(account,"APP","PCSG90096",True) tkMessageBox.showinfo(title="h-encore EasyInstaller", message="h-encore Backup Created. For "+account) close_window(root) import easyInstallers easyInstallers.vp_start_gui()
def createBackup(emulator, backup, account): print emulator, account, backup import unsign_support unsign_support.goUnsign(cmaBackup=backup, account=account, load="PGAME", resign=".") from distutils.dir_util import copy_tree print "Copying " + defs.getWorkingDir( ) + "/easyinstallers/EmuBubble/FILES/" + emulator + " To " + defs.getCmaDir( ) + "/EXTRACTED/PGAME/" + backup + "/game/ux0_pspemu_temp_game_PSP_GAME_" + backup + "/" copy_tree( defs.getWorkingDir() + "/easyinstallers/EmuBubble/FILES/" + emulator, defs.getCmaDir() + "/EXTRACTED/PGAME/" + backup + "/game/ux0_pspemu_temp_game_PSP_GAME_" + backup + "/") import sign_support sign_support.goSign(account, "PGAME", backup, True) print "Removing: " + defs.getCmaDir() + "/EXTRACTED/PGAME/" + backup shutil.rmtree(defs.getCmaDir() + "/EXTRACTED/PGAME/" + backup + "/") tkMessageBox.showinfo(title="Emulator Bubble", message=emulator + " Backup Created! (remember to refresh QCMA)") emububble.destroy_New_Toplevel_1() import easyinstallers.EmuBubble.chooseBackup as CB CB.destroy_Unsign_Backup()
def patch(backup): import sign_support unsign_support.pushVars(account, "SYSTEM", ".") unsign_support.goUnsign(backup, CMA) print "Setting All URI Calls To User Mode." dbPath = CMA + "/EXTRACTED/SYSTEM/" + backup + "/ur0_shell/db/app.db" print "Opening: " + dbPath appDatabase = sqlite3.connect(dbPath) print "Executing " + sqlQuery + "To app.db!" appDatabase.executescript(sqlQuery) appDatabase.close() print("Uri's Patched.") sign_support.goSign(account, "SYSTEM", backup, True) if not os.path.exists(CMA + "/EXTRACTED/APP/URICALL00"): shutil.copytree( defs.getWorkingDir() + "/easyinstallers/UriCaller/URICALL00", CMA + "/EXTRACTED/APP/URICALL00") sign_support.goSign(account, "APP", "URICALL00", True) tkMessageBox.showinfo( title="UriCaller", message= "Completed! Refresh QCMA Database then restore the SYSTEM Backup + The URICaller App." ) easyInstallers.close_window(root) easyInstallers.vp_start_gui()
def patch(backup): import sign_support unsign_support.pushVars(account, "PGAME", ".") unsign_support.goUnsign(backup, CMA) print "Patching With VHBL" shutil.copy( defs.getWorkingDir() + "/easyinstallers/VHBL/patch/PBOOT.PBP", CMA + "/EXTRACTED/PGAME/" + backup + "/game/ux0_pspemu_temp_game_PSP_GAME_" + backup + "/") print "Signing to: " + account sign_support.goSign(account, "PGAME", backup, True) print "Copying Savedata To " + CMA + "/PSAVEDATA/" + defs.getAid( account) + "/VHBL01234" if not os.path.exists(CMA + "/PSAVEDATA/" + defs.getAid(account) + "/VHBL01234"): shutil.copytree( defs.getWorkingDir() + "/easyinstallers/VHBL/VHBL01234", CMA + "/PSAVEDATA/" + defs.getAid(account) + "/VHBL01234") import easyInstallers tkMessageBox.showinfo( title="VHBL Easy Installer", message= "VHBL Backup Created! (Note: Icon will be the same as base game)") easyInstallers.close_window(root) easyInstallers.vp_start_gui()
def sendSign(account): import sign_support sign_support.goSign(account,"APP","HIDENAPPS",True) tkMessageBox.showinfo(title="Hidden Applications EasyInstaller", message="Hidden Apps Backup Created. For "+account) close_window(root) import easyInstallers easyInstallers.close_window(root) easyInstallers.vp_start_gui()
def sendSign(account): import sign_support sign_support.goSign(account, "APP", "PCSF00124", True) tkMessageBox.showinfo(title="Skype EasyInstaller", message="Skype App Backup Created For: " + account) import easyInstallers easyInstallers.close_window(root) easyInstallers.vp_start_gui()
def sendSign(account): import sign_support sign_support.goSign(account,"APP","PCSI00011",True) tkMessageBox.showinfo(title="PSM Runtime Package EasyInstaller", message="PSM Runtime Backup Created For: "+account) close_window(root) import easyInstallers easyInstallers.close_window(root) easyInstallers.vp_start_gui()
def sendSign(account): import sign_support sign_support.goSign(account, "APP", "VITASHELL", True) tkMessageBox.showinfo(title="VitaShell EasyInstaller", message="VitaShell Backup Created. For " + account) close_window(root) import easyInstallers easyInstallers.vp_start_gui()
def cmbackupextract(account, file=""): if file == "": cmfile = tkFileDialog.askopenfilename(title='Select cmbackup', filetypes=[ ('Unsigned CMA Backup Files', '*.cmbackup') ]) else: cmfile = file if cmfile.__contains__("Gravity Rush FULL GAME (3.61 only!).cmbackup"): print "DO WHAT YOU WANT CAZ A PIRATE IS FREE!!" zf = zipfile.ZipFile(cmfile) try: zf.extract(member="load.txt", path="temp") zf.extract(member="TitleID.txt", path="temp") except KeyError: tkMessageBox.showerror(title="Error 094", message="Invalid .cmbackup!") zf.close() load = open('temp/load.txt', 'r') loadtype = load.read() load.close() backupfile = open('temp/TitleID.txt', 'r') CMABACKUP = backupfile.read() backupfile.close() os.remove("temp/load.txt") os.remove("temp/TitleID.txt") os.removedirs("temp") defs.extractZip(src=cmfile, dst=defs.getCmaDir() + '/EXTRACTED/' + loadtype + "/" + CMABACKUP) os.remove(defs.getCmaDir() + '/EXTRACTED/' + loadtype + "/" + CMABACKUP + "/" + "load.txt") os.remove(defs.getCmaDir() + '/EXTRACTED/' + loadtype + "/" + CMABACKUP + "/" + "TitleID.txt") if os.path.exists(defs.getCmaDir() + '/EXTRACTED/' + loadtype + "/" + CMABACKUP + '/savedata') == True: savedata = tkMessageBox.askyesno( title="Savedata", message= "This .cmbackup contains savedata, would you like to use this savedata?\nYou may have problems with trophy eligiby if you do." ) if savedata == False: shutil.rmtree(defs.getCmaDir() + '/EXTRACTED/' + loadtype + "/" + CMABACKUP + '/savedata') os.remove(defs.getCmaDir() + '/EXTRACTED/' + loadtype + "/" + CMABACKUP + '/savedata.psvmd-dec') sign_support.goSign(account, loadtype, CMABACKUP, True) shutil.rmtree(defs.getCmaDir() + '/EXTRACTED/' + loadtype + "/" + CMABACKUP) print "Done! Backup created" tkMessageBox.showinfo(title="Done!", message="Done!, Backup Created.") if file != "": sys.exit()
def chooseAccount(account): if backupType_support.getImportType() == "unsign": unsign_support.pushVars(account, load, False) unsign.vp_start_gui() elif backupType_support.getImportType() == "sign": sign_support.goSign(account, load, backup, False) if backupType_support.getImportType() == "resign": unsign_support.pushVars(account, load, True) unsign.vp_start_gui() if backupType_support.getImportType() == "resign2": sign_support.goSign(account, loaad, bkupz, True) tkMessageBox.showinfo(title="Resign", message="Re-Sign Complete! (Refresh QCMA)")
def patch(backup): import sign_support unsign_support.goUnsign(backup, CMA, False, "SYSTEM", account, ".") print "Patching With Featured App Removed!" dbPath = CMA + "/EXTRACTED/SYSTEM/" + backup + "/ur0_shell/db/app.db" print "Opening: " + dbPath appDatabase = sqlite3.connect(dbPath) print "Executing " + sqlQuery + "To app.db!" appDatabase.executescript(sqlQuery) appDatabase.close() sign_support.goSign(account, "SYSTEM", backup, ".") tkMessageBox.showinfo(title="FeaturedRemover", message="Backup Patched!") easyInstallers.vp_start_gui()
def patch(backup): import sign_support unsign_support.goUnsign(backup, CMA, False, "SYSTEM", account, ".") print "Patching With Hacked Whitelist" dbPath = CMA + "/EXTRACTED/SYSTEM/" + backup + "/ur0_shell/db/app.db" print "Opening: " + dbPath appDatabase = sqlite3.connect(dbPath) print "Executing " + sqlQuery + "To app.db!" appDatabase.executescript(sqlQuery) appDatabase.close() sign_support.goSign(account, "SYSTEM", backup, True) tkMessageBox.showinfo(title="WHITELISTER", message="Backup Patched! Restore Backup '" + backup + "' To Hack Your Whitelist") easyInstallers.close_window(root) easyInstallers.vp_start_gui()
def set(newTitleId,oldTitleId,account): newTitleId = str(newTitleId).upper() if len(newTitleId) != 9: tkMessageBox.showerror(title="Length Error",message="The TitleID you entered is NOT 9 characters Long.") sys.exit() if not defs.doesStringContain("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",newTitleId): tkMessageBox.showerror(title="Character Error",message="The TitleID contains an invalid character") sys.exit() with open(defs.getCmaDir()+'/EXTRACTED/PGAME/'+oldTitleId+"/sce_sys/param.sfo", 'rb') as file: filedata = file.read() filedata = filedata.replace(oldTitleId, newTitleId) with open(defs.getCmaDir()+'/EXTRACTED/PGAME/'+oldTitleId+"/sce_sys/param.sfo", 'wb') as file: file.write(filedata) print "param.sfo Patched" with open(defs.getCmaDir()+'/EXTRACTED/PGAME/'+oldTitleId+"/game/ux0_pspemu_temp_game_PSP_GAME_"+oldTitleId+"/VITA_PATH.TXT", 'rb') as file: filedata = file.read() filedata = filedata.replace(oldTitleId, newTitleId) with open(defs.getCmaDir()+'/EXTRACTED/PGAME/'+oldTitleId+"/game/ux0_pspemu_temp_game_PSP_GAME_"+oldTitleId+"/VITA_PATH.TXT", 'wb') as file: file.write(filedata) print "VITA_PATH.TXT Patched" os.rename(defs.getCmaDir()+'/EXTRACTED/PGAME/'+oldTitleId+"/game/ux0_pspemu_temp_game_PSP_GAME_"+oldTitleId,defs.getCmaDir()+'/EXTRACTED/PGAME/'+oldTitleId+"/game/ux0_pspemu_temp_game_PSP_GAME_"+newTitleId) print "ux0_pspemu_temp_game_PSP_GAME_"+oldTitleId+" Renamed to "+"ux0_pspemu_temp_game_PSP_GAME_"+newTitleId os.rename(defs.getCmaDir()+'/EXTRACTED/PGAME/'+oldTitleId,defs.getCmaDir()+'/EXTRACTED/PGAME/'+newTitleId) print oldTitleId+" Renamed to "+newTitleId print "Patching Complete.." print "Signing.." import sign_support sign_support.goSign(acc=account,ld="PGAME",bkup=newTitleId,resign=True) print "Removing... "+defs.getCmaDir()+'/EXTRACTED/PGAME/'+newTitleId shutil.rmtree(defs.getCmaDir()+'/EXTRACTED/PGAME/'+newTitleId) destroy_window() tkMessageBox.showinfo(title="Done!",message="PSP Bubble Cloned with TitleID "+newTitleId) sys.stdout.flush()