Frida可以将JS脚本注入Android app进程,从而实现动态更改app行为。
##PC端环境配置
Python + JavaScript
安装frida(Python bindings)和frida-tools(命令行工具)
pip install frida
pip install frida-tools
##手机端环境配置
下载对应版本的frida-server
将frida-server放入手机并运行
adb push frida-server /data/local/tmp/
adb shell "chmod 755 /data/local/tmp/frida-server"
adb shell "data/local/tem/frida-server &"
##编写脚本
JavaScript API详见
常用语法:
- Java.use(className)
获取类的JavaScript wrapper(即包装Java类) - $new()
调用构造器 - $dispose()
清除实例 - Java.scheduleOnMainThread(fn)
在VM主线程中运行fn方法 - Java.choose(className, callbacks)
枚举Java堆中存活的实例 - Java.cast(handle, kl