Files
Collins3560 d8245f4b47 Cinebreak: one-shot PS5 BD-J jailbreak chain
Fork of Gezine's MIT-licensed BD-JB5 (BD-J sandbox escape) extended into a
full userland -> kernel -> root -> homebrew chain with automation tooling:
ps5chain.py (full-chain orchestrator), ps5find.py (LAN discovery),
probe payload, and local test harness.

All original copyright headers and licenses preserved. Credits: Gezine,
TheFlow, ufm42, john-tornblom, hammer-83, kuba-.
2026-08-09 21:11:17 +03:00

34 lines
1.1 KiB
Python

#!/usr/bin/env python3
"""BD-JB5 LAN scanner - finds PS5s with RemoteJarLoader (:9025) or elfldr (:9021) open."""
import socket, sys, ipaddress, concurrent.futures
PORTS = {9025: "RemoteJarLoader (BD-JB5)", 9021: "elfldr"}
def probe(ip):
for port, name in PORTS.items():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(0.8)
try:
if s.connect_ex((ip, port)) == 0:
return ip, port, name
finally:
s.close()
return None
def main():
net = sys.argv[1] if len(sys.argv) > 1 else "192.168.1.0/24"
print(f"[*] Scanning {net} for BD-JB5 services...")
hosts = [str(h) for h in ipaddress.ip_network(net, strict=False).hosts()]
found = []
with concurrent.futures.ThreadPoolExecutor(max_workers=128) as ex:
for r in ex.map(probe, hosts):
if r:
found.append(r)
print(f"[+] {r[0]}:{r[1]} -> {r[2]}")
if not found:
print("[-] Nothing found. Is the BD-J payload running?")
return 0 if found else 1
if __name__ == "__main__":
main()