来自XDA论坛:Xposed is a framework that allows users to easily apply add-ons (called Modules) to the ROM. Rather than flashing a new ROM to get a specific feature, you can use Xposed to add individual features to whatever ROM you’re using, or even just the stock ROM.
Xposed 是一个允许用户轻松将附加组件(称为模块)应用到安卓系统的框架。 您可以使用 Xposed 将单个功能添加到您正在使用的任何安卓系统,不需要刷新系统就可以获得特定功能。
而使用Xposed的必要前提是,手机需要root。而国内厂商除了小米外,其他厂商(华为、荣耀、OPPO、vivo等)几乎都没有开放bootloader,更不用说root权限了。因此又出现了一种免root框架-太极,不过太极操作相对于普通软件又多了许多的步骤,使用起来相对要麻烦些。而如今,xpatch提供了一种很好的解决方案,将xposed模块打包进apk包中,实现了免root使用xposed框架,也不需要多安装app。
Xpatch用来重新签名打包Apk文件,使重打包后的Apk能加载安装在系统里的Xposed插件,从而实现免Root Hook任意App。其原理是对Apk文件进行二次打包,重新签名,并生成一个新的apk文件。 在Apk二次打包过程中,插入加载Xposed插件的逻辑,这样,新的Apk文件就可以加载任意Xposed插件,从而实现免Root Hook任意App的Java代码。
实际上,Xpatch的使用是非常方便的,仅需一行指令,就可以自行制作自己想要的内置模块app,在前几天我连续发布了三款利用此技术重新打包的软件
哔哩哔哩6.22版本 知乎8.5.0版本 百度贴吧12.19.1版本,反响很是不错,不过授人以鱼不如授人以渔,本身xpatch的制作非常简单,有电脑都能做。故有了今天的教程
一、运行环境
需下载java并安装,目前没看到有特定java版本才能运行的要求,java17即可
java17官方下载地址:https://download.oracle.com/java ... windows-x64_bin.exe 点击直接下载java17
二、软件下载
xpatch github地址:https://github.com/WindySha/Xpatch 点击跳转Xpatch github
lspatch github地址:https://github.com/LSPosed/LSPatch 点击跳转lspatch github
软件apk文件下载 推荐使用应用汇网页版,可以直接下载apk文件也可以查找以前版本
本文将以lspatch作为例子教学,lspatch是xpatch的一个分支,不过是使用lsposed作为 Hook 框架,其效果及稳定性等较xpatch要强,故很多xposed作者都比较推荐
三、使用教程(初级)
1.下载lspatch的jar文件
屏幕截图 2022-03-06 103422.jpg (6.25 KB, 下载次数: 0)
下载附件
2022-3-6 10:34 上传
2.打开cmd,并进入你所下载的jar文件所在目录(切换盘符:例如切换至D盘,则直接输入 D: 然后回车即可。进入目录 cd 目录名)
屏幕截图 2022-03-06 103615.jpg (37.37 KB, 下载次数: 0)
下载附件
2022-3-6 10:36 上传
3.下载你要制作的软件apk文件以及xposed模块apk文件
在此我们以知乎为例,正好知乎的知了模块更新了
我们打开应用汇,搜索知乎,进入软件主界面,注意要看软件版本和你下载的模块是否兼容,一般模块作者都会写明他的模块支持哪些版本。
[color=]下载保存到和jar文件的同一目录
屏幕截图 2022-03-06 104002.jpg (143.14 KB, 下载次数: 0)
下载附件
2022-3-6 10:40 上传
屏幕截图 2022-03-06 104159.jpg (54.21 KB, 下载次数: 0)
下载附件
2022-3-6 10:41 上传
模块apk文件也下载并放于jar文件同一目录
[color=]如果你想后面的过程简单一些,请将你下载的apk文件重命名
。如图所示
屏幕截图 2022-03-06 104435.jpg (9.33 KB, 下载次数: 0)
下载附件
2022-3-6 10:44 上传
4.回到cmd,根据下面的模板输入指令
[Java] 纯文本查看 复制代码java -jar lspatch.jar 【软件文件名】 -m 【xposed模块文件名】 -l 2
例如我要制作知乎的,我就在cmd窗口中输入 java -jar lspatch.jar zhihu.apk -m zhiliao.apk -l 2,按下回车键即可
屏幕截图 2022-03-06 105008.jpg (35.63 KB, 下载次数: 0)
下载附件
2022-3-6 10:50 上传
等待java程序自动生成重新打包的apk文件,出现Done之后,在和jar文件的同目录下就会有一个新的apk文件,这个文件就是打包完成且内置了模块的apk安装包,至此你就成功制作了一个内置xposed模块的软件了,此时你就可以将apk文件传到你手机内进行测试了。部分模块的设置内容在其模块app中而并非集成在软件中(例如皮皮虾助手的设置需要安装皮皮虾助手app,皮皮虾中是看不到设置的)
三、使用教程(高级)
我们也可以在重新打包的时候增加一些参数,以下均复制于lspatch当中的help内容
-h,--帮助
打印此消息
-r, --allowdown
允许通过将 versionCode 覆盖为 1 来降级安装(在大多数情况下,应用仍然可以获得正确的版本代码)
默认值:假
-d, --debuggable
将应用设置为可调试
默认值:假
-m,--嵌入
将提供的模块嵌入到 apk
默认: []
-f,--强制
强制覆盖存在的输出文件
默认值:假
- -manager
使用管理器(不能使用嵌入模块)
默认值:假
-o,--输出
输出目录
默认: 。
-l, --sigbypasslv
签名绕过级别。 0(禁用)、1(pm)、2(pm+openat)。 默认 0
默认值:0
--v1
使用 v1 签名进行签名
默认值:假
--v2
使用 v2 签名进行签名
默认值:真
--v3
使用 v3 签名进行签名
默认值:真
-v,--详细
详细输出
默认值:假
[color=]五、常见报错解决
屏幕截图 2022-03-06 111522.jpg (38.96 KB, 下载次数: 0)
下载附件
2022-3-6 11:15 上传
The source apk file does not exit. Please provide a correct path.
此错误意思是你输入的文件名(文件路径)有问题,重新检查输入的文件名或文件路径
其他报错由于还没遇到,待发现再补充
六、注意事项
[color=]1.对于使用了签名校验的应用,使用Xpatch得到的apk可能无法启动,或者无法获取到网络数据,比如优酷,趣头条等。
[color=]2.根据这几天发布软件的反馈,华为和荣耀设备对于此类软件的兼容性非常差,基本是没法用,具体原因不再赘述
[color=]3.由于签名更改,QQ登录、微信登录、应用内直接分享是不可用的,此问题几乎无解
[color=]4.QQ、微信、支付宝等软件对于xposed模块几乎是零容忍,使用xposed模块可能会造成账号封禁,请悉知!
[color=]5.
[color=]Xposed Hook框架暂时不支持Dalvik虚拟机。故此类软件在虚拟机上几乎是无法运行
[color=]6.部分模块报错请咨询模块提供者,可以看看他们的讨论群或者Github
[color=]7.原版应用和xpatch应用不能覆盖安装,因为签名不同必须卸载重新安装,但xpatch应用可以覆盖安装无需卸载重装。
[color=]8.本文方法只提供学习,请勿用于违法违规行为
[color=]后记
首先很感谢如今的安卓、java开发者,为发烧友制作出了丰富多彩的第三方内容,为对抗软件臃肿、广告做出了非常大的贡献。楼主也只是一个搬运工,做出的贡献微乎其微。也希望国内安卓生态能够越来越好。关于安全性的问题,首先xpatch、lspatch打包工具均为开源,大部分模块也是开源,如果有危险代码很快就会有大牛发现,所以各位是可以安心使用的。Xpatch有一个安卓app,之前使用过几次发现效果不好,也不知道是什么原因造成的,制作出的app无法安装,故还是用电脑制作了。本文可能有错误的地方,欢迎各位朋友指出,小的虚心受教!
[color=]本文也会在其他平台发布,包括但不限于酷安社区、vx等,转载请注明来源