Skip to content
/ EasyXposed Public template
forked from zhongqingsong/EasyXposed

本项目为Xposed项目模板。其基于Xposed框架搭建而成,集成了一些常用的功能。兼容普通和LSP版,Clone即可开始xposed!

License

Notifications You must be signed in to change notification settings

ysjhbukn/EasyXposed

 
 

Repository files navigation

EasyXposed

本项目只是用来方便编写Xposed的模块的一个项目模板,简单点说,就是一个提前准备好了所有的内容的Xposed项目模板。
使用本模板后,clone项目,然后就可以编写自己的Xposed代码啦!省去了每次写Xposed模块,都要来回折腾Xposed环境的这些问题!!
因此,我们仍然需要Xposed的配套环境。

特色

项目已转变为模板,让你拥有自己的专属的xposed项目。纯爱战士狂喜。

  1. 项目已集成Xposed的jar包,省去了因年代久远,找不到合适的jar的苦恼。
  2. 添加了一些常用的功能:如应用免重启、免debug修改等,以及各种常用的hook方法。
  3. 再也不用去纠结什么 ClassLoader 了,hook什么的全都使用字符串即可完成,简单高效!!
  4. 一些常用的hook相关的功能的封装,最大程度上的减少了代码量。

快速上手

  1. 确认自己的是哪个版本的xposed:是普通的xposed,还是LSPXposed。
  2. 然后选择对应的分支进行:master=Xposed,LSP=LSPXposed。
  3. 点击绿色的 Use this template,选择 Create a new repository
  4. 填写好自己的这个xposed项目的项目名,最后点击 Create repository from template
    比如:取名 HelloWorld。那么你的仓库中就会出现一个全新、没有git记录的,但拥有本模板所有代码的HelloWorld项目。
  5. 最后,正常Clone你的项目(如 HelloWorld),无需纠结配置问题,理论上可以直接运行。

LSPXposed(分支LSP)

这是目前使用最多的Xposed改版框架了。在此,本项目也适当的调整下项目,已适配LSP框架。

  1. 本模块此时使用,需要依赖LSP框架。其需要的环境,这里简单提及一下:
  • Magisk:推荐使用Zygisk(最新版本)
  • LSPosed:下载安装LSPosed模块,需要和Magisk匹配。(推荐安装 LSPosed-Zygisk)
  1. 编写代码
    直接进入 EasyHooker 类,然后根据实际需求,编写代码即可!
  2. 运行项目
    直接点击Run按钮,安装到手机后,去LSP里确认本模块需要对谁生效。勾选对应的应用。

普通Xposed(分支master)

  1. 安装环境
    因为使用时,本模块需要依赖Xposed,所以,需要先完成Xposed的安装。如果已经安装好了Xposed,可以跳过本步骤,到下一步。参考文档

  2. 准备模块
    使用AndroidStudio将项目到clone本地。然后,直接Build一下,此时可能自行调整下运行环境;或者会自动构建下载需要的jar包等。
    正常情况下,完成上述步骤后,点击 Run 即可正常运行起来。
    当APK安装到手机上后,即可开始到Installer里勾选上我们的这个模块。然后第一次需要重启下手机,完成模块的加载。后续编写代码后,就不用再次重启了,就像写普通代码一样,直接运行即可实现hook。

使用指南

  1. Clone项目
    根据自己的xposde框架,选择对应的分支,Create repository from template,接着clone自己的项目。
  2. 编写代码
    上述的准备工作完成后,直接进入 EasyHooker 类,然后根据实际需求,编写代码即可!
  • 填写需要hook的应用的包名
  • 编写对应的hook逻辑
  • 开始Run,就可以hook啦。不再需要什么重启操作!!!

常见错误

  1. 如果发现hook失效了,大部分原因都是xposed模块加载异常。可以尝试卸载、重新安装模块,或去Installer调整模块。
    切记,对模块级代码做了操作后,是需要正常的重启手机,正常进行的hook处理不用。
    当然,只要本模块成功过一次后,就可以模块免重启了。后续无论hook什么应用,都可以不用重启了。
  2. 项目运行不起来,大概率是gradle构建失败了。可以自行百度具体的原因。常见原因是Gradle安装失败,那么可以手动进行本地安装了:
    A. 访问Gradle的官网,然后下载对应的gradle版本
    B. 找到并进入以下路径 "C:\Users\用户名.gradle\wrapper\dists\gradle-用户自己的本地版本-all\一组字符串"
    C. 进入后,会发现可能有类似 gradle-X.Y.Z-all.zip.lck 之类的文件,之后将下载好的gradle的文件复制到上面的文件夹中(如果已经有东西了,就全部删掉)。
    D. 重启AndroidStudio,并重新打开项目,进行build。

提示说明

  1. 为了方便,目前所有的分支只支持单个应用的hook。
    如果需要切换hook其他应用,直接修改EasyHooker里的包名,然后run,hook即可立即生效,无需重启手机。
  2. 本项目只是集成了xposed内容,仍然需要手机拥有ROOT权限以及XposedInstaller等内容。
  3. 常用类
    一些提前封装好的类,方便进行代码的编写。
  • EasyHooker:整个xposed模块具体的用来进行hook逻辑处理的地方。
  • Tool:包括日志、超长日志、堆栈,以及参数信息等输出。以及最重要的获取class的封装方式。
  • Hool:封装好的一些hook的方法,目前支持整个类、单个方法、构造的简单化hook。
  1. 有任何的建议、问题,请提Issues。

About

本项目为Xposed项目模板。其基于Xposed框架搭建而成,集成了一些常用的功能。兼容普通和LSP版,Clone即可开始xposed!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%