xposed代码示例
2024-09-01 09:35:59
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");
}
});
}
}
最新文章
- jQuery 正则选择器
- 访问图片可以使用闭包map
- JAVA与指针
- Python编程感悟
- Gym 101064 D Black Hills golden jewels (二分)
- 转对象(含length属性)成数组Array.prototype.slice.call(arguments)
- opnet仿真过程中SEED的概念问题 分类: opnet 2014-11-02 15:25 69人阅读 评论(0) 收藏
- JavaScript获取当前值
- Android简易实战教程--第三十三话《 AsyncTask异步倒计时》
- c# 单元测试工程如何取得当前项目路径
- 一致性 Hash 算法的实际应用
- Morris遍历-如何用空间复杂度O(1)来遍历二叉树
- jdk7和8中关于HashMap和concurrentHashMap的扩容过程总结,以及HashMap死循环
- 纯js自动批量引入js、css插件,支持自定义参数
- laravel的日志权限
- laravel 错误提示Fatal Error: Class &#39;Pheanstalk\Pheanstalk&#39; not found
- MySql详解(四)
- HTML 引用
- PHP垃圾回收机制防止内存溢出
- 慕课网access_token的获取