原文地址:Lspatch使用
原文作者:yuito
写在前面
通过使用模块,Android用户可以轻松地增加新功能、修改现有功能或增强应用程序的性能。
但是,使用模块修改一般需要超级用户权限,也就是所谓的ROOT权限。这极大限度的限制了用户对于模块的使用。
好在,Lsposed框架的开发队伍开发了一款名为Lspatch的工具,提供了一种免ROOT使用模块的方法。
这篇文章,就来带大家了解LSPatch的使用。
Tips:
请遵守各软件的用户使用守则,尊重各公司的知识产权,谨慎进行模块注入操作!本文中的操作仅作演示之用。
微信、QQ和支付宝等应用对于模块注入一向是保持零容忍的态度,使用模块极易带来封号风险!请知悉。
模块与框架
在操作之前,先来了解几个概念。
Xposed框架、LSPosed框架以及它们的模块是广受Android手机用户欢迎的强大工具。这些框架和模块为用户提供了修改和个性化Android设备的能力,无需修改系统文件,让用户能够充分发挥他们设备的潜力。
Xposed框架是一款强大的Android框架,通过在Android运行时拦截和修改方法调用,实现了对设备行为和功能的定制。它为开发者提供了创建模块的平台,这些模块可以扩展或修改应用程序甚至整个系统的功能。通过安装和激活不同的Xposed模块,用户可以根据自己的喜好和需求进行各种定制,如主题切换、广告拦截、系统设置调整等。
与此类似,LSPosed是Xposed框架的一个开源替代实现,致力于提供与Xposed类似的功能。LSPosed允许用户在不修改系统文件的情况下,修改Android设备的行为。它与Xposed模块相兼容,用户可以通过安装和激活LSPosed模块来进一步扩展和定制他们的设备。
LSPosed 框架和原版 Xposed 框架的不同之处:
LSPosed 只有注入被勾选的应用,其他应用运行在干净的环境
LSPosed 极难被检测,文件系统没有可疑痕迹,不需要安装独立的管理器应用
模块是Xposed和LSPosed的核心,它们是为这些框架开发的插件或附加组件。通过使用这些模块,用户可以轻松地增加新功能、修改现有功能或增强应用程序的性能。Xposed模块和LSPosed模块是由社区中的开发者开发的,为用户提供了丰富的选择。用户可以根据自己的需求选择并安装这些模块,以个性化和定制他们的Android设备。
Lspatch,Lsposed提供的免ROOT使用模块的方案,完美的解决了非ROOT设备无法使用模块的痛。它通过修改应用,使应用进程留有LSP的处理方案,从而可以使用模块,而无需ROOT。传统的模块方案,则是通过ROOT权限,修改应用进程及数据。形象点讲,Lspatch采用从应用内部修改的方案,而传统的Xposed方案则是从外部借助root权限修改。
根据这个原理,Lspatch还实现了便携模式:可以直接打包被修改的应用及注入的模块,实现脱离Lspatch环境运行。
准备
Lspatch:https://github.com/LSPosed/LSPatch
适用的模块,如Qa模块(全面叫QAuxiliary):https://github.com/cinit/QAuxiliary
要更改的应用安装包,如QQ安装包:https://im.qq.com/download
一部安卓手机,可以使用模拟器,但千万不要使用安卓子系统,因为没有文件目录体系。
把上面的资源全部放到安卓手机里。注意要明确文件的路径(如 /download ),以便使用。
便携模式
便携模式可以直接把注入模块后的应用打包。
这样的应用运行不需要依靠Lspatch,可以分享给其他人。
安装Lspatch。
lspatch安装完长这样:
img
shizuku我们不理,目前用不着。
安装完成后,进入Lspatch,下方点击管理,点击加号:
img
首次使用会提示选择一个目录来存储已修复的apk,选择自己方便调用的文件夹,并给予存储权限。
此时弹出框有两个选项:
img
如果已经安装QQ,可以选择下面的"选择已安装的应用程序";
如果未安装,选择上面"从存储目录中选择(多个)apk".
然后在弹出的界面找到要修改的应用(或安装包).选择完毕进入修补界面如下:
img
选择便携模式,点击"嵌入模块",选择模块qa。
img
img
点击右下角“开始修补”,等待修补完成。
img
进入手机的文件管理器,查找apk
img
这样,我们便得到了修改后的应用。
本地模式
本地模式,顾名思义只能在本地运行。
它不再嵌入模块,而只是修改应用以模块得以使用。
缺点很明显,即需要Lspatch在后台运行,应用才可正常运作。
优点是可以灵活管理模块,模块更新不需要重新打包。
同便携模式1-3步,进入修补界面,选择本地模式。
img
直接开始修补。
修补完成后,手动找到安装包安装。(lspatch中的安装键需shizuku赋权,如果你会用shizuku也可以。)
安装后重启手机(这是一个好习惯),打开Lspatch。在管理-应用里面会发现修补好的应用,点击后选择作用域,选择要使用的模块。
img
img
此时的模块需安装。
控制台合成安装包
Lspatch还提供了另一种打包方式:从电脑打包.
通过他提供的一个jar包,打包出来本地模式或便携模式的包。
准备:
Java环境 推荐使用集成的Java开发环境,如Android Studio,安装后无需启动Android Studio即可使用Java
lspatch.jar https://github.com/LSPosed/LSPatch/releases/latest
应用、模块的apk
一台计算机,可以是Linux或者Windows,MacOS没试,理论上可以。
在lspatch.jar所在的目录运行cmd.
控制台输入以下命令:
本地模式:java -jar lspatch.jar xxx.apk -manager -l 2
便携模式:java -jar lspatch.jar xxx.apk [-m 模块1.apk [-m 模块2.apk ...]] -l 2
xxx.apk为要修改的应用安装包.
FAQ
Q1: 本地模式修补后在管理-应用-【修补好的应用】-模块作用域里找不到模块?
A1: 模块要先安装在手机里。
Q2: 电脑控制台无法正常运行lspatch.jar,提示Java.lang.UnsupportedClassVersionError?
A2: 运行JSE版本过低。推荐直接安装Java集成开发环境,如IDEA、Android Studio,可以避免java版本过低。
Q3: 首次使用会提示选择一个目录来存储已修复的apk,可是没有目录?
A3: Lspatch应用设置-权限设置-读写文件权限-允许。
Q3.1: 还是不行?
A3.1: 不要在Windows Subsystem for Android™ 上测试。若非如此,请重启手机。
Q4: 便携模式找不到生成后的安装包?
A4: 请检查修补日志最后一行是否提示出错。新版安卓隐私政策升级,文件管理器可能无法及时读取到文件,请手动到第二步的目录下查找或重启手机。
Q5: 应用修补后按"安装"提示Shizuku服务未连接?
A5: 属正常情况。Lspatch可搭配Shizuku使用,方便卸载、安装应用等操作。没有Shizuku的用户可以手动卸载原应用后手动安装修补完的应用。
Q6: 应用修补后,安装失败,提示“签名不一致”?
A6: 请先卸载原有应用。
再次提醒
再次提醒:遵守应用使用守则,避免被封号或惹官司!
微信软件许可及服务协议:https://weixin.qq.com/cgi-bin/readtemplate?t=weixin_agreement&s=default&cc=CN
8.2.1 除非法律允许或腾讯书面许可,你使用本软件过程中不得从事下列行为:
8.2.1.5 通过修改或伪造软件运行中的指令、数据,增加、删减、变动软件的功能或运行效果,或者将用于上述用途的软件、方法进行运营或向公众传播,无论这些行为是否为商业目的;
8.2.1.6 通过非腾讯开发、授权的第三方软件、插件、外挂、系统,登录或使用腾讯软件及服务,或制作、发布、传播上述工具;
8.2.1.7 自行或者授权他人、第三方软件对本软件及其组件、模块、数据进行干扰;
8.2.1.8 其他未经腾讯明示授权的行为。
QQ软件许可及服务协议:https://rule.tencent.com/rule/preview/46a15f24-e42c-4cb6-a308-2347139b1201
8.1.10 基于用户体验、QQ或相关服务平台运营安全、平台规则要求及健康发展等综合因素,腾讯有权选择提供服务的对象,决定功能设置,决定功能开放、数据接口和相关数据披露的对象和范围。针对以下情形,有权视具体情况中止或终止提供相关服务,包括但不限于:(1)违反法律法规或本协议的。
8.2.2 软件使用
除非法律法规允许或腾讯书面许可,您不得从事下列行为:
(5)通过修改或伪造软件运行中的指令、数据,增加、删减、变动软件的功能或运行效果,或者将用于上述用途的软件、方法进行运营或向公众传播,无论这些行为是否为商业目的。(6)通过非腾讯开发、授权的第三方软件、插件、外挂、系统,登录或使用本软件和/或本服务,或制作、发布、传播上述工具。(7)自行、授权他人或利用第三方软件对本软件和/或本服务及其组件、模块、数据等进行干扰。
The End
Yuito 2023