一、Hook类型
Hook可分为inlineHook、gotHook等
二、详解
2.1 inlineHook
代表:Frida在C层的Hook
原理:修改方法的指令,将第一条指令改为:jump xxx
2.2 gotHook
代表:爱奇艺的开源XHook
原理:so库加载完成后,会生成一张表,例如libc.so,加载完成后,生成的表为方法名、方法地址的对应关系,Hook原理即修改该对应关系表,将要Hook的方法对应的地址改为自己的地址。
2.3 Native化Hook
代表:Xposed、Frida在Java层的Hook
扫描二维码关注公众号,回复:
12776138 查看本文章
原理:修改Java方法的Method结构体,将其方法属性参数由Java改为Native,同时修改其方法地址参数。