package com.sf.myapplication;import android.app.NotificationManager;import android.content.Context;import android.util.Log;import java.lang.reflect.Field;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;class SystemServiceHookUtil {  public static void hookNMS(MainActivity context) {    try {      NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);      Method getService = NotificationManager.class.getDeclaredMethod("getService");      getService.setAccessible(true);      Class iNotiMngClz = Class.forName("android.app.INotificationManager");      Object proxyNotiMng = Proxy          .newProxyInstance(context.getClass().getClassLoader(), new Class[]{iNotiMngClz}, new InvocationHandler() {                @Override                public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {                  Log.d("invoke(). method:{}", method.getName());                  return null;                }              });      Field sServiceField = NotificationManager.class.getDeclaredField("sService");      sServiceField.setAccessible(true);      sServiceField.set(notificationManager, proxyNotiMng);    } catch (Exception e) {      e.printStackTrace();    }  }}

HOOK注意事项:

  • Hook 静态变量和单例,因为一旦创建对象,它们不容易变化,非常容易定位。

  • 考虑 Android API 的变化,注意做好兼容

更多相关文章

  1. 访问http资源之HttpUrlConnection get、post请求
  2. Android(安卓)之 ListView使用BaseAdapter展示列表
  3. ContentObserver监听ContentProvider数据变化
  4. Android(安卓)AlertDialog 获取PositiveButton的控制权
  5. AndroidGUI13:ViewTreeObserver的常用技巧
  6. Android(安卓)IOC
  7. Android:静态注册BroadcastReceiver
  8. 编译cubieboard android 源码过程详解之(七):lichee build
  9. Android(安卓)Studio 初次见面(AVD加速)

随机推荐

  1. Selector的一些state使用
  2. Android Binder机制学习总结(二)-Driver
  3. Android C 语言读取系统属性
  4. Android ImageView实现上一页,下一页图片
  5. 在ListFragment中使用base-adapter
  6. 使用bitmap缩略图,解决图片大小超过预算的
  7. Android Activity四种加载方式
  8. android 学习之安装
  9. Android(安卓)databinding RecycleView i
  10. UI控件--ImageView和ImageButton