package com.example.xposedhook;
import android.util.Log;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
public class HookStatic implements IXposedHookLoadPackage {
@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {
if(loadPackageParam.packageName.equals("com.cxa.xposeddemo"));
Class<?> clazz=XposedHelpers.findClass("com.cxa.xposeddemo.Demo",loadPackageParam.classLoader);
XposedHelpers.setStaticIntField(clazz,"字段名",100);
XposedHelpers.setStaticObjectField(clazz,"字段名","字段值");
//Hook构造函数 XC_MethodHook是抽象类需要实现其方法
XposedHelpers.findAndHookConstructor(clazz,new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
Log.d("cxa","无参构造函数");
}
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
Log.d("cxa","无参构造函数后");
}
});
//Hook构造函数 XC_MethodHook是抽象类需要实现其方法
// clazz后面可以跟参数:格式String.class或者int.class传字节码:[类型.class]
XposedHelpers.findAndHookConstructor(clazz,String.class, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
param.args[0] ="cxa修改后"; //修改第一个参数
//Log.d("cxa","无参构造函数");
}
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
Log.d("cxa","有参构造函数后");
}
});
//hook函数
XposedHelpers.findAndHookMethod(clazz, "", String.class, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
Log.d("cxa","函数before");
}
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
Log.d("cxa","函数after");
}
});
}
}
xposed代码示例
转载举报文章
请选择举报类型
内容侵权
涉嫌营销
内容抄袭
违法信息
其他
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M
相关文章
-
Python数据分析入门(六):Pandas的函数应用
Python爬虫、数据分析、网站开发等案例教程视频免费在线观看https://space.bilibili.com/523606542 Python学
python 数据分析 pandas 示例代码 数据 -
Python数据分析入门(二十六):绘图分析——Tick容器
Python爬虫、数据分析、网站开发等案例教程视频免费在线观看https://space.bilibili.com/523606542 Python
python 数据分析 html 示例代码 网站开发 -
减少 try...catch,可以这样干!
背景软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半
spring boot spring java 编程语言 分布式 -
Flink教程(09)- Flink批流一体API(Connectors示例)
文章目录01 引言02 Connectors2.1 Flink目前支持的Connectors2.2 JDBC案例2.3 Kafa案例2.3.1 Kafa相关命令2.3.2 Kafka Consumer代码2.3.3 Kafka Producer代码2.4 Redis案例2.4.1 相关API2.4.2 示例代码03 文末01 引言在前面的博客,我们已经对Flink的程序模型里的Sink使用有了一定的了解了,有兴趣的同学可以参阅下:《Flink教程(01)- Flink知识图谱》《Flink教程(0
hadoop big data Flink flink kafka -
Redis 分布式锁高性能中间件 Redisson 源码分析
redisson 分布式锁(RLock)的加锁、解锁、锁续期、订阅解锁消息唤醒排队线程实现源码分析。
后端 Redis redis 加锁 lua -
Django celery6.4
celery官方网站 中文文档 示例一:用户发起request,并等待response返回。在本些views中,可能需要执行一段耗时
Django celery redis python python函数
53cd7ce92c5d 9 月前
8fe053258067 9 月前