背景:
改变系统方法、统计方法调用栈、点击事件打点上报等等,在这些需求场景,需要用到Hook技术,Xposed框架可以帮助我们实现Hook方案。
1.通过Xposed框架实现Hook
Xposed的使用有2点限制条件
1 需要Root
2 适用于Android4~Android9, 在Android10会有无法访问网络的问题
无法Root问题:使用用VitualXposed
1.1添加Xposed依赖
建立一个Android工程
app/build.gradle文件中添加xposed依赖
compileOnly 'de.robv.android.xposed:api:82'
1.1实现IXposedHookLoadPackage接口
新建一个Java类,实现IXposedHookLoadPackage接口,用来Hook方法
package com.example.test;
import android.telephony.TelephonyManager;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
/**
* Created by zhengwei on 2020/9/2.
*/
public class HookUtil implements IXposedHookLoadPackage {
@Override
public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable {
XposedBridge