Files on the PS4: Difference between revisions

From PS4 Developer wiki
Jump to navigation Jump to search
No edit summary
 
(8 intermediate revisions by 4 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> || user
|-
| {{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> || eap_vsh
|-
| {{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> || update
|-
|}
'''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)
* APP_HOME (HOST)


=== SceSysCore nmount / nmount_ufs ===
├── 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)
{| class="wikitable sortable"
│   ├── common
|-
│   │   └── lib
! module !! type !! source !! destination
│   │      ├── libScePsm_aot.sprx
|-
│   │      ├── libSceVshCommon_aot.sprx
| SceSysCore mini || nmount || /dev/da0x4.crypt || /system
│   │      ├── mscorlib.dll
|-
│   │      ├── Sce.PlayStation.Core.dll
| SceSysCore mini || nmount || /dev/da0x5.crypt || /system_ex
│   │      ├── Sce.PlayStation.HighLevel.UI2.dll
|-
│   │      ├── Sce.PlayStation.Orbis.dll
| SceSysCore mini || nmount_ufs || /dev/da0x9.crypt || /system_data
│   │      ├── Sce.Vsh.AppDbWrapper.dll
|-
│   │      ├── Sce.Vsh.AppInstUtilWrapper.dll
| SceSysCore mini || nmount_ufs || /dev/da0x13.crypt || /user
│   │      ├── Sce.Vsh.dll
|-
│   │      ├── Sce.Vsh.Gls.NativeCall.dll
| SceSysCore mini || nmount_ufs || /dev/da0x14.crypt || /eap_user
│   │      ├── Sce.Vsh.GriefReportStorage.dll
|-
│   │      ├── Sce.Vsh.KernelSysWrapper.dll
| SceSysCore mini || mount || /dev/da0x12.crypt || /update
│   │      ├── Sce.Vsh.MarlinDownloaderWrapper.dll
|-
│   │      ├── Sce.Vsh.Messages.BgAccessLib.dll
| SceSysCore mini || nmount || /dev/da0x0.crypt || /preinst
│   │      ├── Sce.Vsh.Messages.StorageAccessLib.dll
|-
│   │      ├── Sce.Vsh.Np.Asm.dll
| SceSysCore mini || nmount || /dev/da0x1.crypt || /preinst2
│   │      ├── Sce.Vsh.Np.Common.dll
|-
│   │      ├── Sce.Vsh.Np.Manager.dll
| SceSysCore || nmount || /data || /user/data
│   │      ├── Sce.Vsh.Np.ServiceChecker.dll
|-
│   │      ├── Sce.Vsh.Np.Sns.dll
|  ||  || /dev/da1s1 || /mnt/usb0
│   │      ├── Sce.Vsh.Np.Trophy.dll
|-
│   │      ├── Sce.Vsh.Orbis.AbstractStorage.dll
|}
│   │      ├── Sce.Vsh.Orbis.Bgft.dll
=== SceSysCore scheduler device ===
│   │      ├── Sce.Vsh.PartyCommon.dll
{| class="wikitable sortable"
│   │      ├── Sce.Vsh.ProfileCache.dll
|-
│   │      ├── Sce.Vsh.PsnUtil.dll
! module !! scheduler !! source !! destination
│   │      ├── Sce.Vsh.Registry.dll
|-
│   │      ├── Sce.Vsh.SQLite.dll
| SceSysCore || GEOM I/O scheduler || is || da0 / da0.sched
│   │      ├── Sce.Vsh.UpdateServiceWrapper.dll
|-
│   │      ├── Sce.Vsh.UserServiceWrapper.dll
| SceSysCore || BD scheduler || bd_sched || cd0 / cd0.sched (/mnt/disc0)
│   │      ├── 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.
* /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 97: 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 160: Line 438:
  │        └───music.3gp            - Playlist: .m3u, m3u8                                                                                    )
  │        └───music.3gp            - Playlist: .m3u, m3u8                                                                                    )
  └───[MUSIC/PICTURE/VIDEO] *?
  └───[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 22: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.