Android Hook原理分析--Xposed hook 原理分析

hook寓意为钩子,在编程中寓意拦截替换。

整体逻辑就是将执行的方法拦截执行替换之后再执行回去,各大框架原理不同但是过程类似。

Xposed

Xposed框架核心思想在于将Java层普通函数注册成本地JNI方法,以此来变相实现hook机制

Xposed在对java方法进行hook时,先将虚拟机里面这个方法的Method改为nativeMethod(其实就是一个标识字段),然后将该方法的nativeFunc指向自己实现的一个native方法,这样方法在调用时,就会调用到这个native方法,接管了控制权。在这个native方法中,xposed直接调用了一个java方法,这个java方法里面对原方法进行了调用,并在调用前后插入了钩子,于是就hook住了这个方法。

参考文章

https://blog.csdn.net/zhangmiaoping23/article/details/52572447?locationNum=9&fps=1

https://tech.meituan.com/2018/02/02/android-anti-hooking.html

你可能感兴趣的:(Android安全逆向知识,android,java,apache)