hexstr/UnityFPSUnlocker

考虑更新下模拟器支持方面吗

bananaheaven opened this issue · 5 comments

目前模块只使用_ZN7android26NativeBridgeLoadLibraryExtEPKciPNS_25native_bridge_namespace_tE这个符号,它只能在安卓8.0~安卓10.0上使用
安卓8以前没有NativeBridgeLoadLibraryExt只有NativeBridgeLoadLibrary
安卓10以后符号变成了NativeBridgeLoadLibraryExt
考虑换成NativeBridgeItf这个固定符号或者把三种情况都获取一遍

另外现在模块需要复制文件到/data/local/tmp,可以考虑直接从内存载入而不需要复制,参考
https://github.com/Perfare/Zygisk-Il2CppDumper/blob/70b95e88e738510bdf2574561e21280bc1d35f20/module/src/main/cpp/main.cpp#L55-L73

https://github.com/Perfare/Zygisk-Il2CppDumper/blob/70b95e88e738510bdf2574561e21280bc1d35f20/module/src/main/cpp/hack.cpp#L93-L101

好思路,偷了
不过安卓8以前这个我以前只在mumu模拟器上测试过,然而以前没有调用JNI_OnLoad函数,现在也没有环境测试,总之先加上

兼容性更新了一下,应该能支持houdini v2
内存加载的话,稍微测试了一下,模拟器上在preAppSpecialize阶段无法读取/sdcard/.../il2cpp文件夹,没法自动识别应用是否为il2cpp后端的话,每打开一个应用都需要在preAppSpecialize阶段读取armxxx.so然后在postAppSpecialize阶段判断是否加载,那还不如保持原方案,还能减少一点文件读取。

感谢你的更新,其实判断是否是il2cpp游戏的话可以考虑判断是否在lib下存在libil2cpp.so?
另外考虑使用内存载入的还有一个原因是可以在maps隐藏,有些加固会检查maps,目前模块的逻辑是只要是il2cpp游戏就载入,会导致被游戏检测闪退,如果使用magisk的排除列表又会与shamiko冲突

@bananaheaven 高版本Android的lib目录是乱码获取不到

@bananaheaven 从maps隐藏的话下次加上