nmmp icon indicating copy to clipboard operation
nmmp copied to clipboard

nmmp加固xposed模块在lsposed环境下运行时提示找不到到couldn't find "libnmmp.so"

Open xjgithub321 opened this issue 5 months ago • 5 comments

java.lang.UnsatisfiedLinkError: LspModuleClassLoader[module=/data/app/com.runmen-5x9Louq6v794XtQRntN0Cg==/base.apk, nativeLibraryDirs=/data/app/com.runmen-5x9Louq6v794XtQRntN0Cg==/base.apk!/lib/arm64-v8a, /system/lib64, /product/lib64, N[DexPathList[[dex file "InMemoryDexFile[cookie=[0, 534460715456]]"],nativeLibraryDirectories=[/data/app/com.runmen-5x9Louq6v794XtQRntN0Cg==/base.apk!/lib/arm64-v8a, /system/lib64, /product/lib64]]]] couldn't find "libnmmp.so" at java.lang.Runtime.loadLibrary0(Runtime.java:1067) at java.lang.Runtime.loadLibrary0(Runtime.java:1007) at java.lang.System.loadLibrary(System.java:1667) at com.nmmedit.protect.NativeUtil.(Unknown Source:2) at com.nmmedit.protect.NativeUtil.classesInit0(Native Method) at j.s93.(Unknown Source:2) at j.s93.r78(Native Method) at com.runmen.MainHook.handleLoadPackage(SourceFile:19) at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(Unknown Source:2) at de.robv.android.xposed.callbacks.XC_LoadPackage.call(Unknown Source:6) at de.robv.android.xposed.callbacks.XCallback.callAll(Unknown Source:26) at I.afterHookedMethod(Unknown Source:1) at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147) at LSPHooker_.getClassLoader(Unknown Source:8) at android.app.LoadedApk.getResources(LoadedApk.java:1188) at android.app.ContextImpl.createAppContext(ContextImpl.java:2462) at android.app.ContextImpl.createAppContext(ContextImpl.java:2454) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6343) at android.app.ActivityThread.access$1300(ActivityThread.java:219) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

大佬有遇到过这个问题吗

xjgithub321 avatar Jul 11 '25 03:07 xjgithub321

我没在这些地方使用过,不过看你这个报错,它的搜索路径在base.apk里面,你可以尝试so不压缩然后使用页对齐(16K)。具体位置在https://github.com/maoabc/nmmp/issues/136#issuecomment-3056868294

maoabc avatar Jul 11 '25 04:07 maoabc

android:extractNativeLibs="true" 我模块上是加上了的

xjgithub321 avatar Jul 11 '25 07:07 xjgithub321

那不清楚,报错内容是base.apk!/lib/这种路径下查找不到so,如果它按标准的安卓来加了android:extractNativeLibs="true"应该在/data/app/com.runmen-5x9Louq6v794XtQRntN0Cg==/lib/arm64-v8a下面查找so而不是base.apk中。

maoabc avatar Jul 11 '25 08:07 maoabc

其他尝试就是改变System.loadLibaray调用位置,或者用System.load传递完整so文件路径。没装过这些框架,所以没法去适配。

maoabc avatar Jul 11 '25 08:07 maoabc

很奇怪,我看了NP管理器的vm保护,System.loadLibaray调用位置好像跟您是一样的,不知道是哪里有区别

xjgithub321 avatar Jul 12 '25 03:07 xjgithub321