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.6.tar.gz
(11.7 kB
view details)
Built Distribution
ps4debug-0.0.6-py3-none-any.whl
(11.2 kB
view details)
File details
Details for the file ps4debug-0.0.6.tar.gz
.
File metadata
- Download URL: ps4debug-0.0.6.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf60b91902957a21f731689a38d655530834e4e0b2da5d055116282a3828707d |
|
MD5 | 1fe5b35f62cdd700c537d4386186fb4b |
|
BLAKE2b-256 | bf78d2fa833fb869e89f4cdcbc006dbccf480725bb85a42b95b67672ab233cee |
File details
Details for the file ps4debug-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: ps4debug-0.0.6-py3-none-any.whl
- Upload date:
- Size: 11.2 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 | 2ee770d520439b61e9059d3737ef7e50bd3891d87cc048327ffecd2915131060 |
|
MD5 | 957267249087cbf20495032431cfe1c7 |
|
BLAKE2b-256 | 7468591c5ecc6621d8ac10ac08e11194a81b98fea6317a2e95bfddd4fb652f5f |