From 4234802b4e8d7711f2bd6de23e31d171c98349e3 Mon Sep 17 00:00:00 2001 From: auag0 Date: Sun, 8 Feb 2026 20:08:40 +0900 Subject: [PATCH 1/2] Fix split_config APK ABI name - Fixed incorrect ABI name in split_config APK filename. --- src/Loading.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Loading.cpp b/src/Loading.cpp index bd6b33a..3d19816 100644 --- a/src/Loading.cpp +++ b/src/Loading.cpp @@ -64,14 +64,19 @@ static bool CheckHandle(void *handle) { #if defined(__ARM_ARCH_7A__) # define CURRENT_ARCH "armeabi-v7a" +# define CURRENT_ARCH_SPLIT "armeabi_v7a" #elif defined(__aarch64__) # define CURRENT_ARCH "arm64-v8a" +# define CURRENT_ARCH_SPLIT "arm64_v8a" #elif defined(__i386__) # define CURRENT_ARCH "x86" +# define CURRENT_ARCH_SPLIT "x86" #elif defined(__x86_64__) # define CURRENT_ARCH "x86_64" +# define CURRENT_ARCH_SPLIT "x86_64" #elif defined(__riscv) # define CURRENT_ARCH "riscv64" +# define CURRENT_ARCH_SPLIT "riscv64" #endif bool Loading::TryLoadByJNI(JNIEnv *env, jobject context) { @@ -110,7 +115,7 @@ bool Loading::TryLoadByJNI(JNIEnv *env, jobject context) { file.clear(); // Full path to library in split_config.architecture.apk /data/app/.../package name-.../split_config.architecture.apk!/lib/architecture/libil2cpp.so - file = std::string(cDir).substr(0, cDir.length() - 8) + BNM_OBFUSCATE_TMP("split_config." CURRENT_ARCH ".apk!/lib/" CURRENT_ARCH "/libil2cpp.so"); + file = std::string(cDir).substr(0, cDir.length() - 8) + BNM_OBFUSCATE_TMP("split_config." CURRENT_ARCH_SPLIT ".apk!/lib/" CURRENT_ARCH "/libil2cpp.so"); handle = BNM_dlopen(file.c_str(), RTLD_LAZY); if (!(result = CheckHandle(handle))) BNM_LOG_ERR(DBG_BNM_MSG_TryLoadByJNI_Fail); From 04cf1b2ff348fadbdb2c2c9fee32bec1ddaae868 Mon Sep 17 00:00:00 2001 From: anago <48195751+auag0@users.noreply.github.com> Date: Wed, 9 Sep 2026 16:34:28 +0900 Subject: [PATCH 2/2] Fix null pointer in Internal::Load when event list is empty --- src/Loading.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Loading.cpp b/src/Loading.cpp index 3d19816..c04ad3f 100644 --- a/src/Loading.cpp +++ b/src/Loading.cpp @@ -34,6 +34,7 @@ void Internal::Load() { // Call all events after loading il2cpp auto events = onIl2CppLoaded; + if (events.IsEmpty()) return; auto current = events.lastElement->next; do { current->value(); @@ -493,4 +494,4 @@ void Loading::AddOnLoadedEvent(void (*event)()) { void Loading::ClearOnLoadedEvents() { Internal::onIl2CppLoaded.Clear(); -} \ No newline at end of file +}