Skip to content

ArkSama/PS4-PS5-Game-Patch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

226 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PS4/PS5 Game Patch Repository

Custom Game Patches for PlayStation 4 and PlayStation 5 Games.

Usage (PS4)

Manual Installation (Offline via HDD)

  • Download patch zip.
  • Copy patch1.zip to /user/data/CheatsManager/backup/patches/ using an FTP client.
  • Install and Open PS4 Cheats Manager on your console.
    • Scroll and select on Update.
    • Scroll and select on Update Cheats, Patches, Plugins (HDD)
    • Find and select entry patch1.zip
  • If the patches was installed correctly from Internal HDD, you should see the following message:
Screenshot (Click to Expand)

Manual Installation (Offline via USB)

  • Download patch zip.
  • Copy patch1.zip to root of USB drive.
  • Install and Open PS4 Cheats Manager on your console.
    • Scroll and select on Update.
    • Scroll and select on Update Cheats, Patches, Plugins (USB)
    • Find and select entry patch1.zip
  • If the patches was installed correctly from USB, you should see the following message:
Screenshot (Click to Expand)

Easy Installation

Storage

  • Use FTP to upload patch files to:
    • /user/data/GoldHEN/patches/xml/
  • Naming conversion for app and patch engine to recognize: (TitleID).{format}
    • e.g. CUSA00001.xml
    • e.g. CUSA03694.xml

Usage (PS5)

Manual Installation (Offline via HDD)

Prerequisites:

  • A PS5 firmware 2.xx to 8.xx (atm),
  • FTP,
  • Last Etahen & Itemzflow,
  • XML patches

Step 1: Update existing patches with Itemzflow

  • Launch Itemzflow and go to any PS4 game, then click on Trainer. It will ask you if you want to update the patch database , click Yes.

Important note : each time you update the patches via itemzflows, your patches that you put manually will be overwritten, always keep a backup of your patches that you had outside of etahen to send them back by ftp .

Step 2: Sending your patches via FTP

  • Connect to your PS5 via FTP using FileZilla or your preferred FTP client, then navigate to /data/etaHEN/patches/xml for PS4 games /data/etaHEN/patches/xml_prospero for PS5 games
  • Here I will copy the patch

Step 3: Launch Itemzflow_xml_patch_plugin in Etahen

  • Go to Etahen Tool box then plugin
  • Enable Itemzflow_xml_patch_plugin **Note: ** you should enable it every time you jailbreak the console if you want to use the patches

Step 4: Activating the patch in Itemzflow

  • launch Itemzflow and go to the game on which you want to use a patch (here it will be GTA V)
  • Click on trainers , a panel appears you can scroll through the patches with the directional cross when there are several
  • To activate a patch, place yourself on the patch and click on the cross, the pane disappears and you have your patch activated.

Step 5: Launch the game and check that the patch is applied correctly

  • launch or launch the game from the home screen, a window will appear showing you that the patches are applied

For Ps5 9.xx 10.xx user you must patch eboot directly with py-patch

Developing patches

Plugin system and GoldHEN Cheat Manager looks for patches by (TitleID).{format}. (this is automatically generated from a python script using app_titleid key when downloading/updating)
You may edit the individual file for your Title ID or edit the base file and upload it to your PS4 as (TitleID).{format}.

export PS4_IP=192.168.1.138 # your PS4 ip address
export PS4_FTP_PORT=2121 # your PS4 ftp port (2121 via GoldHEN payload)
# sending base file as CUSA00000.xml
curl -T ExampleGame.xml ftp://$PS4_IP:$PS4_FTP_PORT/data/GoldHEN/patches/json/CUSA00000.xml
# sending CUSA00000.xml as CUSA00000.xml
curl -T CUSA00000.xml ftp://$PS4_IP:$PS4_FTP_PORT/data/GoldHEN/patches/json/CUSA00000.xml
  • Repository naming conversion for single or multiple games: GameName.{format} (English names only)
    • e.g. ExampleGame.xml

Creating a patch

Set base address to 0x00400000 when importing binaries for consistency with PS4 memory address. (ASLR disabled)

Submission Guidelines

  • Patch must be named GameTitle.json and be in /patches/json.
    For example, a patch file for Gravity Rush 2 must be called GravityRush2.json.
  • If you are making a patch for a game that already has a file, then add to it.
  • Submitting patches:
    • No whitespace.
    • Lowercase hex for address/value hex, uppercase for Title ID.

Patch types

type Info Value (example)
byte Hex, 1 byte "0x00"
bytes16 Hex, 2 bytes "0x0000"
bytes32 Hex, 4 bytes "0x00000000"
bytes64 Hex, 8 bytes "0x0000000000000000"
bytes Hex, max size is 255 bytes string (no spaces) "####"
float32 Float, single "1.0"
float64 Float, double "1.0"
utf8 String, UTF-8 "string"
utf16 String, UTF-16 "string"
mask Pattern Scan, max size is 255 bytes string (with spaces)
Parameters:
Offset: Offset from first address of found address
"aa bb ?? dd"
mask_jump32 Pattern Scan With Branch (32 bit), max size is 255 bytes string (with spaces)
Parameters:
Target: target bytes string for branch
Size: size of jump (min: 5) with nop padding after
Offset: Offset from first address of found address
"aa bb ?? dd"
  • Note: Strings must be manually null terminated.

Example patch

<?xml version="1.0" encoding="utf-8"?>
<Patch>
    <!--
      This will not be used by the game patch parser.
      It is only used for generating the files for distribution.
    -->
    <TitleID>
        <ID>EXAMPLE01</ID>
        <ID>EXAMPLE02</ID>
    </TitleID>
    <!-- `AppVer="mask"` can be used for pattern scan patches --> 
    <!-- `ImageBase` is only valid for PS5 patches. -->
    <!-- `ImageBase` can be `0x0000000000000000`, the plugin will use relative offset -->
    <Metadata Title="Example Game Title"
              Name="Example Name"
              Note="Example Note"
              Author="Example Author"
              PatchVer="1.0"
              AppVer="00.34"
              AppElf="eboot.bin">
        <PatchList>
            <!-- This is a code comment, improves code readability. -->
            <!-- Code comment at end of line is also supported. -->
            <Line Type="bytes" Address="0x00000000" Value="0102030405060708"/>
            <Line Type="utf8" Address="0x00000000" Value="Hello World"/>
        </PatchList>
    </Metadata>
</Patch>

About

Custom Game Patches for PlayStation 4 and PlayStation 5 Games

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 77.2%
  • C 21.9%
  • Makefile 0.9%