Lspatch使用
前言
xp模块可以使用户获得应用原本所没有的功能。
使用模块需要修改应用。对于Root用户来说,使用Lsposed是个不错的选择,也方便。
但是大多数用户没有将手机Root。
所以Lsposed的开发者做了一款功能相对不够全面,但仍能实现修改应用功能的工具:Lspatch。
Lspatch不需要Root权限运行。而且,lspatch还具备一种模块注入的模式:便携模式。
便携模式可以直接把注入模块后的应用打包。这样的应用运行不再需要依靠Lspatch,可以分享给其他人。
下面我以QQ做示例,为大家演示Lspatch的使用过程。
成品请见资源分享帖。
提一嘴:安装之前切记卸载原应用(记得备份),否则签名不一致会安装失败。
操作过程中若出错,试试重启手机或将应用停止运行。
> 准备
在这里,我选择了开源的Qa模块注入到QQ中,以实现防撤回功能。
Qa模块(全面叫QAuxiliary):https://github.com/cinit/QAuxiliary
一部安卓手机,可以使用模拟器,但千万不要使用安卓子系统,因为没有文件目录体系。
把上面的资源全部放到安卓手机里。注意要明确文件的位置,以便使用。
> 便携模式
便携模式可以直接把注入模块后的应用打包。
这样的应用运行不需要依靠Lspatch,可以分享给其他人。
安装Lspatch。
lspatch安装完长这样:
shizuku我们不理,目前用不着。安装完成后,进入Lspatch,下方点击管理,点击加号:
首次使用会提示选择一个目录来存储已修复的apk,选择自己方便调用的文件夹,并给予存储权限。此时弹出框有两个选项:
如果已经安装QQ,可以选择下面的"选择已安装的应用程序";
如果未安装,选择上面"从存储目录中选择(多个)apk".
然后在弹出的界面找到QQ(或安装包).选择完毕进入修补界面如下:
选择便携模式,点击"嵌入模块",选择模块qa。
点击右下角“开始修补”,等待修补完成。
进入手机的文件管理器,查找apk
这样,我们便得到了嵌入了qa的qq.
> 本地模式
本地模式,顾名思义只能在本地运行。
它不再嵌入模块,而只是修改应用以模块得以使用。
缺点很明显,即需要Lspatch在后台运行,应用才可正常运作。
优点是可以灵活管理模块,模块更新不需要重新打包。
同便携模式1-3步,进入修补界面,选择本地模式。
直接开始修补。
修补完成后,手动找到安装包安装。(lspatch中的安装键需shizuku赋权,如果你会用shizuku也可以。)
安装后重启手机(这是一个好习惯),打开Lspatch。在管理-应用里面会发现修补好的应用,点击后选择作用域,选择要使用的模块。
此时的模块需安装。
> 控制台模式
Lspatch还提供了另一种打包方式:从电脑打包.
通过他提供的一个jar包,打包出来本地模式或便携模式的包。
准备资源:
- JSE环境(版本不能太低) https://java.com/zh-cn
lspatch.jar
https://github.com/LSPosed/LSPatch/releases/latest- 应用、模块的apk
在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,提示UnsupportedClassVersionError
?
A2: 运行JSE版本过低。我使用的JDK:https://www.123pan.com/s/v0XlVv-vJw9d
Q3: 首次使用会提示选择一个目录来存储已修复的apk,可是没有目录?
A3: Lspatch应用设置-权限设置-读写文件权限-允许。
Q3.1: 还是不行?
A3.1: 不要在Windows Subsystem for Android 上测试。若非如此,请重启手机。
Q4: 便携模式找不到生成后的安装包?
A4: 请检查修补日志最后一行是否提示出错。新版安卓隐私政策升级,文件管理器可能无法及时读取到文件,请手动到第二步的目录下查找或重启手机。
Q5: 应用修补后按"安装"提示Shizuku服务未连接?
A5: 属正常情况。Lspatch可搭配Shizuku使用,方便卸载、安装应用等操作。没有shizuku的用户可以手动卸载原应用后手动安装修补完的应用。
The End
Yuito 2023
Lspatch使用的更多相关文章
随机推荐
- C# RulesEngine 规则引擎:从入门到看懵
说明 RulesEngine 是 C# 写的一个规则引擎类库,读者可以从这些地方了解它: 仓库地址: https://github.com/microsoft/RulesEngine 使用方法: ht ...
- 《上传那些事儿之Nest与Koa》——文件格式怎么了!
转载自:juejin - 马睿不想说话 概要 本文主要针对在使用node作为服务端接口时,前端上传上传文件至node作为中转,再次上传至oss/cdn的场景.以及针对在这个过程中,需要对同一个文件进行 ...
- Mysql之PXC高可用
PXC高可用 1.环境准备 pxc1: centos7 10.0.0.7 pxc2: centos7 10.0.0.17 pxc3: centos7 10.0.0.27 pxc4: centos7 1 ...
- spring-属性注入(外部bean方式)
xml的配置如下<bean id="userService" class="com.spring5.service.UserService"> &l ...
- 我用EasyExcel优化了公司的导出(附踩坑记录)
背景介绍 最近要改一个导出的功能,在原有的基础上,在导出一份明细数据,要求导出内容加在原有 excel 的第二个 sheet 上.考虑到数据量还比较大,干脆引入阿里的 EasyExcel 来做. 下面 ...
- 想开发DAYU200,我教你
摘要:本文主要介绍OpenHarmony富设备DAYU200开发板的入门指导. 本文分享自华为云社区<DAYU200开发指导>,作者: 星辰27. 1 概述 DAYU200开发板属于Ope ...
- Spring Boot 中使用 tkMapper
说明:基于 MyBatis 有很多第三方功能插件,这些插件可以完成数据操作方法的封装.数据库逆向工程的生成等. tkMapper 和 MyBatis-plus 都是基于 MyBatis 提供的第三方插 ...
- Latex数学公式学习
要想博客写的更详细,更好,那么具体详细的数学推导这一部分是少不了的,不仅要好看还要方便输入那些更为复杂的符号,因此学习Latex就是必不可少的啦,说不定过几天就要用嘞! 本篇文章参考自超详细 LaTe ...
- YeserCMS
这道题直接让我们查网站根目录的flag,我首先想到的是一句话木马,但是奈何找不到上传的接口啊,只好作罢, 在下载发现有个cmseasy的标识,明显是要提示我们这里是easycms,百度easycms的 ...
- 【Shell案例】【打印指定行用sed、for循环、head和tail配合使用】4、输出第5行的内容
描述写一个 bash脚本以输出一个文本文件 nowcoder.txt 中第5行的内容. 示例:假设 nowcoder.txt 内容如下:welcometonowcoderthisisshellcode ...