24 minutes ago
Garlic SaveMgr for PS5
PS5 save decrypt/encrypt/browse with embedded web UI.
UsagePS5 save decrypt/encrypt/browse with embedded web UI.
- Send
to elfldrCode:garlic-savemgr.elf
- Open
in your browser on your PCCode:http://<ps5-ip>:8082
- Drag and drop files into the browse tab to add/replace files
Building
Requires the PS5 Payload SDK.
make PS5_PAYLOAD_SDK=/path/to/ps5-payload-sdk
v1.7 Latest
What's New
- Multi-threaded HTTP server — parallel request handling, no more blocking on slow operations
- Server-side file editor — file stays in PS5 memory, client fetches only what's needed
- Hex view: instant open, on-demand 4KB page fetching with cache
- Text view: infinite scroll, auto-loads 64KB chunks as you scroll
- Syntax highlighting (JSON/XML) works on all file sizes
- Edits sent as patches, saved back to mounted save
- Hex view: instant open, on-demand 4KB page fetching with cache
- Performance — lock-free fast paths for HTML/downloads/reads, TCP_NODELAY, partial-send fixes
Download:
v1.6 Release Notes
USB Save Management
- Scan USB drives () for saves inCode:
/mnt/usb0-7formatCode:/PS5/SAVEDATA/GARLIC/
- Dump to USB — export decrypted saves to USB drive
- Import from USB — import USB saves directly to the system with overwrite protection
- Multi-USB detection — selector dialog when multiple USB drives are connected
- USB saves displayed in a collapsible drawer section below system saves
- USB rescan on every page refresh
Multi-User Support
- User selector dropdown in the nav bar showing all PS5 users
- Reads usernames from Code:
/user/home/<uid>/username.dat - Save list filtered by selected user (USB saves shown for all users)
PS4/PS5 Platform Tabs
- Platform filter tabs — toggle between PS4 and PS5 saves
- Each platform tab has its own USB drawer section
- Removed scanning of manual folderCode:
/data/save_files/
Encrypted Save Import
- Import encrypted saves directly in the Import tab — drop a single encrypted file (not just decrypted folders)
- PS4 encrypted import: drop save image + sealed key togetherCode:
.bin
- Mounts the save, validates , and checks account ID before importingCode:
param.sfo
- Account ID mismatch modal — prompts to resign when save belongs to a different account, showing both AIDs
- Overwrite confirmation — warning modal before overwriting an existing save on the system
Account ID via PS5 Registry
- Account ID now read from PS5 registry via instead of queryingCode:
sceRegMgrGetBinCode:savedata.db - Matches registry accounts (1-16) to PS5 users by comparing usernames
- More reliable — works even when user has no existing saves in the database
Resign Fixes
- PS4: only patches AID at offset (no UID patching)Code:
0x15C
- PS5: patches both AID at and UID atCode:
0x1B8Code:0x660 - Previous versions incorrectly wrote UID at for all saves, potentially corrupting PS4 savesCode:
0x660
PS4 Import Fixes
- PS4 saves now correctly import to (notCode:
/user/home/<uid>/savedata/)Code:savedata_prospero/
- sealed key companion file is copied alongside the save imageCode:
.bin
- PS4 savedata DB at used instead ofCode:
/system_data/savedata/Code:savedata_prospero/
Bug Fixes
- Drag & drop leak — files dropped outside drop zones on resign/import tabs no longer upload to the currently mounted save in browse mode
- "Resign Another" button added to resign success screen
- now acceptsCode:
import_finishquery parameter for correct user targeting across all import flowsCode:uid
- now setsCode:
mount_by_pathflag for proper PS4/PS5 detection in subsequent operationsCode:g_enc_ps4
- all-zeros corruption check applied consistentlyCode:
param.sfo


