mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-31 12:35:51 +00:00
2.3 KiB
2.3 KiB
libSceBeisobmf technical debt
Unknown function info
- libSceBeisobmf pending exports - 8 named callable exports remain among the 18 exports listed in the PS5 3.20 export table and cross-checked against PS5 firmware 13.60. Their signatures and behaviour are unverified; the declarations use the no-parameter unknown-signature convention and throw through
NotImplemented_nid_no_patch. - Ten box/decoder accessors are implemented from Ghidra 12.1.4 static analysis of
libSceBeisobmf.sprxin PS5 firmware 13.60. The layouts are not verified against a console.- Box accessors:
getchildboxat 0x3190 readsbox+0x10;getnextboxat 0x31a0 readsbox+0x20;getdiskoffsetat 0x3220 readsbox+0x80;getstateat 0x3200 readsbox+0x8c; andgettypeat 0x3210 readsbox+0x90. - Member lookup at 0x7ce0 uses the member list at
box+0x40and cursor atbox+0x50. Helpers 0x6ea0, 0x6ee0, and 0x6ec0 initialize, read, and advance the cursor through each member's+0x10link. Helper 0x7040 reads the member name at+0x18.getmember_lengthat 0x3130 uses helper 0x7060 to read+0x68;getmember_typeat 0x3170 uses helper 0x7050 to read+0x6c; andgetmember_ptrat 0x3150 uses helper 0x7000 to select inline data at+0x58or external data at+0x60when the type is< 20and its bit is set in mask0x97800. getflags32bat 0x31b0 looks up"flags", uses the member pointer helper at 0x7000, then reads three bytes.decoder_next_disk_offsetat 0x30b0 returns0xfffffffffor a null decoder and otherwise readsdecoder+0xc0.- Safe host results for null or unreadable inputs are: null for pointer accessors, 0 for scalar accessors, and
0xfffffffffordecoder_next_disk_offset. The flags and decoder null results are visible in firmware; the remaining values are defensive fallbacks because exceptions must not escape theseAPS5_VABIexports. Guest fields are copied withGuestCopyIn_nid_no_patch; the member cursor is written withGuestCopyOut_nid_no_patch. Unreadable inputs and cyclic member lists fail inside the helper and become the safe fallback at the export boundary.
- Box accessors: