首页 > 其他分享 >Lspatch使用

Lspatch使用

时间:2023-01-27 02:11:07浏览次数:53  
标签:模块 修补 apk Lspatch 应用 使用 安装

前言

xp模块可以使用户获得应用原本所没有的功能。
使用模块需要修改应用。对于Root用户来说,使用Lsposed是个不错的选择,也方便。
但是大多数用户没有将手机Root。
所以Lsposed的开发者做了一款功能相对不够全面,但仍能实现修改应用功能的工具:Lspatch。
Lspatch不需要Root权限运行。而且,lspatch还具备一种模块注入的模式:便携模式。
便携模式可以直接把注入模块后的应用打包。这样的应用运行不再需要依靠Lspatch,可以分享给其他人。

下面我以QQ做示例,为大家演示Lspatch的使用过程。

成品请见资源分享帖

提一嘴:安装之前切记卸载原应用(记得备份),否则签名不一致会安装失败。
操作过程中若出错,试试重启手机或将应用停止运行。


> 准备

在这里,我选择了开源的Qa模块注入到QQ中,以实现防撤回功能。

  1. Lspatch:https://github.com/LSPosed/LSPatch

  2. Qa模块(全面叫QAuxiliary):https://github.com/cinit/QAuxiliary

  3. QQ安装包:https://im.qq.com/download

  4. 一部安卓手机,可以使用模拟器,但千万不要使用安卓子系统,因为没有文件目录体系。

把上面的资源全部放到安卓手机里。注意要明确文件的位置,以便使用。

> 便携模式

便携模式可以直接把注入模块后的应用打包。
这样的应用运行不需要依靠Lspatch,可以分享给其他人。

  1. 安装Lspatch。
    lspatch安装完长这样:
    img
    shizuku我们不理,目前用不着。

  2. 安装完成后,进入Lspatch,下方点击管理,点击加号:
    img
    首次使用会提示选择一个目录来存储已修复的apk,选择自己方便调用的文件夹,并给予存储权限。

  3. 此时弹出框有两个选项:
    img
    如果已经安装QQ,可以选择下面的"选择已安装的应用程序";
    如果未安装,选择上面"从存储目录中选择(多个)apk".
    然后在弹出的界面找到QQ(或安装包).选择完毕进入修补界面如下:
    img

  4. 选择便携模式,点击"嵌入模块",选择模块qa。
    img
    img

  5. 点击右下角“开始修补”,等待修补完成。
    img

  6. 进入手机的文件管理器,查找apk
    img
    这样,我们便得到了嵌入了qa的qq.

> 本地模式

本地模式,顾名思义只能在本地运行。
它不再嵌入模块,而只是修改应用以模块得以使用。
缺点很明显,即需要Lspatch在后台运行,应用才可正常运作。
优点是可以灵活管理模块,模块更新不需要重新打包。

  1. 同便携模式1-3步,进入修补界面,选择本地模式。
    img

  2. 直接开始修补。

  3. 修补完成后,手动找到安装包安装。(lspatch中的安装键需shizuku赋权,如果你会用shizuku也可以。)

  4. 安装后重启手机(这是一个好习惯),打开Lspatch。在管理-应用里面会发现修补好的应用,点击后选择作用域,选择要使用的模块。
    img
    img
    此时的模块需安装。

> 控制台模式

Lspatch还提供了另一种打包方式:从电脑打包.
通过他提供的一个jar包,打包出来本地模式或便携模式的包。

准备资源:

  1. JSE环境(版本不能太低) https://java.com/zh-cn
  2. lspatch.jar https://github.com/LSPosed/LSPatch/releases/latest
  3. 应用、模块的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

标签:模块,修补,apk,Lspatch,应用,使用,安装
From: https://www.cnblogs.com/yuito/p/android_uselsp.html

相关文章

  • Flutter框架渲染流程与使用
    Flutter简述Flutter是一个UISDK,可以进行移动端(iOS,Android),Web端,桌面,它是一个跨平台解决方法。Flutter的特点:美观,快速,高效,开放。美观:Flutter内置了美丽的MaterialDes......
  • 7、tensorboard的使用(一)-------add_scalar()
    对应在pytorchcode文件夹里的test_tensorboard.py导入类:fromtorch.utils.tensorboardimportSummaryWriter创建实例:writer=SummaryWriter("logs")主要用到两个方法:add_i......
  • 使用GTID同步RDS到自建mysql
    使用GTID同步RDS到自建mysql这篇博客应该是我春节结束前关于工作上的最后一篇博客。。。在我上家公司里,经常做mysql传统方式下的主从同步,面试题也经常考。而......
  • docker中使用postgresql数据库
    1.拉取默认最新运行容器由于最新版删减了东西,所以会报错参考感谢以下博主让我从爬出深坑~#拉取postgreshttps://www.hangge.com/blog/cache/detail_3073.html......
  • C#异步方法中Task.WhenAll的使用
    一、说明Task.WhenAll()、Task.WhenAny()这两个与Task.WaitALL()、Task.WaitAny()是有区别的,When是异步的,Wait是同步的。Task.WhenAll():所有task完成时,task才完成,用于等待......
  • docker中使用nginx
    1.拉取镜像拉取测试浏览器测试参考#安装https://www.cnblogs.com/zhaokejin/p/15605261.html2.修改配置我们再开启一个终端,进入到nginx容器中但我们发现vim、......
  • Microsoft Edge浏览器Tampermonkey(油猴)插件的安装与使用
    打开MicrosoftEdge浏览器,点开此链接,安装油猴Tampermonkey下载安装好之后选择在工具栏中显示效果就是这样点击获取新脚本搜索学习通找到这个,并点击安装会......
  • 05 数组的使用
    数组的使用代码packagecom.zhan.base04Array;publicclassTest05{//数组的使用publicstaticvoidmain(String[]args){int[]a={1,2,3,4,5}......
  • 罗技K380搭配iPad快捷键使用
    出电池的隔离塑料纸,键盘左侧有总开关。长按F1/F2/F33秒,开启蓝牙,在设备上连接。单键F4/F7单击主屏幕F4/F7任务界面F6显示/隐藏键盘capslock切换中英文Alt长按......
  • 使用Backup Vault进行Disk备份
    Backup是每个云都必不可少的服务,Azure中的backup服务其实远不止一种,很多时候可能并不一定能很轻松的知道每种场景使用哪种备份服务比较合适,我也计划多写几篇来介绍这些备份......