什么是Hook

改变程序执行流程的一种技术 在函数/方法被调用前,通过HOOK技术,先得到该函数/方法的控制权,实现该函数/方法的逻辑改写
Hook框架:
xposed:Java语言开发的,只能hook应用层(Java),开发经常需要重启设备,开发效率低。与安卓能无缝对接
frida:C语言开发的, 能Hook 安卓 iOS windows 应用层 native层,可以使用JS和Python代码完成Hook,不需要重启设备,开发效率高。与安卓的数据类型转换麻烦
Hook安卓应用层:classes.dex java代码
Hook安卓Native层:.so文件 c/c++代码

Frida 组成部分

Frida-server: 运行在设备上
Frida :Python模块
Frida-tools:提供cli工具命令 跟Frida-server交互

安装和文档

GitHub releases**
官网推荐:pip install frida-tools
直接安装frida-tools包含命令行工具和frida,无需在安装frida
ps:安装到 Running setup.py install for frida … \ 会卡主,需要等待一会。