Skip to content
This repository has been archived by the owner on Sep 22, 2022. It is now read-only.

1.64

Latest
Compare
Choose a tag to compare
@illusion0001 illusion0001 released this 30 Jun 05:59
Changelist (Click to Expand)
    64	0644d3b Update build_and_test.yml
    63	cf506a9 Update build_and_test.yml
    62	465512b Update build_and_test.yml
    61	c76a600 Fix missing `entry_prog` param bug
    60	6ff54fb Update to look for `title` key
    59	9a8e13f Add option to disable downloading files
    58	1692e61 Wait for user to press a key to exit program
    57	ae8162a Add PS Vita support
    56	77d08fe Print author in metadata
    55	b839bb7 Fix quote filepath bugs
    54	9b93eb5 Fix missing file during patch entry restart
    53	a14933d Remove unused welcome text variable
    52	df21bbd Update download patch note
    51	d3dc2a6 Fix spacings between text
    50	2cf238e Use cache for pip dependencies
    49	6cd2159 Allow user to select patch pick type
    48	96e4e13 Fix exception during cancel on patch selection
    47	08a7d54 Move some update related settings to config
    46	8dac880 Add return to entry select
    45	610715a Interactive program with questionary
    44	f1b6d12 Replace wget with request for downloading files
    43	ae00580 Add patch downloader with -dl
    42	a2b8fa8 Update .gitignore
    41	62d956d Warn user if patch is disabled before applying
    40	77d0437 Add version number to program
    39	ad7ab93 Add to be patched file to confirmation dialog
    38	e7d03ca Update example in readme
    37	7166320 Update examples
    36	6932658 Save new file only after user accepts
    35	3c71f70 Add confirmation prompt
    34	9aefcc9 Move release to another repository
    33	3afa87b Error handling for missing keys
    32	cf3511b Move CI test to script files
    31	dcc4c1a Support big endian for utf16
    30	203ea41 Update readme with uft16 example
    29	ee25ad0 add tests for utf16
    28	6e2144f arch: implement utf16-le
    27	3e6a4d4 CI: use condition for artifact
    26	2ed4775 README: embed examples from file
    25	6753a1c Add generic base comment + small cleanup
    24	1f8f77b README: add features and release note
    23	a25ac59 Add manual output path support
    22	92dd74e Remove mentions of Array of bytes
    21	bc5a642 Cleanup release steps
    20	dbbb958 Cleanup test files
    19	680a337 CI: simplify steps
    18	dfbb499 try tarball for linux
    17	a4681a5 Fix borked non-verbose mode
    16	eaf95f4 Fix overwritten patched file
    15	e8626d0 Build Linux binaries on buildbot
    14	350303e Add fake testing data
    13	d883c88 Refractor from ShadowDog
    12	2c4e699 Fix CI and msg text
    11	aeaf6d5 Add inital support for Cell and Orbis archs (thanks to ShadowDog for help)
    10	c3f41d4 Move files into folders
     9	6271e28 Add Argparse support (thanks ShadowDog)
     8	a0ea24f Migrate to Pyyaml (thanks to ShadowDog for help)
     7	474645b Minor changes
     6	b749975 Add source python file to archives
     5	b543822 Auto iterate working (thanks to aerosoul94 + Shadow)
     4	52eb51e Elf addr cfg working
     3	1dc0aed cfg test
     2	9a6d206 Add CI
     1	b9362bf Initial commit
Supporters (Click to Expand)

Supporters

Thanks to the patrons who supported me on various platforms! You guys are awesome!

Patreon:

  • ac2pic
  • alessaro92
  • faith
  • GarnetSunset
  • Ioritree
  • Jeff Eberlin
  • YveltalGriffin

Github Sponsors:

  • Asinine
  • superpic31
  • regal.

BuyMeACoffee and Ko-fi:

  • John
  • InquisitionImplied
  • YveltalGriffin
  • Maestruleduardo
Readme (Click to Expand)

py-patcher

Simple Binary Patching for console games in Python.

Latest binaries: https://github.com/illusion0001/py-patcher-bin/releases/latest

Build and test PyPatcher

Features

  • Download/Update patch files with -dl flag.
  • Config like parsing support.
  • Supports big and little endian architecture. (PS3 and PS4)
  • Easy to read syntaxes.

Architectures

  • Generic - for legacy direct file address patches
  • Cell - for transferring RPCS3 patches to real console
  • Orbis - for transferring new PS4 patches to real console

Types

  • utf8 - text string (must be enclosed with quotation marks. i.e "hello world!" )
  • utf16 - text string (must be enclosed with quotation marks. i.e "hello world!" )
  • bytes - byte array (must be enclosed with quotation marks. i.e "90 90 90 90" or "90909090" )
  • byte - 1 byte
  • bytes16 - 2 bytes
  • bytes32 - 4 bytes
  • bytes64 - 8 bytes
  • float32 - single 32 bit float
  • float64 - double 64 bit float

Example (scroll down for more info): https://github.com/illusion0001/py-patcher/blob/7166320afeffe8fadd9715579b5fcf909ce4fb86/data/example.yml#L26-L54

Program usage

launcher.py -h
usage: launcher.py [-h] -f FILE -p PATCH [-v] [-od] [-o OUTPUT_PATH] [-ci] [-y]

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  Specify file to be patched.
  -p PATCH, --patch PATCH
                        Specify patch file.
  -v, --verbose         Enable Verbose Mode.
  -od, --output_date    Append date and time to output directory.
  -o OUTPUT_PATH, --output_path OUTPUT_PATH
                        Specify output file path.
  -ci, --ci_build       For running tests on buildbot.
  -y, --always_yes      Always skip confirmation prompts.
  -dl, --download_patch
                        Download/Update patch files.

Credits

Todo-list

  • Move Patch Enabled field to auto generated file

Patch Files

https://illusion0001.github.io/_patch/patch.zip