Skip to content

Releases: claimore22/ps5rs

ps5rs v0.4.0

Choose a tag to compare

@claimore22 claimore22 released this 10 Aug 08:16

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-authored libdbg_basic fixture exercising libSceDbg logging 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_party gains FMOD, Wwise, Coherent Gameface, and ICU patterns

Changed

  • Module-scan accuracy: middleware walk skips sce_sys/ and decrypted/ 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 emits 45 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

Choose a tag to compare

@claimore22 claimore22 released this 03 Aug 05:51

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

Choose a tag to compare

@claimore22 claimore22 released this 30 Jul 03:44

Added

ps5rs v0.1.0

Choose a tag to compare

@claimore22 claimore22 released this 29 Jul 07:03

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 dataset
  • ps5rs analyze — run reports (stats, imports, engines, heatmap, graph, etc.)
  • ps5rs extract — extract clean ELFs from SELF containers
  • ps5rs dashboard — generate interactive HTML dashboard
  • ps5rs catalog sync — download community NID catalog
  • ps5rs catalog push-unknown — submit unknown NIDs for review
  • ps5rs strings — byte-level string extraction with detection
  • ps5rs inspect / ps5rs imports — binary inspection
  • ps5rs validate — dataset validation
  • ps5rs 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