Files on the PS4: Difference between revisions

From PS4 Developer wiki
Jump to navigation Jump to search
(Changed table header from "mountpoint" to "device file" to be more correct)
No edit summary
 
(24 intermediate revisions by 8 users not shown)
Line 1: Line 1:
''See also: [[Partitions]]''


== Partitions ==
== PS4 filesystem content ==
<div style="float:right">[[File:PS4 500GB HDD as seen in Windows XP.png|200px|thumb|left|PS4 500GB HDD as seen with "GPT Protective Partition" in Windows XP/embedded/2003 32bit/x86]]<br />[[File:Partitions.png|200px|thumb|left|[http://pastie.org/9300133 PS4 partitions as seen in Windows 7/8/Vista/2008] and 64-bit version of Windows XP/2003]]</div>
{| class="wikitable sortable"
|-
! {{numero}} !! <abbr title="Windows partition number">Part</abbr> !! device file !! <!--// nikitis //-->[[Z5K500]]<br />size !! <!--// euss //-->[[ST500LM012]]<br />size !! in bytes !! type !! remarks
|-
| {{sort|01|1}} || {{sort|10|10}} || {{sort|17|/dev/sdc17}} || align=right | 1 GiB || align=right | {{nobreak|1 GiB}} || align=right | {{nobreak|{{nts|1073741824}}}} || <code>80dd49e3-a985-4887-81de-1daca47aed90</code> ||
|-
| {{sort|02|2}} || {{sort|15|15}} || {{sort|31|/dev/sdc31}} || align=right | 16 GiB || align=right | {{nobreak|16 GiB}} || align=right | {{nobreak|{{nts|17179869184}}}} || <code>3ef7290a-de81-4887-a11f-46fba765c71c</code> ||
|-
| {{sort|03|3}} || {{sort|13|13}} || {{sort|27|/dev/sdc27}} || align=right | 420.12 GiB || align=right | {{nobreak|420.120117188 GiB}} || align=right | {{nobreak|{{nts|451100540928}}}} || <code>c638477a-e002-4b57-a454-a27fb63a33a8</code> ||
|-
| {{sort|04|4}} || {{sort|09|9}} || {{sort|13|/dev/sdc13}} || align=right | 8 GiB || align=right | {{nobreak|8 GiB}} || align=right | {{nobreak|{{nts|8589934592}}}} || <code>76a9a5b4-44b0-472a-bde3-3107472adee2</code> ||
|-
| {{sort|05|5}} || {{sort|05|5}} || {{sort|09|/dev/sdc9}} || align=right | 1 GiB || align=right | {{nobreak|1 GiB}} || align=right | {{nobreak|{{nts|1073741824}}}} || <code>757a614b-6179-5361-6b61-6b6968617261</code> ||
|-
| {{sort|06|6}} || {{sort|06|6}} || {{sort|10|/dev/sdc10}} || align=right | 1 GiB || align=right | {{nobreak|1 GiB}} || align=right | {{nobreak|{{nts|1073741824}}}} || <code>757a614b-6179-5361-6b61-6b6968617261</code> ||
|-
| {{sort|07|7}} || {{sort|07|7}} || {{sort|11|/dev/sdc11}} || align=right | 1 GiB || align=right | {{nobreak|1 GiB}} || align=right | {{nobreak|{{nts|1073741824}}}} || <code>dc85025f-a694-4109-be44-fa0c063e8b81</code> ||
|-
| {{sort|08|8}} || {{sort|08|8}} || {{sort|12|/dev/sdc12}} || align=right | 1 GiB || align=right | {{nobreak|1 GiB}} || align=right | {{nobreak|{{nts|1073741824}}}} || <code>dc85025f-a694-4109-be44-fa0c063e8b81</code> ||
|-
| {{sort|09|9}} || {{sort|11|11}} || {{sort|19|/dev/sdc19}} || align=right | 8 GiB || align=right | {{nobreak|8 GiB}} || align=right | {{nobreak|{{nts|8589934592}}}} || <code>a71ff62d-1421-4dd9-935d-25dabd81bec5</code> ||
|-
| {{sort|10|A}} || {{sort|01|1}} || {{sort|01|/dev/sdc1}} || align=right | 512 MiB || align=right | {{nobreak|512 MiB}} || align=right | {{nobreak|{{nts|536870912}}}} || <code>17800f17-b9e1-425d-b937-0119a0813172</code> ||
|-
| {{sort|11|B}} || {{sort|02|2}} || {{sort|03|/dev/sdc3}} || align=right | 1 GiB || align=right | {{nobreak|1 GiB}} || align=right | {{nobreak|{{nts|1073741824}}}} || <code>ccb52e94-ebef-48c4-a195-9e2da5b0292c</code> ||
|-
| {{sort|12|C}} || {{sort|03|3}} || {{sort|05|/dev/sdc5}} || align=right | 16 MiB || align=right | {{nobreak|16 MiB}} || align=right | {{nobreak|{{nts|16777216}}}} || <code>145268bf-63ad-47c1-9378-9aacd9beed7c</code> ||
|-
| {{sort|13|D}} || {{sort|04|4}} || {{sort|07|/dev/sdc7}} || align=right | 128 MiB || align=right | {{nobreak|128 MiB}} || align=right | {{nobreak|{{nts|134217728}}}} || <code>6e0c5310-8445-4066-b571-9b65fdb75935</code> ||
|-
| {{sort|14|E}} || {{sort|14|14}} || {{sort|29|/dev/sdc29}} || align=right | 1 GiB || align=right | {{nobreak|1 GiB}} || align=right | {{nobreak|{{nts|1073741824}}}} || <code>21e4dfb4-0040-4934-a037-ea9dc058eea6</code> ||
|-
| {{sort|15|F}} || {{sort|12|12}} || {{sort|25|/dev/sdc25}} || align=right | 6 GiB || align=right | {{nobreak|6 GiB}} || align=right | {{nobreak|{{nts|6442450944}}}} || <code>fdb5ede1-73c3-4c43-8c5b-2d3dcfcddff8</code> ||
|-
|}
'''Note:''' A raw dump of a harddrive from a never booted PS4 will take 500,1 GiB ({{nts|500107861504}} bytes), which will 7z compress nicely to around 1,2 GB ({{nts|1168407328}} bytes)


== Mountpoints ==
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 ...)
;Hostdevices:
 
* APP_HOME (DATA)
├── 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)
* APP_HOME (HOST)
│   ├── 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.
 
<pre>
/usb/orbis_diag.self
</pre>


== BD content ==
== BD content ==
[PS4VOLUME]
[PS4VOLUME]
  ├─ PS4  
  ├─ PS4  
Line 60: Line 376:
     └─ [[rif]]
     └─ [[rif]]


== Package Files ==
== USB Mass Storage ==
[http://gs2.ww.prod.dl.playstation.net/gs2/ppkgo/prod/CUSA00042_00/5/f_9f37c55c84889f6557ffc7d340dda32c0f4073c3741d0824911a8baaa2214f3c/f/UP2102-CUSA00042_00-BLACKLIGHT2ORBIS-A0101-V0102.pkg UP2102-CUSA00042_00-BLACKLIGHT2ORBIS-A0101-V0102.pkg]


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


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


=== File/Folder reservation for External MASS Storage Devices ===
=== File/Folder reservation for External MASS Storage Devices ===
  \*.pkg                            (Installable packages)                  [[SKU Models Nonretail|devkit/testkit]] only
  \*.pkg                            (Installable packages)                  [[SKU Models Nonretail|devkit/testkit]] only
  \ps4_activation.afv                ([[Activation Key]] file)                            "
  \ps4_activation.afv                ([[Activation AFV]] file)                            "
  \PS4DISC.ISO                      (BD emulation file)                              "
  \PS4DISC.ISO                      (BD emulation file)                              "
  ├───ORBIS                                                                          "
  ├───ORBIS                                                                          "
Line 79: Line 394:
  │    └───UPDATE                  (PS4UPDATE.PUP [[System Firmware]] file)
  │    └───UPDATE                  (PS4UPDATE.PUP [[System Firmware]] file)
  ├───PS4SHARE                      (Share recorded Exports)                        "
  ├───PS4SHARE                      (Share recorded Exports)                        "
├───SHARE                          (Share recorded Exports)
  └───[MUSIC/PICTURE/VIDEO] *?
  └───[MUSIC/PICTURE/VIDEO] *?
    
    
       *? PS3 folders like 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 ==
See also [[Package Files]].




{{Reverse Engineering}}
{{Reverse Engineering}}
<noinclude>[[Category:Main]]</noinclude>
<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 23:06, 28 August 2021

See also: Partitions

PS4 filesystem content[edit | edit source]

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)[edit | edit source]

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[edit | edit source]

  • /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[edit | edit source]

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

BD content[edit | edit source]

[PS4VOLUME]

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

USB Mass Storage[edit | edit source]

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[edit | edit source]

\*.pkg                             (Installable packages)                  devkit/testkit only
\ps4_activation.afv                (Activation AFV 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[edit | edit source]

See also Package Files.