Integrates into Future Tone on the PS4
Project description
PyPS4debug
ps4debug implementation in python.
Install (pip)
pip install ps4debug
Example usage
import sys
import functools
import ps4debug
def main(ip_address):
# You may also retrieve the IP address using the find_ps4() function
ip_address = ip_address or ps4debug.PS4Debug.find_ps4()
with ps4debug.PS4Debug(ip_address) as ps4:
# Get processes
processes = ps4.get_processes()
# Find specific process id
pid = next((pid for name, pid in processes if name == 'eboot.bin'), None)
# Read memory
gold = ps4.read_int32(pid, 0xCA88888)
# Write memory
if ps4.write_int32(pid, 0xCA44444, 9999) != ps4debug.ResponseCode.SUCCESS:
print('There was an error!')
# Remotely execute code (Code injection)
with ps4.memory(pid, 4096) as memory:
# Write your own assembly code to the system
assembly = b'\x90\x90\x90\x90\xC3\x90'
memory.write(assembly)
# And call it. Parameters are limited to 48 bytes or 6 values.
# See https://docs.python.org/3/library/struct.html#format-strings for more information on the '<6Q' part if you're confused.
rpc_stub = ps4.install_rpc(pid)
rax = memory.call(1, 2, 3, 4, 5, 6, rpc_stub=rpc_stub, parameter_format='<6Q')
print(f'Thread returned with rax = {rax}')
# You may also use functools.partial for cleaner calls:
get_gold = functools.partial(ps4.read_int32, pid=pid, address=0xCA88888)
set_gold = functools.partial(ps4.write_int32, pid=pid, address=0xCA88888)
injected_function = functools.partial(ps4.call, pid=pid, rpc_stub=rpc_stub, address=allocated_memory, parameter_format='<6Q')
gold = get_gold()
set_gold(gold + 10)
injected_function(1, 2, 3, 4, 5, 6)
if __name__ == '__main__':
# Normally you would use something like Typer for this
args = sys.argv[1:]
ip_address = args[0] if len(args) else input('Enter the IP address of your PS4: ')
main(ip_address)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ps4debug-0.0.3.tar.gz
(11.2 kB
view details)
Built Distribution
ps4debug-0.0.3-py3-none-any.whl
(10.8 kB
view details)
File details
Details for the file ps4debug-0.0.3.tar.gz
.
File metadata
- Download URL: ps4debug-0.0.3.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ade0970bc4b7762cf0379239309d2d10fa1f9bf0a63c3744930e0208fb1ca65 |
|
MD5 | b331951d76494fdb303791feb73e2e33 |
|
BLAKE2b-256 | 4037e16bbe6b2ab37e9169ea4cff9250217bd88c280833178da9750328ed9687 |
File details
Details for the file ps4debug-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: ps4debug-0.0.3-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a043469509685860ff46e0695f89bf64c4f92d710e1502321ff08384c0518af |
|
MD5 | 3f611c2de0b22d7f8e336fb74e1ecbd6 |
|
BLAKE2b-256 | 7a1f96123f36135723d57c794b78a40982e818df67cb2835d97bb57c13f37fa9 |