From 35e3959c674924b4b92920352b6016fac36c8be8 Mon Sep 17 00:00:00 2001 From: Kyon Date: Thu, 29 Oct 2026 17:06:15 +0000 Subject: [PATCH 1/4] feat(libSceAppInstUtil): declare 30 callable exports --- core/libs/prx/libSceAppInstUtil/Export.cpp | 153 ++++++++++++++++++ .../include/InventoryExports.hpp | 38 +++++ .../libSceAppInstUtil/libSceAppInstUtil.hpp | 1 + docs/dev/debt/libSceAppInstUtil.md | 37 +++++ 4 files changed, 229 insertions(+) create mode 100644 core/libs/prx/libSceAppInstUtil/include/InventoryExports.hpp diff --git a/core/libs/prx/libSceAppInstUtil/Export.cpp b/core/libs/prx/libSceAppInstUtil/Export.cpp index 51721067a8..3a0c40c5c4 100644 --- a/core/libs/prx/libSceAppInstUtil/Export.cpp +++ b/core/libs/prx/libSceAppInstUtil/Export.cpp @@ -1,3 +1,5 @@ +#include "prx/libc/include/general/ExportMacros.hpp" +#include "prx/libSceAppInstUtil/include/InventoryExports.hpp" #include "prx/libSceAppInstUtil/include/Api.hpp" #include #include @@ -574,3 +576,154 @@ int APS5_VABI sceAppInstUtilInstallAddons(void) { } } + +extern "C" { + +int APS5_VABI sceAppInstUtilGetAddons2() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceAppInstUtilGetPatchInstallStatus2() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI sceAppInstUtilInstallPatch2() { + NotImplemented_nid_no_patch(__func__); +} + +int APS5_VABI libSceAppInstUtilUnknown__plus_78trVvdQVs_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("+78trVvdQVs", libSceAppInstUtilUnknown__plus_78trVvdQVs_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_2WQuFX8yYXg_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("2WQuFX8yYXg", libSceAppInstUtilUnknown_2WQuFX8yYXg_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_4vqRxwpIE1M_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("4vqRxwpIE1M", libSceAppInstUtilUnknown_4vqRxwpIE1M_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_9QIC1kZpSG4_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("9QIC1kZpSG4", libSceAppInstUtilUnknown_9QIC1kZpSG4_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_K73u2VX0JFo_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("K73u2VX0JFo", libSceAppInstUtilUnknown_K73u2VX0JFo_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_LsUZe38RhCs_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("LsUZe38RhCs", libSceAppInstUtilUnknown_LsUZe38RhCs_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_N6H7LMfZD5Q_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("N6H7LMfZD5Q", libSceAppInstUtilUnknown_N6H7LMfZD5Q_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_NXqdUFpinmo_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("NXqdUFpinmo", libSceAppInstUtilUnknown_NXqdUFpinmo_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_QMjuGVPtjUY_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("QMjuGVPtjUY", libSceAppInstUtilUnknown_QMjuGVPtjUY_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_R_minus_OUApMZ1d8_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("R-OUApMZ1d8", libSceAppInstUtilUnknown_R_minus_OUApMZ1d8_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_T9h6l8bFKGE_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("T9h6l8bFKGE", libSceAppInstUtilUnknown_T9h6l8bFKGE_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_X5Q7QxodFcg_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("X5Q7QxodFcg", libSceAppInstUtilUnknown_X5Q7QxodFcg_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_XWjOLtdgxa4_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("XWjOLtdgxa4", libSceAppInstUtilUnknown_XWjOLtdgxa4_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_Y_plus_ln_minus_TkY_plus_hA_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("Y+ln-TkY+hA", libSceAppInstUtilUnknown_Y_plus_ln_minus_TkY_plus_hA_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_Zv_plus_26GDSKcQ_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("Zv+26GDSKcQ", libSceAppInstUtilUnknown_Zv_plus_26GDSKcQ_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_ecad2GAw55Y_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("ecad2GAw55Y", libSceAppInstUtilUnknown_ecad2GAw55Y_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_gFlBHjtrMDI_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("gFlBHjtrMDI", libSceAppInstUtilUnknown_gFlBHjtrMDI_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_gP27iU_plus_aZFw_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("gP27iU+aZFw", libSceAppInstUtilUnknown_gP27iU_plus_aZFw_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_grC16befiso_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("grC16befiso", libSceAppInstUtilUnknown_grC16befiso_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_j80u95nZ_plus_3A_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("j80u95nZ+3A", libSceAppInstUtilUnknown_j80u95nZ_plus_3A_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_j9qjbjMifhQ_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("j9qjbjMifhQ", libSceAppInstUtilUnknown_j9qjbjMifhQ_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_pbYNtR2enrY_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("pbYNtR2enrY", libSceAppInstUtilUnknown_pbYNtR2enrY_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_qn0aziKw_minus_kE_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("qn0aziKw-kE", libSceAppInstUtilUnknown_qn0aziKw_minus_kE_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_qxjCWxg8ki4_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("qxjCWxg8ki4", libSceAppInstUtilUnknown_qxjCWxg8ki4_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_vZ1SWJ0y4mo_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("vZ1SWJ0y4mo", libSceAppInstUtilUnknown_vZ1SWJ0y4mo_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_xV7MhF_plus_9AQk_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("xV7MhF+9AQk", libSceAppInstUtilUnknown_xV7MhF_plus_9AQk_nid_no_patch); + +int APS5_VABI libSceAppInstUtilUnknown_yYVV_minus_f0zoWY_nid_no_patch() { + NotImplemented_nid_no_patch(__func__); +} +APS5_EXPORT("yYVV-f0zoWY", libSceAppInstUtilUnknown_yYVV_minus_f0zoWY_nid_no_patch); + +} diff --git a/core/libs/prx/libSceAppInstUtil/include/InventoryExports.hpp b/core/libs/prx/libSceAppInstUtil/include/InventoryExports.hpp new file mode 100644 index 0000000000..3735e44a86 --- /dev/null +++ b/core/libs/prx/libSceAppInstUtil/include/InventoryExports.hpp @@ -0,0 +1,38 @@ +#pragma once + +#include "SceTypes.hpp" + +extern "C" { + +int APS5_VABI sceAppInstUtilGetAddons2(); +int APS5_VABI sceAppInstUtilGetPatchInstallStatus2(); +int APS5_VABI sceAppInstUtilInstallPatch2(); +int APS5_VABI libSceAppInstUtilUnknown__plus_78trVvdQVs_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_2WQuFX8yYXg_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_4vqRxwpIE1M_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_9QIC1kZpSG4_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_K73u2VX0JFo_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_LsUZe38RhCs_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_N6H7LMfZD5Q_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_NXqdUFpinmo_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_QMjuGVPtjUY_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_R_minus_OUApMZ1d8_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_T9h6l8bFKGE_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_X5Q7QxodFcg_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_XWjOLtdgxa4_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_Y_plus_ln_minus_TkY_plus_hA_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_Zv_plus_26GDSKcQ_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_ecad2GAw55Y_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_gFlBHjtrMDI_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_gP27iU_plus_aZFw_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_grC16befiso_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_j80u95nZ_plus_3A_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_j9qjbjMifhQ_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_pbYNtR2enrY_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_qn0aziKw_minus_kE_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_qxjCWxg8ki4_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_vZ1SWJ0y4mo_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_xV7MhF_plus_9AQk_nid_no_patch(); +int APS5_VABI libSceAppInstUtilUnknown_yYVV_minus_f0zoWY_nid_no_patch(); + +} diff --git a/core/libs/prx/libSceAppInstUtil/libSceAppInstUtil.hpp b/core/libs/prx/libSceAppInstUtil/libSceAppInstUtil.hpp index 8d20c5a6f2..dd626ff2a6 100644 --- a/core/libs/prx/libSceAppInstUtil/libSceAppInstUtil.hpp +++ b/core/libs/prx/libSceAppInstUtil/libSceAppInstUtil.hpp @@ -1,3 +1,4 @@ #pragma once #include "prx/libSceAppInstUtil/include/Api.hpp" +#include "prx/libSceAppInstUtil/include/InventoryExports.hpp" diff --git a/docs/dev/debt/libSceAppInstUtil.md b/docs/dev/debt/libSceAppInstUtil.md index 28ed171a11..3279852819 100644 --- a/docs/dev/debt/libSceAppInstUtil.md +++ b/docs/dev/debt/libSceAppInstUtil.md @@ -103,3 +103,40 @@ - [sceAppInstUtilGetNeededStorageSize](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) (libSceAppInstUtil) - unknown signature - [sceAppInstUtilAppGetStorageDestType](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) (libSceAppInstUtil) - unknown signature - [sceAppInstUtilInstallAddons](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) (libSceAppInstUtil) - unknown signature + +### Additional callable exports + +- [Additional callable exports](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) - 30 entries observed in the 3.20 export inventory and present in the later 13.60-labelled inventory are import-resolution declarations only. The later inventory label does not authenticate a retail firmware version. Parameter lists, return types and behavior are unverified; parameterless `int` declarations are placeholders, not verified ABI contracts. Every entry throws through `NotImplemented_nid_no_patch`. Unidentified names use literal NID aliases. No runtime functionality is implemented. Data exports require separate layout and ownership analysis. Identified candidate names match their NIDs in the [public symbol database](https://github.com/zecoxao/sce_symbols/blob/2883963a0a514ba6e77407a08ef4730a65e88254/aerolib.csv) or [supplemental catalog](https://github.com/claimore22/ps5rs/blob/2304be5131221bae0dac24b9767cabffda33f747/data/nids.csv). + +| Name | NID | +| --- | --- | +| `sceAppInstUtilGetAddons2` | `KXhNVXaVPgw` | +| `sceAppInstUtilGetPatchInstallStatus2` | `a5SESfNdyL0` | +| `sceAppInstUtilInstallPatch2` | `LKn1-kgoTEA` | +| `Unknown` | `+78trVvdQVs` | +| `Unknown` | `2WQuFX8yYXg` | +| `Unknown` | `4vqRxwpIE1M` | +| `Unknown` | `9QIC1kZpSG4` | +| `Unknown` | `K73u2VX0JFo` | +| `Unknown` | `LsUZe38RhCs` | +| `Unknown` | `N6H7LMfZD5Q` | +| `Unknown` | `NXqdUFpinmo` | +| `Unknown` | `QMjuGVPtjUY` | +| `Unknown` | `R-OUApMZ1d8` | +| `Unknown` | `T9h6l8bFKGE` | +| `Unknown` | `X5Q7QxodFcg` | +| `Unknown` | `XWjOLtdgxa4` | +| `Unknown` | `Y+ln-TkY+hA` | +| `Unknown` | `Zv+26GDSKcQ` | +| `Unknown` | `ecad2GAw55Y` | +| `Unknown` | `gFlBHjtrMDI` | +| `Unknown` | `gP27iU+aZFw` | +| `Unknown` | `grC16befiso` | +| `Unknown` | `j80u95nZ+3A` | +| `Unknown` | `j9qjbjMifhQ` | +| `Unknown` | `pbYNtR2enrY` | +| `Unknown` | `qn0aziKw-kE` | +| `Unknown` | `qxjCWxg8ki4` | +| `Unknown` | `vZ1SWJ0y4mo` | +| `Unknown` | `xV7MhF+9AQk` | +| `Unknown` | `yYVV-f0zoWY` | From 502b385cac6f423ddc085febe91f53ae84170d81 Mon Sep 17 00:00:00 2001 From: Kyon Date: Fri, 30 Oct 2026 06:02:29 +0000 Subject: [PATCH 2/4] docs(libSceAppInstUtil): clarify export evidence --- docs/dev/debt/libSceAppInstUtil.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dev/debt/libSceAppInstUtil.md b/docs/dev/debt/libSceAppInstUtil.md index 3279852819..2d19a7be9d 100644 --- a/docs/dev/debt/libSceAppInstUtil.md +++ b/docs/dev/debt/libSceAppInstUtil.md @@ -106,7 +106,7 @@ ### Additional callable exports -- [Additional callable exports](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) - 30 entries observed in the 3.20 export inventory and present in the later 13.60-labelled inventory are import-resolution declarations only. The later inventory label does not authenticate a retail firmware version. Parameter lists, return types and behavior are unverified; parameterless `int` declarations are placeholders, not verified ABI contracts. Every entry throws through `NotImplemented_nid_no_patch`. Unidentified names use literal NID aliases. No runtime functionality is implemented. Data exports require separate layout and ownership analysis. Identified candidate names match their NIDs in the [public symbol database](https://github.com/zecoxao/sce_symbols/blob/2883963a0a514ba6e77407a08ef4730a65e88254/aerolib.csv) or [supplemental catalog](https://github.com/claimore22/ps5rs/blob/2304be5131221bae0dac24b9767cabffda33f747/data/nids.csv). +- [Additional callable exports](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) - 30 entries present in both version-labelled images are import-resolution declarations only. None is listed in the pinned public 3.20 catalogue for this library. Neither label independently authenticates retail firmware provenance. Parameter lists, return types and behavior are unverified; parameterless `int` declarations are placeholders, not verified ABI contracts. Every entry throws through `NotImplemented_nid_no_patch`. Unidentified names use literal NID aliases. No runtime functionality is implemented. Data exports require separate layout and ownership analysis. Identified candidate names match their NIDs in the [public symbol database](https://github.com/zecoxao/sce_symbols/blob/2883963a0a514ba6e77407a08ef4730a65e88254/aerolib.csv) or [supplemental catalog](https://github.com/claimore22/ps5rs/blob/2304be5131221bae0dac24b9767cabffda33f747/data/nids.csv). | Name | NID | | --- | --- | From b9f05751765dc0d502c87990e8f6bd88aad6fbab Mon Sep 17 00:00:00 2001 From: Kyon Date: Fri, 30 Oct 2026 06:03:29 +0000 Subject: [PATCH 3/4] fix(libSceAppInstUtil): exclude overlapping exports --- core/libs/prx/libSceAppInstUtil/Export.cpp | 13 ------------- .../libSceAppInstUtil/include/InventoryExports.hpp | 4 ---- docs/dev/debt/libSceAppInstUtil.md | 6 +----- 3 files changed, 1 insertion(+), 22 deletions(-) diff --git a/core/libs/prx/libSceAppInstUtil/Export.cpp b/core/libs/prx/libSceAppInstUtil/Export.cpp index 3a0c40c5c4..e0edd8192a 100644 --- a/core/libs/prx/libSceAppInstUtil/Export.cpp +++ b/core/libs/prx/libSceAppInstUtil/Export.cpp @@ -579,22 +579,9 @@ int APS5_VABI sceAppInstUtilInstallAddons(void) { extern "C" { -int APS5_VABI sceAppInstUtilGetAddons2() { - NotImplemented_nid_no_patch(__func__); -} -int APS5_VABI sceAppInstUtilGetPatchInstallStatus2() { - NotImplemented_nid_no_patch(__func__); -} -int APS5_VABI sceAppInstUtilInstallPatch2() { - NotImplemented_nid_no_patch(__func__); -} -int APS5_VABI libSceAppInstUtilUnknown__plus_78trVvdQVs_nid_no_patch() { - NotImplemented_nid_no_patch(__func__); -} -APS5_EXPORT("+78trVvdQVs", libSceAppInstUtilUnknown__plus_78trVvdQVs_nid_no_patch); int APS5_VABI libSceAppInstUtilUnknown_2WQuFX8yYXg_nid_no_patch() { NotImplemented_nid_no_patch(__func__); diff --git a/core/libs/prx/libSceAppInstUtil/include/InventoryExports.hpp b/core/libs/prx/libSceAppInstUtil/include/InventoryExports.hpp index 3735e44a86..d2614897da 100644 --- a/core/libs/prx/libSceAppInstUtil/include/InventoryExports.hpp +++ b/core/libs/prx/libSceAppInstUtil/include/InventoryExports.hpp @@ -4,10 +4,6 @@ extern "C" { -int APS5_VABI sceAppInstUtilGetAddons2(); -int APS5_VABI sceAppInstUtilGetPatchInstallStatus2(); -int APS5_VABI sceAppInstUtilInstallPatch2(); -int APS5_VABI libSceAppInstUtilUnknown__plus_78trVvdQVs_nid_no_patch(); int APS5_VABI libSceAppInstUtilUnknown_2WQuFX8yYXg_nid_no_patch(); int APS5_VABI libSceAppInstUtilUnknown_4vqRxwpIE1M_nid_no_patch(); int APS5_VABI libSceAppInstUtilUnknown_9QIC1kZpSG4_nid_no_patch(); diff --git a/docs/dev/debt/libSceAppInstUtil.md b/docs/dev/debt/libSceAppInstUtil.md index 2d19a7be9d..99d2a9d7ed 100644 --- a/docs/dev/debt/libSceAppInstUtil.md +++ b/docs/dev/debt/libSceAppInstUtil.md @@ -106,14 +106,10 @@ ### Additional callable exports -- [Additional callable exports](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) - 30 entries present in both version-labelled images are import-resolution declarations only. None is listed in the pinned public 3.20 catalogue for this library. Neither label independently authenticates retail firmware provenance. Parameter lists, return types and behavior are unverified; parameterless `int` declarations are placeholders, not verified ABI contracts. Every entry throws through `NotImplemented_nid_no_patch`. Unidentified names use literal NID aliases. No runtime functionality is implemented. Data exports require separate layout and ownership analysis. Identified candidate names match their NIDs in the [public symbol database](https://github.com/zecoxao/sce_symbols/blob/2883963a0a514ba6e77407a08ef4730a65e88254/aerolib.csv) or [supplemental catalog](https://github.com/claimore22/ps5rs/blob/2304be5131221bae0dac24b9767cabffda33f747/data/nids.csv). +- [Additional callable exports](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) - 26 entries present in both version-labelled images are import-resolution declarations only. None is listed in the pinned public 3.20 catalogue for this library. Neither label independently authenticates retail firmware provenance. Parameter lists, return types and behavior are unverified; parameterless `int` declarations are placeholders, not verified ABI contracts. Every entry throws through `NotImplemented_nid_no_patch`. Unidentified names use literal NID aliases. No runtime functionality is implemented. Data exports require separate layout and ownership analysis. Identified candidate names match their NIDs in the [public symbol database](https://github.com/zecoxao/sce_symbols/blob/2883963a0a514ba6e77407a08ef4730a65e88254/aerolib.csv) or [supplemental catalog](https://github.com/claimore22/ps5rs/blob/2304be5131221bae0dac24b9767cabffda33f747/data/nids.csv). | Name | NID | | --- | --- | -| `sceAppInstUtilGetAddons2` | `KXhNVXaVPgw` | -| `sceAppInstUtilGetPatchInstallStatus2` | `a5SESfNdyL0` | -| `sceAppInstUtilInstallPatch2` | `LKn1-kgoTEA` | -| `Unknown` | `+78trVvdQVs` | | `Unknown` | `2WQuFX8yYXg` | | `Unknown` | `4vqRxwpIE1M` | | `Unknown` | `9QIC1kZpSG4` | From 538768a26c7e86ba6b2ee939d117db30b949303a Mon Sep 17 00:00:00 2001 From: Kyon Date: Fri, 30 Oct 2026 06:03:38 +0000 Subject: [PATCH 4/4] docs(libSceAppInstUtil): avoid concurrent debt edits --- docs/dev/debt/libSceAppInstUtil.md | 66 +++++++++++++++--------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/docs/dev/debt/libSceAppInstUtil.md b/docs/dev/debt/libSceAppInstUtil.md index 99d2a9d7ed..aeed8501ce 100644 --- a/docs/dev/debt/libSceAppInstUtil.md +++ b/docs/dev/debt/libSceAppInstUtil.md @@ -1,5 +1,38 @@ # libSceAppInstUtil technical debt +### Additional callable exports + +- [Additional callable exports](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) - 26 entries present in both version-labelled images are import-resolution declarations only. None is listed in the pinned public 3.20 catalogue for this library. Neither label independently authenticates retail firmware provenance. Parameter lists, return types and behavior are unverified; parameterless `int` declarations are placeholders, not verified ABI contracts. Every entry throws through `NotImplemented_nid_no_patch`. Unidentified names use literal NID aliases. No runtime functionality is implemented. Data exports require separate layout and ownership analysis. Identified candidate names match their NIDs in the [public symbol database](https://github.com/zecoxao/sce_symbols/blob/2883963a0a514ba6e77407a08ef4730a65e88254/aerolib.csv) or [supplemental catalog](https://github.com/claimore22/ps5rs/blob/2304be5131221bae0dac24b9767cabffda33f747/data/nids.csv). + +| Name | NID | +| --- | --- | +| `Unknown` | `2WQuFX8yYXg` | +| `Unknown` | `4vqRxwpIE1M` | +| `Unknown` | `9QIC1kZpSG4` | +| `Unknown` | `K73u2VX0JFo` | +| `Unknown` | `LsUZe38RhCs` | +| `Unknown` | `N6H7LMfZD5Q` | +| `Unknown` | `NXqdUFpinmo` | +| `Unknown` | `QMjuGVPtjUY` | +| `Unknown` | `R-OUApMZ1d8` | +| `Unknown` | `T9h6l8bFKGE` | +| `Unknown` | `X5Q7QxodFcg` | +| `Unknown` | `XWjOLtdgxa4` | +| `Unknown` | `Y+ln-TkY+hA` | +| `Unknown` | `Zv+26GDSKcQ` | +| `Unknown` | `ecad2GAw55Y` | +| `Unknown` | `gFlBHjtrMDI` | +| `Unknown` | `gP27iU+aZFw` | +| `Unknown` | `grC16befiso` | +| `Unknown` | `j80u95nZ+3A` | +| `Unknown` | `j9qjbjMifhQ` | +| `Unknown` | `pbYNtR2enrY` | +| `Unknown` | `qn0aziKw-kE` | +| `Unknown` | `qxjCWxg8ki4` | +| `Unknown` | `vZ1SWJ0y4mo` | +| `Unknown` | `xV7MhF+9AQk` | +| `Unknown` | `yYVV-f0zoWY` | + ### Unknown function info - [sceAppInstUtilAppInstallPkg](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) - the package path is followed by an opaque 64-bit value sent to the install service; its meaning and pointer-versus-integer type remain unresolved. @@ -103,36 +136,3 @@ - [sceAppInstUtilGetNeededStorageSize](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) (libSceAppInstUtil) - unknown signature - [sceAppInstUtilAppGetStorageDestType](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) (libSceAppInstUtil) - unknown signature - [sceAppInstUtilInstallAddons](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) (libSceAppInstUtil) - unknown signature - -### Additional callable exports - -- [Additional callable exports](../../../core/libs/prx/libSceAppInstUtil/Export.cpp) - 26 entries present in both version-labelled images are import-resolution declarations only. None is listed in the pinned public 3.20 catalogue for this library. Neither label independently authenticates retail firmware provenance. Parameter lists, return types and behavior are unverified; parameterless `int` declarations are placeholders, not verified ABI contracts. Every entry throws through `NotImplemented_nid_no_patch`. Unidentified names use literal NID aliases. No runtime functionality is implemented. Data exports require separate layout and ownership analysis. Identified candidate names match their NIDs in the [public symbol database](https://github.com/zecoxao/sce_symbols/blob/2883963a0a514ba6e77407a08ef4730a65e88254/aerolib.csv) or [supplemental catalog](https://github.com/claimore22/ps5rs/blob/2304be5131221bae0dac24b9767cabffda33f747/data/nids.csv). - -| Name | NID | -| --- | --- | -| `Unknown` | `2WQuFX8yYXg` | -| `Unknown` | `4vqRxwpIE1M` | -| `Unknown` | `9QIC1kZpSG4` | -| `Unknown` | `K73u2VX0JFo` | -| `Unknown` | `LsUZe38RhCs` | -| `Unknown` | `N6H7LMfZD5Q` | -| `Unknown` | `NXqdUFpinmo` | -| `Unknown` | `QMjuGVPtjUY` | -| `Unknown` | `R-OUApMZ1d8` | -| `Unknown` | `T9h6l8bFKGE` | -| `Unknown` | `X5Q7QxodFcg` | -| `Unknown` | `XWjOLtdgxa4` | -| `Unknown` | `Y+ln-TkY+hA` | -| `Unknown` | `Zv+26GDSKcQ` | -| `Unknown` | `ecad2GAw55Y` | -| `Unknown` | `gFlBHjtrMDI` | -| `Unknown` | `gP27iU+aZFw` | -| `Unknown` | `grC16befiso` | -| `Unknown` | `j80u95nZ+3A` | -| `Unknown` | `j9qjbjMifhQ` | -| `Unknown` | `pbYNtR2enrY` | -| `Unknown` | `qn0aziKw-kE` | -| `Unknown` | `qxjCWxg8ki4` | -| `Unknown` | `vZ1SWJ0y4mo` | -| `Unknown` | `xV7MhF+9AQk` | -| `Unknown` | `yYVV-f0zoWY` |