前言

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安装完长这样:



    shizuku我们不理,目前用不着。

  2. 安装完成后,进入Lspatch,下方点击管理,点击加号:



    首次使用会提示选择一个目录来存储已修复的apk,选择自己方便调用的文件夹,并给予存储权限。

  3. 此时弹出框有两个选项:



    如果已经安装QQ,可以选择下面的"选择已安装的应用程序";

    如果未安装,选择上面"从存储目录中选择(多个)apk".

    然后在弹出的界面找到QQ(或安装包).选择完毕进入修补界面如下:

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



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

  6. 进入手机的文件管理器,查找apk



    这样,我们便得到了嵌入了qa的qq.

> 本地模式

本地模式,顾名思义只能在本地运行。

它不再嵌入模块,而只是修改应用以模块得以使用。

缺点很明显,即需要Lspatch在后台运行,应用才可正常运作。

优点是可以灵活管理模块,模块更新不需要重新打包。

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

  2. 直接开始修补。

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

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





    此时的模块需安装。

> 控制台模式

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

最新文章

  1. Azure 负载均衡和可用性集
  2. Android 解压html压缩数据
  3. spark IDEA开发环境搭建及运行问题
  4. 【每日scrum】NO.4
  5. Java获取最后插入MySQL记录的自增ID值方法
  6. Ubuntu 安装 Sun JDK
  7. Android使用HttpClient实现文件上传到PHP服务器,并监控进度条
  8. CSS特殊性
  9. ubuntu12.04 残疾人游客
  10. 使用Portainer管理Docker
  11. Bootstrap使用-1
  12. 【转】kali配置--修改IP和DNS
  13. svn linux 服务器的搭建
  14. JS截取URL地址参数
  15. Java内存泄露监控工具:JVM监控工具介绍
  16. RNN-LSTM-GRU-BIRNN
  17. [代码审计]云ec电商系统代码审计
  18. Linux 下开发环境的搭建(软件安装)
  19. Service Mesh扫盲
  20. katalon系列五:使用Katalon Studio手动编写WEB自动化脚本

热门文章

  1. Elasticsearch rest-high-level-client 基本操作
  2. .NET中的拦截器filter的使用
  3. C#自定义控件(3)—PanelHead控件
  4. 使用CRD扩展Kubernetes API
  5. kubeedge架构与核心设计---https://bbs.huaweicloud.com/webinar/100009
  6. EasyExcel对大数据量表格操作导入导出
  7. 【云原生 · Docker】Docker虚拟化技术
  8. 关于最新版本listen1 (2.1.6)的修改心得(添加下载功能)
  9. Docker原理(图解+秒懂+史上最全)
  10. js逆向之补环境常用代码