代理模式进阶 -- Hook机制

** 使用场景 **
方法增强,进行API Hook进而达到变更系统方法的需求:增加日志,进行监控,添加缓存。
方法拦截。代理方法修改原方法的参数和返回值。

Hook 的最关键的步骤其实是找到Hook点,只有找到这个点才能进行接下来的注入。所以细心找到这个关键点非常重要。
寻找Hook点,原则是静态变量或者单例对象,尽量Hook pulic的对象和方法,非public不保证每个版本都一样,需要适配。

参考文献

https://www.jianshu.com/p/b30ea19c444b

https://github.com/tiann/understand-plugin-framework 理解插件化GitHub

https://blog.csdn.net/eastmoon502136/article/details/79366943

https://jasonzhong.github.io/2017/04/19/Android-Hook-%E6%9C%BA%E5%88%B6-%E5%9F%BA%E7%A1%80/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,642评论 2 45
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    wgl0419阅读 6,425评论 1 9
  • 转眼已进入8月份,转眼也将立秋,这可是有史以来第一次8月份就立秋啊,可是我们的补课还有一半,今天仅仅是第1...
    李科杰阅读 140评论 0 0
  • 只见一个人影从黑暗中走出来。周宇问他:“你是谁?从哪里来?来干啥呢?”“我就不告诉你,怎么着?”那个人影做着鬼脸对...
    童柯馨阅读 144评论 0 0
  • JavaScript的产生及其发展 JavaScript是一种基于对象(Object)和事件驱动(Event Dr...
    阳谋家阅读 368评论 0 0