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.5.tar.gz
(11.4 kB
view details)
Built Distribution
ps4debug-0.0.5-py3-none-any.whl
(10.9 kB
view details)
File details
Details for the file ps4debug-0.0.5.tar.gz
.
File metadata
- Download URL: ps4debug-0.0.5.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ac4939770518ada07c70d68dafcac9d18b20ea42e47b13ebd214ed63944fa61 |
|
MD5 | 5fa772ec08c4c8520806ac6afe902358 |
|
BLAKE2b-256 | fd044c332129523be4246d69d58a6bffe9239865ef19c8bc1841f612dea1c66e |
File details
Details for the file ps4debug-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: ps4debug-0.0.5-py3-none-any.whl
- Upload date:
- Size: 10.9 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 | 20c92a21939f4079fdc9f5037acb2cfe25da7afb7a42526e742234e70d608bd7 |
|
MD5 | 758f33eb598b24864480029066c73052 |
|
BLAKE2b-256 | 9436cec47bbc585f22a9de55564fa909c0227f72552ceaa9bb6145ca9c37c7d3 |