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.2.tar.gz
(11.2 kB
view details)
Built Distribution
ps4debug-0.0.2-py3-none-any.whl
(10.8 kB
view details)
File details
Details for the file ps4debug-0.0.2.tar.gz
.
File metadata
- Download URL: ps4debug-0.0.2.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 | 6cf317bc2b5e4c7b460be2f3537ca167a2f729b401d11570decf6e093dd7df65 |
|
MD5 | 1f0d4066be41f9457a30435f20ebb0e7 |
|
BLAKE2b-256 | 834b3851e1227594a99db00016ad397a7c0e0915211d6b0b9b90c9cc5598a089 |
File details
Details for the file ps4debug-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: ps4debug-0.0.2-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 | 7b1560f0a7a22da875aaeb4ca9f6882ab23216cb1e7e64c37e2552b1a0f5e147 |
|
MD5 | 6fc1146ecd68bba6ecc752ca29b2fdca |
|
BLAKE2b-256 | 1bdb019be660d7dfe5af5be33cdbcdab1b22bdf016bb664d5b01ce09891a3625 |