Files on the PS4

From PS4 Developer wiki
Revision as of 18:03, 20 August 2020 by Roxanne (talk | contribs)
Jump to navigation Jump to search

See also: Partitions

PS4 filesystem content

v1 - this is not complete at all and may contain mistakes regarding folder structure! (Of course it contain a lot of mistake. There are not dll but sdll ...)

├── ABCDE12345                                                                ABCDE12345 is a placeholder. This folder name is not static but different per console. (ABCDE12345 is not a placeholder but a random mount point for apps sandboxing)
│   ├── common
│   │   └── lib
│   │       ├── libScePsm_aot.sprx
│   │       ├── libSceVshCommon_aot.sprx
│   │       ├── mscorlib.dll
│   │       ├── Sce.PlayStation.Core.dll
│   │       ├── Sce.PlayStation.HighLevel.UI2.dll
│   │       ├── Sce.PlayStation.Orbis.dll
│   │       ├── Sce.Vsh.AppDbWrapper.dll
│   │       ├── Sce.Vsh.AppInstUtilWrapper.dll
│   │       ├── Sce.Vsh.dll
│   │       ├── Sce.Vsh.Gls.NativeCall.dll
│   │       ├── Sce.Vsh.GriefReportStorage.dll
│   │       ├── Sce.Vsh.KernelSysWrapper.dll
│   │       ├── Sce.Vsh.MarlinDownloaderWrapper.dll
│   │       ├── Sce.Vsh.Messages.BgAccessLib.dll
│   │       ├── Sce.Vsh.Messages.StorageAccessLib.dll
│   │       ├── Sce.Vsh.Np.Asm.dll
│   │       ├── Sce.Vsh.Np.Common.dll
│   │       ├── Sce.Vsh.Np.Manager.dll
│   │       ├── Sce.Vsh.Np.ServiceChecker.dll
│   │       ├── Sce.Vsh.Np.Sns.dll
│   │       ├── Sce.Vsh.Np.Trophy.dll
│   │       ├── Sce.Vsh.Orbis.AbstractStorage.dll
│   │       ├── Sce.Vsh.Orbis.Bgft.dll
│   │       ├── Sce.Vsh.PartyCommon.dll
│   │       ├── Sce.Vsh.ProfileCache.dll
│   │       ├── Sce.Vsh.PsnUtil.dll
│   │       ├── Sce.Vsh.Registry.dll
│   │       ├── Sce.Vsh.SQLite.dll
│   │       ├── Sce.Vsh.UpdateServiceWrapper.dll
│   │       ├── Sce.Vsh.UserServiceWrapper.dll
│   │       ├── Sce.Vsh.VoiceMsg.VoiceMsgWrapper.dll
│   │       ├── Sce.Vsh.Webbrowser.XdbWrapper.dll
│   │       ├── Sce.Vsh.Webbrowser.XutilWrapper.dll
│   │       ├── Sce.Vsh.WebViewDialog.dll
│   │       ├── System.Core.dll
│   │       ├── System.dll
│   │       ├── System.Json.dll
│   │       ├── System.Runtime.Serialization.dll
│   │       ├── System.ServiceModel.dll
│   │       ├── System.ServiceModel.Web.dll
│   │       ├── System.Xml.dll
│   │       └── System.Xml.Linq.dll
│   └── priv
│       ├── cache
│       │   └── profile
│       │       └── 10000000
│       │           └── avatar.png
│       ├── home
│       │   └── 10000000.list 
│       ├── lib
│       └── mms
│           └── app.db
├── dev                                                                       common devices are not listed, yet!
│   ├── cd0                                                                   cd0		== 	/mnt/disc0
│   ├── da0x0.crypt                                                           da0x0.crypt	== 	/preinst
│   ├── da0x12.crypt                                                          da0x12.crypt	== 	/update
│   ├── da0x13.crypt                                                          da0x13.crypt 	== 	/user
│   ├── da0x14.crypt                                                          da0x14.crypt 	== 	/eap_user
│   ├── da0x4.crypt                                                           da0x4.crypt 	== 	/system
│   ├── da0x5.crypt                                                           da0x5.crypt 	== 	/system_ex
│   ├── da0x9.crypt                                                           da0x9.crypt 	== 	/system_data
│   ├── da1s1                                                                 da1s1		== 	/mnt/usb0
│   ├── iccnvs0                                                               
│   ├── iccnvs1                                                               
│   ├── iccnvs2                                                               
│   ├── iccnvs3                                                               
│   ├── iccnvs4                                                               
│   ├── iccnvs4                                                               
│   ├── sbram0                                                               
│   └── sflash0                                                               
├── eap_user
├── mnt
│   ├── app0                                                                  app0 is dynamicly created for the currently running process
│   │   ├── eboot.bin
│   │   └── psm                                                               psm folder exists if a system ui app is the current process. the whole ps4 system ui is based on psm, just like the psm for ps vita.
│   │       ├── Application
│   │       │   ├── Sce.Vsh.Accessor.Db.dll
│   │       │   ├── Sce.Vsh.Accessor.Db.Notify.dll
│   │       │   ├── Sce.Vsh.Accessor.dll
│   │       │   ├── Sce.Vsh.DbRecoveryUtilityWrapper.dll
│   │       │   ├── Sce.Vsh.DbRecoveryWrapper.dll
│   │       │   ├── Sce.Vsh.ErrorDialogUtilWrapper.dll
│   │       │   ├── Sce.Vsh.FileSelector.dll
│   │       │   ├── Sce.Vsh.Friend.dll
│   │       │   ├── Sce.Vsh.GameCustomData.dll
│   │       │   ├── Sce.Vsh.GriefReport.dll
│   │       │   ├── Sce.Vsh.JsExtension.dll
│   │       │   ├── Sce.Vsh.Lx.dll
│   │       │   ├── Sce.Vsh.Messages.dll
│   │       │   ├── Sce.Vsh.MimeType.dll
│   │       │   ├── Sce.Vsh.MusicCoreServerJsExWrapper.dll
│   │       │   ├── Sce.Vsh.Np.AppLaunchLink.dll
│   │       │   ├── Sce.Vsh.Np.RifManager.dll
│   │       │   ├── Sce.Vsh.Np.Tmdb.dll
│   │       │   ├── Sce.Vsh.Np.Webapi.dll
│   │       │   ├── Sce.Vsh.Orbis.BgftAccessor.dll
│   │       │   ├── Sce.Vsh.Orbis.CdlgServerNpCommerce.dll
│   │       │   ├── Sce.Vsh.Orbis.ContentManager.dll
│   │       │   ├── Sce.Vsh.Passcode.dll
│   │       │   ├── Sce.Vsh.SessionInvitation.dll
│   │       │   ├── Sce.Vsh.ShareServerPostWrapper.dll
│   │       │   ├── Sce.Vsh.ShellCoreUtilWrapper.dll
│   │       │   ├── Sce.Vsh.SyscallWrapper.dll
│   │       │   ├── Sce.Vsh.SysfileUtilWrapper.dll
│   │       │   ├── Sce.Vsh.SystemLoggerWrapper.dll
│   │       │   ├── Sce.Vsh.SysUtilWrapper.dll
│   │       │   ├── Sce.Vsh.VideoRecordingWrapper.dll
│   │       │   └── Sce.Vsh.VideoServiceWrapper.dll
│   │       └── libSceVsh_aot.sprx
│   ├── disc0
│   ├── sandbox
│   │   └── NPXS20001_0000
│   ├── unknown0                                                              unknown0 is not a real mnt name. mini-syscore.elf seems to be the kernel.
│   │   └── mini-syscore.elf   
│   │
│   └── usb0
├── preinst
├── preinst2
├── system
│   ├── common
│   │   └── lib                                                               anything inside here is linked to the NPXS20001 titleid (SceShellUI)
│   │       ├── libMonoCompilerBridge.sprx
│   │       ├── libMonoCompiler.sprx
│   │       ├── libMonoVirtualMachineBridge.sprx
│   │       ├── libMonoVirtualMachine.sprx
│   │       ├── libSceAbstractLocal.sprx
│   │       ├── libSceAbstractStorage.sprx
│   │       ├── libSceAbstractTwitter.sprx
│   │       ├── libSceAc3Enc.sprx
│   │       ├── libSceAjm.sprx
│   │       ├── libSceAppInstUtil.sprx
│   │       ├── libSceAudiodecCpuDdp.sprx
│   │       ├── libSceAudiodecCpuM4aac.sprx
│   │       ├── libSceAudiodecCpu.sprx
│   │       ├── libSceAudiodec.sprx
│   │       ├── libSceAudioIn.sprx
│   │       ├── libSceAudioOut.sprx
│   │       ├── libSceAvcap.sprx
│   │       ├── libSceAvSetting.sprx
│   │       ├── libSceBeisobmf.sprx
│   │       ├── libSceBemp2sys.sprx
│   │       ├── libSceBgft.sprx
│   │       ├── libSceCamera.sprx
│   │       ├── libSceCdlgUtilServer.sprx
│   │       ├── libSceCommonDialog.sprx
│   │       ├── libSceCompositeExt.sprx
│   │       ├── libSceCtrlp.sprx
│   │       ├── libSceDbg.sprx
│   │       ├── libSceDtsEnc.sprx
│   │       ├── libSceFontFt.sprx
│   │       ├── libSceFont.sprx
│   │       ├── libSceFreeTypeOt.sprx
│   │       ├── libSceGvMp4Parser.sprx
│   │       ├── libSceHidControl.sprx
│   │       ├── libSceHttp.sprx
│   │       ├── libSceImeDialog.sprx
│   │       ├── libSceIme.sprx
│   │       ├── libSceInjectedBundle.sprx
│   │       ├── libSceIpmi.sprx
│   │       ├── libSceJitBridge.sprx
│   │       ├── libSceJpegEnc.sprx
│   │       ├── libSceJpegParser.sprx
│   │       ├── libSceJscCompiler.sprx
│   │       ├── libSceJson.sprx
│   │       ├── libSceKbEmulate.sprx
│   │       ├── libSceKeyboard.sprx
│   │       ├── libSceM4aacEnc.sprx
│   │       ├── libSceManxWtf.sprx
│   │       ├── libSceMbus.sprx
│   │       ├── libSceMetadataReaderWriter.sprx
│   │       ├── libSceMusicCoreServerClientJsEx.sprx
│   │       ├── libSceMusicCoreServerClient.sprx
│   │       ├── libSceNetCtl.sprx
│   │       ├── libSceNet.sprx
│   │       ├── libSceNgs2.sprx
│   │       ├── libSceNpCommon.sprx
│   │       ├── libSceNpManager.sprx
│   │       ├── libSceNpMatching2.sprx
│   │       ├── libSceNpSns.sprx
│   │       ├── libSceNpTrophy.sprx
│   │       ├── libSceNpUtility.sprx
│   │       ├── libSceNpWebApi.sprx
│   │       ├── libSceOrbisCompat.sprx
│   │       ├── libScePad.sprx
│   │       ├── libScePigletv2VSH.sprx
│   │       ├── libScePlayGoDev.sprx
│   │       ├── libScePngDec.sprx
│   │       ├── libScePsm.sprx
│   │       ├── libSceRandom.sprx
│   │       ├── libSceRegMgr.sprx
│   │       ├── libSceRemotePlay.sprx
│   │       ├── libSceRtc.sprx
│   │       ├── libSceRudp.sprx
│   │       ├── libSceSaveData.sprx
│   │       ├── libSceScreenShot.sprx
│   │       ├── libSceShaccVSH.sprx
│   │       ├── libSceSsl.sprx
│   │       ├── libSceSysmodule.sprx
│   │       ├── libSceSystemService.sprx
│   │       ├── libSceSysUtil.sprx
│   │       ├── libSceUpdateService.sprx
│   │       ├── libSceUserService.sprx
│   │       ├── libSceVdecCore.sprx
│   │       ├── libSceVencCore.sprx
│   │       ├── libSceVideoCoreServerInterface.sprx
│   │       ├── libSceVideodec.sprx
│   │       ├── libSceVideoRecording.sprx
│   │       ├── libSceVisionManager.sprx
│   │       ├── libSceVoice.sprx
│   │       ├── libSceVsh_aot.sprx
│   │       ├── libSceVshCommon_aot.sprx
│   │       ├── libSceWebKit2.sprx
│   │       ├── libSceWeb.sprx
│   │       ├── libSceXml.sprx
│   │       ├── MonoCompiler.elf
│   │       ├── orbis-jsc-compiler.self
│   │       ├── SecureWebProcess.self
│   │       ├── WebProcessHTMLTile.self
│   │       └── WebProcess.self
│   ├── priv
│   │   └── lib
│   │       ├── libSceComposite.sprx
│   │       ├── libSceDipsw.sprx
│   │       ├── libSceDiscMapForVsh.sprx
│   │       └── libSceGnmDriver_sys.sprx
│   ├── sys
│   │   ├── fs_cleaner.elf
│   │   ├── GnmCompositor.elf
│   │   ├── orbis_audiod.elf
│   │   ├── SceSysAvControl.elf
│   │   ├── SceSysCore.elf
│   │   ├── SceVdecProxy.elf
│   │   └── SceVencProxy.elf
│   └── vsh
│       └── app
│           ├── NPXS21000                                                     Game Live Streaming
│           │   └── eboot.bin
│           ├── NPXS21002                                                     Party Daemon
│           │   └── eboot.bin
│           ├── NPXS21003                                                     AV Capture Manager
│           │   └── eboot.bin
│           ├── NPXS21004                                                     Video Core Server
│           │   └── eboot.bin
│           ├── NPXS21006                                                     Remote Play Daemon
│           │   └── eboot.bin
│           └── NPXS21010                                                     PS Cloud Daemon
│               └── eboot.bin
├── system_data
│   └── priv
│       └── home
│           └── new_user_group.dat
├── system_ex
│   └── app
│       └── NPXS20001                                                         Shell UI 
│           └── eboot.bin
├── update                                                                    unknown use, probably for storing the downloaded update
└── user
   ├── data
   └── home
       └── 10000000
           ├── trophy
           │   └── data
           │       └── sce_trop
           │           └── trophy.img
           └── webbrowser
               ├── frequency_thumb
               ├── webbrowser_bookmark.db
               ├── webbrowser_frequency.db
               ├── webbrowser_history.db
               └── webbrowser_preset.db

Sectors (DUH-T1000.img)

Here i leave some non-empty encrypted sector mapping (1 sector=0x200 bytes):

  • 0...6
  • 8,9
  • 34...63
  • 2048...2191
  • 2240...2495
  • 10624...10631
  • 10688...10695
  • 526592...526847
  • 544920...544983
  • 1050944...105199
  • 1089832...1089895
  • etc

Information about the next sectors may be present on the first 9 sectors of the hard drive. it is unknown however if that is the case.

Devices

  • /dev/ajm
  • /dev/bpf
  • /dev/bpf0
  • /dev/camera
  • /dev/console
  • /dev/ctty
  • /dev/da0x6x1.crypt
  • /dev/da0x6x2.crypt
  • /dev/dbggc
  • /dev/dce
  • /dev/deci_stderr
  • /dev/deci_stdin
  • /dev/deci_stdout
  • /dev/deci_tty2
  • /dev/deci_tty3
  • /dev/deci_tty4
  • /dev/deci_tty5
  • /dev/deci_tty6
  • /dev/deci_tty7
  • /dev/deci_ttya0
  • /dev/deci_ttyb0
  • /dev/deci_ttyc0
  • /dev/dipsw
  • /dev/dmem0
  • /dev/dmem1
  • /dev/fd
  • /dev/gc
  • /dev/hid
  • /dev/icc_configuration
  • /dev/icc_device_power
  • /dev/icc_indicator
  • /dev/icc_nvs
  • /dev/icc_power
  • /dev/notification0
  • /dev/notification1
  • /dev/null
  • /dev/random
  • /dev/rng
  • /dev/sce_zlib
  • /dev/srtc
  • /dev/ugen0.4
  • /dev/urandom
  • /dev/usb
  • /dev/usbctl
  • /dev/uvd
  • /dev/vce
  • /dev/zero

source: https://web.archive.org/web/20161013104012/http://pastie.org/pastes/9706000

Manufacturing Mode Files

  • Path found in SceSyscore Mini.
/usb/orbis_diag.self

BD content

[PS4VOLUME]

├─ PS4 
│   └─ UPDATE
│       └─ PS4UPDATE.PUP
│          
├─ app 
│   └─ Productcode
│           └─ app.pkg 
│          
├─ bd 
│   └─ param.sfo 
│       
└─ license 
    └─ rif

USB Mass Storage

support USB Mass Storage formatted as either FAT32 (4GiB filesize limit) or exFAT.

A maximum of 8 devices can be mounted simultaneously (/usb0 - /usb7)

File/Folder reservation for External MASS Storage Devices

\*.pkg                             (Installable packages)                  devkit/testkit only
\ps4_activation.afv                (Activation Key file)                            "
\PS4DISC.ISO                       (BD emulation file)                              "
├───ORBIS                                                                           "
│     └───UPDATE                   (ORBISUPDATE.PUP System Firmware file)           "
├───PS4
│     ├───SAVEDATA                 (Save Games)
│     │      └───0000000000000000  (default folder)                                 "
│     └───UPDATE                   (PS4UPDATE.PUP System Firmware file)
├───PS4SHARE                       (Share recorded Exports)                         "
├───SHARE                          (Share recorded Exports)
└───[MUSIC/PICTURE/VIDEO] *?
 
     *? PS3 folders like MUSIC, PICTURE, VIDEO

This is how the PS4's external HDD structure looks like

├───*:\Root On Mass Storage
├───PS4
│    ├───SAVEDATA                 (Save Games)
│    │      └───0000000000000000  (default folder)
│    │               └───CUSA00001  (Save Game Folder)
│    │	                    └───savedata
│    │	                    └───savedata.bin
│    └───UPDATE  (PS4UPDATE.PUP System Firmware file)
│    │	                  
│    └───EXPORT
│             └───BACKUP 
│                   └───201504261757_00    (The folder with the backup chunks of the HDD, contains the date, the time and the backup number)
│                                ├───archive.dat  (4,194,240 KB)
│                                ├───archive0001.dat (4,194,240 KB)
│                                ├───archive0002.dat (4,194,240 KB)
│                                ├───archive0003.dat (4,194,240 KB)
│                                ├───archive0004.dat (4,194,240 KB)
│                                └───archive0005.dat (4,194,240 KB)
├───SHARE (Share recorded Exports)
│    ├───Screenshots
│    │     └───(Name Of Game)
│    │	          └───nameofgame.jpg
│    │	    └───Other
│    └────Video Clips
│         └───(Name Of Game)
│    	         └───nameofgame.mp4  
├───SHAREFACTORY                    (PS4 Movie Making Application)
│         └───MUSIC
├───(NAMEOFGAME)                  (Similar to SHAREFACTORY's folder)        
│         ├───image.png
│         ├───image.jpg
│         └───music.mp3 *?
├───Music
│         ├───music.mp3           ( Audio media can be played from a USB stick device, if these files are placed into a folder called "music"
│         ├───music.mp4             - Supported codec : AAC (2channel) and MP3 (2 channel)
│         ├───music.m4a             - Sampling Frequency: 22.05kHz、24kHz; 32kHz、44.1kHz、48kHz; 96kHz
│         └───music.3gp             - Playlist: .m3u, m3u8                                                                                     )
└───[MUSIC/PICTURE/VIDEO] *?

Package Files

UP2102-CUSA00042_00-BLACKLIGHT2ORBIS-A0101-V0102.pkg