当你看到这句话的时候,电脑可以按一下Ctrl加W 手机则可以HOME键出去
本文章为本人学习记录,怕自己忘了
代码无好坏,主要看用的方面和用的人群
1.HOOK是什么
hook,翻译就是钩子。开发中一般来讲就是劫持,就是某段源码逻辑执行的过程中,通过代码手段劫持拦截执行该逻辑,加入自己的代码逻辑.
更多内容可以点击这里
2.HOOK能做什么
3.准备材料
使用工具:
Android Studio — 安装教程
Xposed installer 这里提供的是中文站
使用设备:
Root后的手机或者模拟器
没有ROOT下载VirtualXposedVirtualXposed
这里的话我使用的是模拟器,虽然VirtualXposed可以免于重启手机或模拟器,但是我模拟器重启的快啊(哈哈哈哈)
4.安装Xposed 和 Android Studio
这里标题这么小的意思是,我懒得截图,Android Studio上面给了安装教程和下载地址,Xposed 安装教程我去找一个给你们快点我
这里要说一下,部分模拟器安装Xposed 需要手动重启模拟器,或者下载专门的模拟器版本的xp框架,可以去对应模拟器的论坛搜索
5.使用Android Studio创建一个xp模块程序
我们打开Android Studio
选择Start a new Android Studio project(启动一个新的Android Studio项目)
这里我们选择Empty Activity,作为我们的界面,然后点击next,进行对项目信息的定义
1是我们的应用名
2是我们软件的包名
3是我们软件的项目地址
设置号之后点击Finish创建程序
创建好了之后我们点击左上角的android选择显示格式为project方便我们浏览项目文件
别问为啥要这个,这是祖传的手艺
接下来我们需要在build.gradle内引用xposed依赖库,然后在AndroidManifest.xml内修改此软件为xp模块
compileOnly 'de.robv.android.xposed:api:82'
compileOnly 'de.robv.android.xposed:api:82:sources'
粘贴后点击sync now等待加载(或下载),文件可能有点大,时间可能有点长,第一次嘛,次数多了就快了.
<!--表明这是一个xposed插件-->
<meta-data
android:name="xposedmodule"
android:value="true" />
<!--指定xposed的最小版本-->
<meta-data
android:name="xposedminversion"
android:value="30+" />
<!--插件的描述-->
<meta-data
android:name="xposeddescription"
android:value="幻叶工作室.叶子." />
然后我们需要在src/mian目录下添加一个assets目录,目录下添加一个xposed_init文件
可以快速的右键mian选择new后选择Directory输入assets
同样的创建xposed_init是右键assets选择new后选择file创建
下面我给了图片
然后我们创建一个类提供我们编写hook代码
这里我直接用hook作为类名
这个时候我们创建xposed_init目的就来了,我们把包名加上类名写入xposed_init
这个文件是声明主入口类
package com.hygzs.hook;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
public class hook implements IXposedHookLoadPackage {
public void handleLoadPackage(LoadPackageParam loadPackageParam) throws Throwable {
}
}
我们回到hook java类里面编写代码
我们需要继承接口IXposedHookLoadPackage和重写handleLoadPackage方法.
手机用户请打开开发者设置,从开发者设置中找到usb调试并打开,然后连接电脑
模拟器用户请打开模拟器
然后运行程序
软件安装到手机后即可看到xposed提示模块更新
至此插件模块已经创建完毕
补充一下:
使用VirtualXposed的用户可以免去重启手机,先打开VirtualXposed
点击下图的位置
选择添加应用
然后勾选你的应用并添加
然后进入xposed的框架选择,勾上应用,并重启VirtualXposed.
root用户重启手机,模拟器用户重启模拟器