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");
}
}); }
}

最新文章

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

热门文章

  1. 关于http的小知识
  2. linux7 上安装mongodb4.2.1操作步骤
  3. python txt文件读写(追加、覆盖)
  4. 记一次B类地址子网划分
  5. c# 方法成员
  6. Linux之python3编译安装
  7. mysql(函数,存储过程,事务,索引)
  8. js依赖mui.css生成图片验证码
  9. Vim热键总结
  10. python中set(集合),深浅拷贝以及一些补充知识点