Envelope Files: Difference between revisions
Jump to navigation
Jump to search
m (Idc moved page Env file to Envelope file) |
CelesteBlue (talk | contribs) No edit summary |
||
(22 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
Envelope files are a general purpose container format for encrypting and signing a message. This format was likely introduced in FW 3.00 (>2.56 <=3.50). | |||
Messages are encrypted using AES128 in CTS mode, and signed using a public key. For encryption keys or public keys, see [[Keys#Envelope_Files_Keys|Keys]]. | |||
* http://ps4-system.sec.np.dl.playstation.net/ps4-system/ | = Structure = | ||
* http://ps4-system.sec.np.dl.playstation.net/ps4-system/ | |||
* http://ps4-system.sec.np.dl.playstation.net/ps4-system/ | == Format == | ||
* http://ps4-system.sec.np.dl.playstation.net/ps4-system/ | |||
* http://ps4-system.sec.np.dl.playstation.net/ps4-system/netev/np/v00/netev-config.env | Fields are little-endian. | ||
* http://ps4-system.sec.np.dl.playstation.net/ps4-system/ | |||
* http://ps4-system.sec.np.dl.playstation.net/ps4-system/ | {| class="wikitable sortable" | ||
* http://ps4-system.sec.np.dl.playstation.net/ps4-system/ | ! style="width: 25%" | Name | ||
* http://ps4-system.sec.np.dl.playstation.net/ps4-system/ | ! style="width: 5%" | Offset | ||
* http://ps4-system.sec.np.dl.playstation.net/ps4-system/ | ! style="width: 5%" | Size | ||
! style="width: 25%" | Example | |||
! style="width: 40%" | Remark | |||
|- | |||
| Signature || <code>0x000</code> || 4 || <code>CC CB 73 51</code> || Four bytes, not an int | |||
|- | |||
| Version || <code>0x004</code> || 4 || <code>00 00 00 00</code> || Only version 0 (zero) exists | |||
|- | |||
| Content ID || <code>0x008</code> || 4 || <code>01 00 00 00</code> || See [[#Content|Content]] | |||
|- | |||
| Unknown || <code>0x00C</code> || 4 || <code>00 00 00 00</code> || Always 0 | |||
|- | |||
| Message Size || <code>0x010</code> || 8 || <code>83 03 00 00 00 00 00 00</code> || Size of the message in bytes. | |||
|- | |||
| Unknown || <code>0x018</code> || 8 || <code>00 00 00 00 00 00 00 00</code> || Always 0 | |||
|- | |||
| Message IV || <code>0x020</code> || 16 || || IV for encrypted message | |||
|- | |||
| Message Hash || <code>0x030</code> || 32 || || SHA256 hash of unencrypted message bytes | |||
|- | |||
| File Signature || <code>0x050</code> || 256 || || Verified using public key | |||
|- | |||
| Message Data || <code>0x150</code> || Message Size || || Encrypted message bytes. Encryption key and public key varies with content ID | |||
|} | |||
== Content == | |||
The underlying unencrypted message format varies between different content. | |||
{| class="wikitable sortable" | |||
! style="width: 5%" | ID | |||
! style="width: 15%" | Name | |||
! style="width: 15%" | Description | |||
! style="width: 15%" | Process | |||
! style="width: 30%" | Files/URLs | |||
! style="width: 20%" | Remarks | |||
|- | |||
| <code>1</code> | |||
| beta_updatelist | |||
| Beta Update List | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
* <code><nowiki>https://fus01.ps4.update.playstation.net/update/ps4/beta/list/us/ps4-updatelist_?.xml</nowiki></code> | |||
| Password "?" in URL varies with system version | |||
|- | |||
| <code>2</code> | |||
| timezone | |||
| Timezone | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
* <code>/system_data/priv/settings_app/timezone.dat.env</code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/timezone/np/v00/timezone.dat.env</nowiki></code> | |||
| | |||
|- | |||
| <code>3</code> | |||
| system_log_config | |||
| System Log Config | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
* <code>/system/priv/system_log_ro/config/*.env</code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/sl-config/np/v07/sl-config.xml.env</nowiki></code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/sl-config-dev/np/v07/sl-config-dev.xml.env</nowiki></code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/sl-config-dev/np/v06/sl-config-dev.xml.env</nowiki></code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/sl-config-kamaji/np/v01/sl-config-kamaji.xml.env</nowiki></code> | |||
| Version in URL varies with system version | |||
|- | |||
| <code>4</code> | |||
| system_log_unknown | |||
| | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
|- | |||
| <code>5</code> | |||
| bgdc_config | |||
| Background Daily Checker | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/bgdc/np/v00/bgdc-config.xml.env</nowiki></code> | |||
| | |||
|- | |||
| <code>6</code> | |||
| wctl_config | |||
| Title Workaround Control | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
* <code>/mnt/disc/PS4/WCTL/wctl-config.env</code> | |||
* <code>/system_data/priv/workaround_ctl/title_workaround.env</code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/wctl/np/v00/wctl-config.env</nowiki></code> | |||
| | |||
|- | |||
| <code>7</code> | |||
| morpheus_updatelist | |||
| Morpheus (VR) Update List | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
* <code><nowiki>https://f01.vrs.update.playstation.net/update/vrs/list/vrs-updatelist-utDCG9ywva92MlS0rXGRUJCjpDtsw38V.xml</nowiki></code> | |||
| | |||
|- | |||
| <code>8</code> | |||
| netev_config | |||
| | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
* <code>/system_data/priv/netev/netev-config.env</code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/netev/np/v00/netev-config.env</nowiki></code> | |||
| | |||
|- | |||
| <code>9</code> | |||
| gls_config | |||
| | |||
| <code>/system/vsh/app/NPXS21000/eboot.bin</code> | |||
| | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/gls/np/v00/gls-default-config.env</nowiki></code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/gls/np/v01/gls-default-config.env</nowiki></code> | |||
| | |||
|- | |||
| <code>10</code> | |||
| hid_config | |||
| | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
* <code>/system/priv/hid_config_service_ro/hid_config.env</code> | |||
* <code>/system_data/priv/hid_config_service/hid_config.env</code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/hid_config/np/v00/hid_config.env</nowiki></code> | |||
| | |||
|- | |||
| <code>12</code> | |||
| hidusbpower | |||
| | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
* <code>/system/priv/hid_config_service_ro/hidusbpower.env</code> | |||
* <code>/system_data/priv/hid_config_service/hidusbpower.env</code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/hidusbpower/np/v00/hidusbpower.env</nowiki></code> | |||
| Added >3.70 <=4.05 | |||
|- | |||
| <code>13</code> | |||
| patch_hmac_key | |||
| | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| Embedded data in <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
|- | |||
| <code>14</code> | |||
| bgft | |||
| Background File Transfer | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/bgft/np/v00/bgft.env</nowiki></code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/bgft/np/v01/bgft.env</nowiki></code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/bgft/np/v02/bgft.env</nowiki></code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/bgft/np/v03/bgft.env</nowiki></code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/bgft/np/v04/bgft.env</nowiki></code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/bgft/np/v05/bgft.env</nowiki></code> | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/bgft/np/v06/bgft.env</nowiki></code> | |||
| Version in URL varies with system version | |||
|- | |||
| <code>17</code> | |||
| system_log_privacy | |||
| | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
* <code>/system/priv/system_log_ro/platform_privacy/*.env</code> | |||
| Added 5.00 | |||
|- | |||
| <code>18</code> | |||
| webbrowser_xutil | |||
| | |||
| <code>/system_ex/app/NPXS20001/eboot.bin</code> | |||
| | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/webbrowser/np/v00/webbrowser_features.env</nowiki></code> | |||
| | |||
* Added 5.00 | |||
* Exposed to C# shell via <code>sceXutilGetEnvelopeDataFromFile<code> / <code>sceXutilGetEnvelopeDataFromBuffer</code>. | |||
|- | |||
| <code>19</code> | |||
| entitlementmgr_config | |||
| | |||
| <code>/system/vsh/SceShellCore.elf</code> | |||
| | |||
* <code><nowiki>https://ps4-system.sec.np.dl.playstation.net/ps4-system/entitlementmgr/np/v00/entitlementmgr_config.env</nowiki></code> | |||
| Added >5.05 <=7.00 | |||
|- | |||
| <code>21</code> | |||
| jsnex_netflixdeckeys | |||
| | |||
| <code>/system_ex/app/NPXS20001/eboot.bin</code> | |||
| Embedded data in <code>/system_ex/app/NPXS20001/eboot.bin</code> | |||
| Added >5.05 <=7.00 | |||
|- | |||
| <code>22</code> | |||
| party_config | |||
| | |||
| <code>/system/vsh/app/NPXS21002/eboot.bin</code> | |||
| | |||
* <code><nowiki>http://ps4-system.sec.np.dl.playstation.net/ps4-system/party/np/v00/party_config.env</nowiki></code> | |||
| Added >5.05 <=7.00 | |||
|} | |||
= Tools = | |||
* [https://github.com/SocraticBliss/ps4_env_decryptor ps4_env_decryptor by SocraticBliss (2020)] | |||
{{File Formats}} | |||
<noinclude>[[Category:Main]]</noinclude> |
Latest revision as of 02:33, 15 December 2024
Envelope files are a general purpose container format for encrypting and signing a message. This format was likely introduced in FW 3.00 (>2.56 <=3.50).
Messages are encrypted using AES128 in CTS mode, and signed using a public key. For encryption keys or public keys, see Keys.
Structure[edit | edit source]
Format[edit | edit source]
Fields are little-endian.
Name | Offset | Size | Example | Remark |
---|---|---|---|---|
Signature | 0x000 |
4 | CC CB 73 51 |
Four bytes, not an int |
Version | 0x004 |
4 | 00 00 00 00 |
Only version 0 (zero) exists |
Content ID | 0x008 |
4 | 01 00 00 00 |
See Content |
Unknown | 0x00C |
4 | 00 00 00 00 |
Always 0 |
Message Size | 0x010 |
8 | 83 03 00 00 00 00 00 00 |
Size of the message in bytes. |
Unknown | 0x018 |
8 | 00 00 00 00 00 00 00 00 |
Always 0 |
Message IV | 0x020 |
16 | IV for encrypted message | |
Message Hash | 0x030 |
32 | SHA256 hash of unencrypted message bytes | |
File Signature | 0x050 |
256 | Verified using public key | |
Message Data | 0x150 |
Message Size | Encrypted message bytes. Encryption key and public key varies with content ID |
Content[edit | edit source]
The underlying unencrypted message format varies between different content.
ID | Name | Description | Process | Files/URLs | Remarks |
---|---|---|---|---|---|
1
|
beta_updatelist | Beta Update List | /system/vsh/SceShellCore.elf
|
|
Password "?" in URL varies with system version |
2
|
timezone | Timezone | /system/vsh/SceShellCore.elf
|
|
|
3
|
system_log_config | System Log Config | /system/vsh/SceShellCore.elf
|
|
Version in URL varies with system version |
4
|
system_log_unknown | /system/vsh/SceShellCore.elf
|
|||
5
|
bgdc_config | Background Daily Checker | /system/vsh/SceShellCore.elf
|
|
|
6
|
wctl_config | Title Workaround Control | /system/vsh/SceShellCore.elf
|
|
|
7
|
morpheus_updatelist | Morpheus (VR) Update List | /system/vsh/SceShellCore.elf
|
|
|
8
|
netev_config | /system/vsh/SceShellCore.elf
|
|
||
9
|
gls_config | /system/vsh/app/NPXS21000/eboot.bin
|
|
||
10
|
hid_config | /system/vsh/SceShellCore.elf
|
|
||
12
|
hidusbpower | /system/vsh/SceShellCore.elf
|
|
Added >3.70 <=4.05 | |
13
|
patch_hmac_key | /system/vsh/SceShellCore.elf
|
Embedded data in /system/vsh/SceShellCore.elf
|
||
14
|
bgft | Background File Transfer | /system/vsh/SceShellCore.elf
|
|
Version in URL varies with system version |
17
|
system_log_privacy | /system/vsh/SceShellCore.elf
|
|
Added 5.00 | |
18
|
webbrowser_xutil | /system_ex/app/NPXS20001/eboot.bin
|
|
| |
19
|
entitlementmgr_config | /system/vsh/SceShellCore.elf
|
|
Added >5.05 <=7.00 | |
21
|
jsnex_netflixdeckeys | /system_ex/app/NPXS20001/eboot.bin
|
Embedded data in /system_ex/app/NPXS20001/eboot.bin
|
Added >5.05 <=7.00 | |
22
|
party_config | /system/vsh/app/NPXS21002/eboot.bin
|
|
Added >5.05 <=7.00 |