Editing Capability Flags

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
This is a 32-byte buffer that specifies if a SELF has more or less capabilities.
This is a 32 Bytes that specifies if a SELF has reduced capabilities.
 
Capability is stored either as plaintext in [[SELF_-_SPRX#Supplemental_Header_Table|SELF Supplemental Header]] (SELF and PS3 only) or encrypted in the [[Certified_File#Optional_Header_Table|Certified File Optional Header]].


= PS3 =
= PS3 =
== Plaintext Capability ==
Official name is plaintext_capability as well as Control Flags according to 0.80 lv2 -> Control Flags might be something else then???.
It is widely used by PS3 lv2.
=== Examples ===
{| class="wikitable sortable"
|-
! Long Value !! Short Notation !! Type !! [[Whitelisting]]
|-
| 0000000000000000000000000000000000000000000000000000000000000000 || 00 00 00 00 00 00 00 00 00 00 00 00 || lv1::PLAINTEXT_CAPABILITY_DEFAULT || {{Yes}}
|-
| 0000000000000000000000000000000000000000000000000000000000000000 || 00 00 00 00 00 00 00 00 00 00 00 00 || lv2::PLAINTEXT_CAPABILITY_DEFAULT || {{Yes}}
|-
| 0000000000000000000000000000000000000000000000000000000000000003 || 00 00 00 00 00 00 00 00 00 00 00 03 || ? || {{Yes}}
|-
| 4000000000000000000000000000000000000000000000000000000000000000 || 40 00 00 00 00 00 00 00 00 00 00 00 || Root Flags || {{Yes}}
|-
| 4000000000000000000000000000000000000000000000000000000000000002 || 40 00 00 00 00 00 00 00 00 00 00 02 || Root Flags + debug_mode_capability flags (vsh) || {{Yes}}
|-
| 4000000000000000000000000000000000000000000000000000000000000004 || 40 00 00 00 00 00 00 00 00 00 00 04 || Root flags + product_mode_capability flags || {{Yes}}
|}
=== Structure ===
<source lang="C">
struct { // Size is 0x20 bytes
  uint32_t ctrl_flag1; // 0x80000000(all?), 0x40000000(root), 0x20000000(dbg), 0x00000000(normal?)
  uint32_t unknown2;
  uint32_t unknown3;
  uint32_t unknown4;
  uint32_t unknown5;
  uint32_t unknown6;
  uint32_t unknown7; // ex: 0, 8, 9, 0xC
  uint32_t unknown8; // ex: 0(normal_mode), 1, 2(debug_mode), 4(product_mode)
} plaintext_capability;
</source>
== Encrypted Capability ==
=== Examples ===


{| class="wikitable sortable"
{| class="wikitable sortable"
Line 64: Line 18:
| 00000000000000000000000000000000000000000000003B0000000100000000 || 00 00 00 00 00 00 00 3B 00 00 00 01 00 00 00 00 || ? || {{Yes}}
| 00000000000000000000000000000000000000000000003B0000000100000000 || 00 00 00 00 00 00 00 3B 00 00 00 01 00 00 00 00 || ? || {{Yes}}
|-
|-
| 00000000000000000000000000000000000000000000003B0000000100002000 || 00 00 00 00 00 00 00 3B 00 00 00 01 00 00 20 00 || HDDGame || {{Yes}}
| 00000000000000000000000000000000000000000000003B0000000100002000 || 00 00 00 00 00 00 00 3B 00 00 00 01 00 00 20 00 || ? || {{Yes}}
|-
|-
| 00000000000000000000000000000000000000000000003B0000000100040000 || 00 00 00 00 00 00 00 3B 00 00 00 01 00 04 00 00 || DiscGame || {{Yes}}
| 00000000000000000000000000000000000000000000003B0000000100040000 || 00 00 00 00 00 00 00 3B 00 00 00 01 00 04 00 00 || ? || {{Yes}}
|-
|-
| 00000000000000000000000000000000000000000000007B0000000100000000 || 00 00 00 00 00 00 00 7B 00 00 00 01 00 00 00 00 || lv1 ||  {{Yes}}
| 00000000000000000000000000000000000000000000007B0000000100000000 || 00 00 00 00 00 00 00 7B 00 00 00 01 00 00 00 00 || lv1 ||  {{Yes}}
Line 75: Line 29:
|}
|}


=== Structure ===
* http://playstationhax.it/solution-blu-ray-playback-dex-mode-0x800299d2-fix/ for 0x3B 00 00 00 00 00 02 00 00
 
appldr 
0x17 = 0x78
xsetting
0x17 = 0x3B
0x1B = 0x01
0x1D = 0x02
ps3swu 
0x17 = 0x7B
0x1B = 0x01
0x1D = 0x11
0x1E = 0x60
lv2
0x17 = 0x7B
0x1B = 0x01
lv1
0x17 = 0x7B
0x1B = 0x01
libfs
0x17 = 0x7B
0x1B = 0x01
icolaunch
0x17 = 0x3B
0x1B = 0x01
0x1D = 0x04
hddcopy
0x17 = 0x7B
0x1B = 0x01
0x1D = 0x08
flowers
0x17 = 0x3B
0x1B = 0x01
0x1E = 0x20
fdm_spu
0x17 = 0x38
emu_drm
0x17 = 0x3B
0x1D = 0x02
bdj
0x0F = 0x01 //qa-bdp type1
0x17 = 0x27
0x1D = 0x02
swagner
0x0F = 0x02 //qa-bdp type2
0x17 = 0x3F
0x1D = 0x02
 
---------------------
0x0C = 0x00000001 / 0x00000002  // qa_bdp_type_flags<br>
0x14 = 0x00000038 / 0x0000003B / 0x00000078 / 0x0000007B / 0x00000027<br>
0x18 = 0x00000001 <br>
0x1C = 0x00002000 / 0x00020000 / 0x00040000 / 0x00080000 / 0x00116000<br>
 
0x14:
#define CAP_FLAG_REFTOOL 0x08 // DEH
#define CAP_FLAG_DEBUG  0x10 // DEX
#define CAP_FLAG_RETAIL  0x20 // CEX
#define CAP_FLAG_SYSDBG  0x40 // ARCADE
 
Some more cap flags from appldr 3.56 whitelist:
 
https://web.archive.org/web/20161126102609/http://pastie.org/3090973
 
https://web.archive.org/web/20161126102716/http://pastie.org/3090976
 
* https://web.archive.org/web/*/https://playstationhax.xyz/forums/topic/2341-solution-blu-ray-playback-in-dex-mode-0x800299d2-fix/ for 0x3B 00 00 00 00 00 02 00 00
 
= PS Vita =
 
== Plaintext Capability ==
 
PS Vita does not use plaintext capability.
 
== Encrypted Capability ==
 
See [https://wiki.henkaku.xyz/vita/SceSblACMgr#Capability].




{{File Formats}}<noinclude>[[Category:Main]]</noinclude>
{{File Formats}}<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)