初中生
 
- 金币
- 243
- 好评
- 2
- 信誉
- 100
|
本帖最后由 dotcog 于 2025-4-19 15:04 编辑
我之前开发的SLPatch是为了解决LSPatch模块无法激活和使用New XSharedPreferences的问题以及LSPatch的一些性能问题。
但是SLPatch也有很多问题,比如修补并安装一个软件,占用的储存空间是正常情况下的2.5到3倍,而LSPatch只有2倍。加载模块时会把模块的安装包复制到目标软件的私有目录下(如果模块是被SLPatch修补过的话),这样多个软件使用同一个模块相当于安装了多个一样的模块。
还有一个是SLPatch和LSPatch共同的问题:注入Xposed的方式是通过代理App Component Factory并加壳,加壳会大大影响软件的启动速度和资源占用,所以我决定放弃这种打包方式,采用类似于太极和应用转生的打包方式,添加dex并代理入口组件,太极和应用转生代理的是Application,而我最近开发的框架代理的是App Component Factory,可拦截更多方法调用,而且就怕有一些软件在App Component Factory中使用签名校验或壳行为。
接下来介绍一下我最新开发的免Root Xposed框架:Loxposed
安装包占用空间和其他通过修改安装包的框架一样,只有2倍,如果不需要绕过完整安装包校验,只需要1倍。与SLPatch一样,可以通过修补模块的安装包让起认为自己被激活,并正常使用New XSharedPreferences,如果不用激活或不需要使用New XSharedPreferences的话可以不修补直接使用,并且Loxposed让模块使用New XSharedPreferences的方式和LSPosed一样,不像SLPatch那样直接hook ContextWrapper.getSharedPreferences传递一个自定义的SharedPreferences,现在的方式更安全稳定。该框架自带绕过签名校验,不用像SLPatch那样需要SL-Sik,而且不只是hook了PackageInfo.signatures,还hook了PackageInfo.signingInfo,LSPatch并没有hook signingInfo,对比SLPatch还hook了libc中的openat,SLPatch只hook了ApplicationInfo.sourceDir和publicSourceDir。
使用方法基本和SLPatch一致,修补后的安装包在Loxposed文件夹下,第一次或更新或重新安装Loxposed都需要刷新加载器,每次安装模块后都需要刷新模块信息。与SLPatch一样,Loxposed文件夹里的文件不能乱动,但对于不需要绕过完整安装包校验的软件可以删除Loxposed/app/软件包名/base_apk。模块作用域的管理方式和LSPosed一样,需要激活模块后长按模块,点击模块作用域,再勾选目标应用。所有修补安装后的软件都需要授予所有文件访问权限。该框架只支持Android 11及以上。
开源地址:https://github.com/dotcog/Loxposed
下载链接:http://jkx.dotcog.nhely.hu/d/loxposed.apk
如果设备性能特别好,而且不需要使用依赖New XSharedPreferences的模块(如Simple HookL)可以考虑放弃使用该框架,继续使用LSPatch或FPA或其他框架。 |
-
查看全部评分
总评分:好评 +1
金币 +1
|