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()
Example #2
0
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()
Example #3
0
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()
Example #4
0
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()
Example #8
0
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()
Example #9
0
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()
Example #10
0
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)")
Example #13
0
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()
Example #14
0
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()