mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-07-10 02:04:42 -06:00
More safe LLE modules (#4642)
These are all safe thanks to recent work (aside from rudp, that's been safe ever since the initial socket work).
This commit is contained in:
parent
c581ce89a9
commit
7da7a8e1f9
15
README.md
15
README.md
@ -151,12 +151,15 @@ The following firmware modules are supported and must be placed in shadPS4's `sy
|
||||
|
||||
<div align="center">
|
||||
|
||||
| Modules | Modules | Modules | Modules |
|
||||
|--------------------------|--------------------------|--------------------------|--------------------------|
|
||||
| libSceAudiodec.sprx | libSceCesCs.sprx | libSceFont.sprx | libSceFontFt.sprx |
|
||||
| libSceFreeTypeOt.sprx | libSceJpegDec.sprx | libSceJpegEnc.sprx | libSceJson.sprx |
|
||||
| libSceJson2.sprx | libSceLibcInternal.sprx | libSceNgs2.sprx | libScePngEnc.sprx |
|
||||
| libSceRtc.sprx | libSceSystemGesture.sprx | libSceUlt.sprx | libSceWkFontConfig.sprx |
|
||||
| Modules | Modules | Modules | Modules |
|
||||
|--------------------------------|--------------------------------|--------------------------------|--------------------------------|
|
||||
| libSceAudiodec.sprx | libSceAudiodecCpu.sprx | libSceAudiodecCpuDdp.sprx | libSceAudiodecCpuDtsHdLbr.sprx |
|
||||
| libSceAudiodecCpuHevag.sprx | libSceAudiodecCpuM4aac.sprx | libSceCesCs.sprx | libSceFont.sprx |
|
||||
| libSceFontFt.sprx | libSceFreeTypeOl.sprx | libSceFreeTypeOptOl.sprx | libSceFreeTypeOt.sprx |
|
||||
| libSceJpegDec.sprx | libSceJpegEnc.sprx | libSceJson.sprx | libSceJson2.sprx |
|
||||
| libSceLibcInternal.sprx | libSceNgs2.sprx | libScePngEnc.sprx | libSceRtc.sprx |
|
||||
| libSceRudp.sprx | libSceSystemGesture.sprx | libSceUlt.sprx | libSceWkFontConfig.sprx |
|
||||
| libSceXml.sprx |
|
||||
</div>
|
||||
|
||||
> [!Caution]
|
||||
|
||||
@ -7360,7 +7360,7 @@ s32 PS4_SYSV_ABI Func_FE7E5AE95D3058F5() {
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
void RegisterlibSceFont(Core::Loader::SymbolsResolver* sym) {
|
||||
void RegisterLib(Core::Loader::SymbolsResolver* sym) {
|
||||
LIB_FUNCTION("CUKn5pX-NVY", "libSceFont", 1, "libSceFont", sceFontAttachDeviceCacheBuffer);
|
||||
LIB_FUNCTION("3OdRkSjOcog", "libSceFont", 1, "libSceFont", sceFontBindRenderer);
|
||||
LIB_FUNCTION("6DFUkCwQLa8", "libSceFont", 1, "libSceFont", sceFontCharacterGetBidiLevel);
|
||||
|
||||
@ -767,5 +767,5 @@ s32 PS4_SYSV_ABI Func_EAC96B2186B71E14();
|
||||
s32 PS4_SYSV_ABI Func_FE4788A96EF46256();
|
||||
s32 PS4_SYSV_ABI Func_FE7E5AE95D3058F5();
|
||||
|
||||
void RegisterlibSceFont(Core::Loader::SymbolsResolver* sym);
|
||||
void RegisterLib(Core::Loader::SymbolsResolver* sym);
|
||||
} // namespace Libraries::Font
|
||||
|
||||
@ -124,7 +124,7 @@ const OrbisFontRendererSelection* PS4_SYSV_ABI sceFontSelectRendererFt(int value
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void RegisterlibSceFontFt(Core::Loader::SymbolsResolver* sym) {
|
||||
void RegisterLib(Core::Loader::SymbolsResolver* sym) {
|
||||
LIB_FUNCTION("e60aorDdpB8", "libSceFontFt", 1, "libSceFontFt", sceFontFtInitAliases);
|
||||
LIB_FUNCTION("BxcmiMc3UaA", "libSceFontFt", 1, "libSceFontFt", sceFontFtSetAliasFont);
|
||||
LIB_FUNCTION("MEWjebIzDEI", "libSceFontFt", 1, "libSceFontFt", sceFontFtSetAliasPath);
|
||||
|
||||
@ -51,5 +51,5 @@ s32 PS4_SYSV_ABI sceFontSelectGlyphsFt();
|
||||
const OrbisFontLibrarySelection* PS4_SYSV_ABI sceFontSelectLibraryFt(int value);
|
||||
const OrbisFontRendererSelection* PS4_SYSV_ABI sceFontSelectRendererFt(int value);
|
||||
|
||||
void RegisterlibSceFontFt(Core::Loader::SymbolsResolver* sym);
|
||||
void RegisterLib(Core::Loader::SymbolsResolver* sym);
|
||||
} // namespace Libraries::FontFt
|
||||
|
||||
@ -155,7 +155,6 @@ void InitHLELibs(Core::Loader::SymbolsResolver* sym) {
|
||||
Libraries::CompanionHttpd::RegisterLib(sym);
|
||||
Libraries::CompanionUtil::RegisterLib(sym);
|
||||
Libraries::Voice::RegisterLib(sym);
|
||||
Libraries::Rudp::RegisterLib(sym);
|
||||
Libraries::VrTracker::RegisterLib(sym);
|
||||
Libraries::ContentExport::RegisterLib(sym);
|
||||
Libraries::VideoRecording::RegisterLib(sym);
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
#include "core/libraries/libs.h"
|
||||
#include "core/libraries/ngs2/ngs2.h"
|
||||
#include "core/libraries/rtc/rtc.h"
|
||||
#include "core/libraries/rudp/rudp.h"
|
||||
#include "core/libraries/sysmodule/sysmodule_error.h"
|
||||
#include "core/libraries/sysmodule/sysmodule_internal.h"
|
||||
#include "core/libraries/sysmodule/sysmodule_table.h"
|
||||
@ -224,11 +225,20 @@ s32 loadModuleInternal(s32 index, s32 argc, const void* argv, s32* res_out) {
|
||||
{"libSceLibcInternal.sprx", &Libraries::LibcInternal::RegisterLib},
|
||||
{"libSceCesCs.sprx", nullptr},
|
||||
{"libSceAudiodec.sprx", nullptr},
|
||||
{"libSceFont.sprx", &Libraries::Font::RegisterlibSceFont},
|
||||
{"libSceFontFt.sprx", &Libraries::FontFt::RegisterlibSceFontFt},
|
||||
{"libSceAudiodecCpu.sprx", nullptr},
|
||||
{"libSceAudiodecCpuDdp.sprx", nullptr},
|
||||
{"libSceAudiodecCpuM4aac.sprx", nullptr},
|
||||
{"libSceAudiodecCpuDtsHdLbr.sprx", nullptr},
|
||||
{"libSceAudiodecCpuHevag.sprx", nullptr},
|
||||
{"libSceFont.sprx", &Libraries::Font::RegisterLib},
|
||||
{"libSceFontFt.sprx", &Libraries::FontFt::RegisterLib},
|
||||
{"libSceFreeTypeOt.sprx", nullptr},
|
||||
{"libSceFreeTypeOl.sprx", nullptr},
|
||||
{"libSceFreeTypeOptOl.sprx", nullptr},
|
||||
{"libSceRudp.sprx", &Libraries::Rudp::RegisterLib},
|
||||
{"libSceWkFontConfig.sprx", nullptr},
|
||||
{"libSceSystemGesture.sprx", &Libraries::SystemGesture::RegisterLib}});
|
||||
{"libSceSystemGesture.sprx", &Libraries::SystemGesture::RegisterLib},
|
||||
{"libSceXml.sprx", nullptr}});
|
||||
|
||||
// Iterate through the allowed array
|
||||
const auto it = std::ranges::find_if(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user