This project provides a complete workflow to recover deleted files from a formatted internal PS3 hard drive.
It includes tools and documentation to decrypt the drive and run file carving with a custom PhotoRec signature set or custom Python scripts.
The PlayStation 3 uses encrypted internal hard drives. When a drive is formatted (e.g. via a system reinstall), data is not truly erased, but becomes inaccessible without proper decryption.
This project helps you:
- Decrypt a full disk image using your console's
eid_root_key. - Analyze or recover user data using
PhotoRecor custom scripts.
- PS3 disk image decryption (AES-CBC/ECB with correct key and offset).
- Custom
photorec.sigfile with tailored PS3 file signatures. - Alternative Python carving script for unsupported use cases.
- File sorting script to organize recovered files by type.
- File verification tool to detect and separate corrupted files.
- Clean CLI workflow and documentation.
- A full raw image of your PS3 internal drive (e.g.
ps3_image.img). - Your console's
eid_root_key(not provided). - Linux system (recommended).
- Dependencies:
gcc,makexxd,hexdump(for CLI analysis)PhotoRec(part of TestDisk)openssl(used internally for AES)ffmpeg,python3,pip,Pillow(for Python verification script)
To install the required Python packages for the scripts in the scripts/ folder, run:
pip install -r requirements.txtThis will install all dependencies needed for:
carving_script.py: File carving using custom logic.verification_script.py: Integrity check of recovered files (images, videos, audio, text, and archives).sort_recovered_files.py: Sort files recovered by PhotoRec or carving into categorized folders.
cd ps3-hdd-reader-linux
makesudo ./ps3_dump_decrypted -m cbc -o 0 "/path/to/ps3_image.img" "/path/to/ps3_decrypted.img" "./eid_root_key"-m: AES mode (cbcorecb)-o: offset (default 0)- Provide correct paths accordingly.
Ensure the
eid_root_keyis 48 bytes and in binary format.
Run PhotoRec using the custom signature file:
photorec /d recovery_output /sig photorec.sig /cmd ps3_decrypted.imgUse the carving_script.py located in the script/ folder if PhotoRec does not properly use the .sig file.
This script performs basic signature-based carving manually on the decrypted image.
To automatically categorize recovered files by type, use the sort_recovered_files.py script:
python3 script/sort_recovered_files.pyThis will place files into subdirectories inside a organized/ folder.
Once files are organized, use the verification_script.py to scan all categorized files.
Corrupted files will be automatically moved to a corrupted/ subfolder in their respective categories.
Run with:
python3 script/verification_script.pyps3_dump_decrypted: Decryption binary (must be compiled)photorec.sig: Custom signatures for PS3 file typesdecrypt/: Scripts to help test offsets or check encryption modescript/carving_script.py: Alternative file carving script in Pythonscript/sort_recovered_files.py: Script to organize recovered files by typescript/verification_script.py: Script to verify integrity of recovered files
🚫 Do NOT share your eid_root_key. It is unique to your console and should remain private.
MIT License.