Repository navigation
Architecture
Browser (any device) PS5
┌──────────────────────┐ WebSocket ┌─────────────────────────────┐
│ web app │◄─────────────►│ CheatSpecter payload :8744 │
│ protocol client │ HTTP │ serves the app │
│ scanner, cheats │ │ relays to the debugger │
└──────────┬───────────┘ │ library, files, keep-on │
│ HTTPS │ │ TCP │
▼ │ ps5debug-NG :744 │
cheat tables and lessons └─────────────────────────────┘
(GitHub)
- ps5debug-NG does the low-level work on the console: reading and writing a game's memory, searching it, watchpoints and breakpoints. CheatSpecter does not replace it.
- The web app contains almost all of CheatSpecter: the debugger's protocol, the scanner, cheat formats, the disassembler (iced-x86, in a worker), and the interface. It runs entirely in your browser.
-
Something has to relay, because browsers cannot open raw TCP connections to the debugger. There are two relays, and the app is identical with either:
-
the payload (
payload/), a small ELF on the console that serves the app and relays locally; -
the bridge (
bridge/server.mjs), the same job done by a Node.js program on a computer.
-
the payload (
- Cheat tables and lessons are fetched by the browser from GitHub. The console never needs internet access.
The debugger cannot do these, so the payload does:
| Feature | How |
|---|---|
| Game library, names and icons | Reads the system's own metadata for installed titles |
| Starting a game | Asks the system to launch it |
| Your cheats on the console | /data/cheatspecter/cheats/<title id>-<version>.cspector |
| Small settings (such as lesson progress) | /data/cheatspecter/prefs/<name>.json |
| "What writes to this" and breakpoints | Forwards the debugger's stop reports to the browser |
| Cheats that stay on | A small engine that reads the same .cspector file, applies the cheats marked "keep", and re-applies them when the game restarts |
The keep-on engine uses its own connection to the debugger, never needs the debugger attached, checks the game's bytes before every patch, and steps back while a browser is running a long search. payload/README.md has the exact rules and every HTTP endpoint.
| Port | Where | What |
|---|---|---|
| 8744 | PS5 | The payload: web app, API, WebSockets |
| 744 | PS5 | ps5debug-NG |
| 755 | PS5 (payload) or computer (bridge) | Where the debugger delivers stop reports |
| 9021 | PS5 | ELF loader, for sending the payload |
The console allows a single debugging session at a time. The parts of the app that need one ("what writes to this", "what does this touch", pause and step, the first-cheat guide) take turns through one gate, so the second to ask is told who has it.
- A patch is only written when the game's current bytes match the cheat's "off" bytes.
- Everything that changes something on the payload (saving files, starting games, opening the relay) is refused when the request comes from a page on another site.
- The bridge only relays to private network addresses on the debugger's port.
- Title IDs, versions and settings names are checked against strict patterns before they are used in a file path.
- Downloaded lessons are data only and are validated before use. Imported cheats that run code are held for review.
| Path | What it is |
|---|---|
src/lib/ |
The library: protocol, scanner, cheat formats, debugger, engine helpers. No interface code. |
src/ui/ |
The interface (React, Tailwind, shadcn/ui, Kibo UI) |
payload/ |
The on-console ELF, in C |
bridge/ |
The relay for running from a computer, and the demo mode |
mock/ |
A simulated console with a small game, used by the demo and every test |
mcp/ |
The MCP server |
learn/ |
The lessons |
test/ |
Test suites |
The README of the repository and the comments at the top of each file in src/lib/ go further.
CheatSpecter is free software under the GPL-3.0 license and comes with no warranty. Use it at your own risk. Releases · Changelog · Report a problem
Getting started
Guides
- Finding Values
- Making and Managing Cheats
- Code Cheats and Scripts
- Debugging
- Engine Helpers
- Community Cheat Tables
Claude (MCP)
Reference