Releases: claimore22/ps5rs
Release list
ps5rs v0.4.0
ps5rs v0.4.0
Host-side emulation and middleware detection release.
Added
- Host-side emulator hardening: deterministic per-module
rand, captured guest stdout (ExecutionReport::output_lines), and the self-authoredlibdbg_basicfixture exercisinglibSceDbglogging with a 16-call import trace - Fixture tooling: multi-import dynamic fixture builder (
plan()+build_multi()), stdout + wildcard expectations in the emulator regression suite, and exact-encoding unit coverage for the x86-64 code generator - Third-party middleware detection (
ps5-analysis::middleware): walks game folders and classifies every PRX/SPRX/SO module as ThirdParty / Sony / Unknown via a 30-entry fingerprint catalog — FMOD, Wwise, Gameface, ICU, RENOIR, iZotope/McDSP/Auro-3D/Ozone, Unity (IL2CPP, Burst, PS5 platform, PSN, Save Data, Common Dialog, Audio Spatializer), Google Resonance Audio, CRIWARE, WebKit (Kitt), Epic Online Services ps5rs middleware <games_dir>command: per-game terminal or JSON middleware report (title ID, engine, vendor/product attribution per module)- Dashboard Middleware tab: summary cards, Top Middleware Products ranking, per-game module table with third-party/Sony/unknown badges (
dashboard --games <games_dir>) - String-based detection:
detect_third_partygains FMOD, Wwise, Coherent Gameface, and ICU patterns
Changed
- Module-scan accuracy: middleware walk skips
sce_sys/anddecrypted/dump-artifact folders, dedupes identical copies per game by SHA-256, keeps distinct-content same-name versions
Fixed
- Register zeroing encoding: generated guard code leaked stale register garbage into recorded import args (
xor r8d, eax/xor r9d, eax); now emits45 31 C0/45 31 C9 - RIP-relative displacement math: displacements now anchor to instruction start instead of end
Full changelog: https://github.com/claimore22/ps5rs/blob/v0.4.0/CHANGELOG.md
ps5rs v0.3.0
A PS5 binary analysis, virtual loading, and host-side emulation framework written in Rust.
Parses SELF/ELF/PRX formats, resolves NID imports, extracts clean ELFs, fingerprints game binaries through string analysis (engine/middleware/SDK detection), and generates interactive dashboards.
Also provides a virtual PS5 loader: maps ELF memory, applies relocations (RELATIVE, ABS64, GLOB_DAT, JUMP_SLOT), resolves imports against runtime PRX exports and offline system-module databases, and stubs unknown symbols for multi-module dependency analysis.
A host-side emulator (ps5-emu) executes guest binaries on the host CPU and routes system-library imports through pure-Rust HLE modules.
v0.2.0
ps5rs v0.1.0
First stable release of ps5rs — a PS5 binary intelligence and fingerprinting framework.
Features
- PS5 eboot.bin + PRX/SPRX module scanning with NID resolution
- SELF/ELF parsing with metadata extraction
- String-based engine detection (Unreal 4/5, Unity, Godot, custom forks)
- Weighted evidence-based fingerprinting with confidence scoring
- Interactive HTML dashboard with games, engines, libraries, NIDs, statistics tabs
- Community NID catalog sync with Supabase
- Unknown NID export and submission with GitHub username verification
- Offline-first: all analysis runs locally, Supabase is optional
Commands
ps5rs scan— scan game directories and build analysis datasetps5rs analyze— run reports (stats, imports, engines, heatmap, graph, etc.)ps5rs extract— extract clean ELFs from SELF containersps5rs dashboard— generate interactive HTML dashboardps5rs catalog sync— download community NID catalogps5rs catalog push-unknown— submit unknown NIDs for reviewps5rs strings— byte-level string extraction with detectionps5rs inspect/ps5rs imports— binary inspectionps5rs validate— dataset validationps5rs export-unknown— export unresolved NIDs as CSV
NID Catalog
- 154,451 built-in NID mappings embedded at compile time
- Merge semantics: load multiple community catalogs
- Supabase-backed contribution system with review queue
Test Suite
- 337 tests across 8 crates