Spawn模式
1 | 复制代码 隐藏代码 |
attach模式 :
1 | 复制代码 隐藏代码 |
Hook框架模板
1 | 复制代码 隐藏代码function main(){ |
6.Frida常用API
1.Hook普通方法、打印参数和修改返回值
1 | 复制代码 隐藏代码//定义一个名为hookTest1的函数 |
2.Hook重载参数
1 | 复制代码 隐藏代码// .overload() |
3.Hook构造函数
1 | 复制代码 隐藏代码function hookTest3(){ |
4.Hook字段
1 | 复制代码 隐藏代码function hookTest5(){ |
5.Hook内部类
1 | 复制代码 隐藏代码function hookTest6(){ |
6.枚举所有的类与类的所有方法
1 | 复制代码 隐藏代码function hookTest7(){ |
7.枚举所有方法
1 | 复制代码 隐藏代码function hookTest8(){ |
8.主动调用
静态方法
1 | 复制代码 隐藏代码var ClassName=Java.use("com.zj.wuaipojie.Demo"); |
非静态方法
1 | asd 复制代码 隐藏代码 var ret = null; |
注入模式 | 描述 | 命令或参数 | 优点 | 主要用途 |
---|---|---|---|---|
Spawn模式 | 将启动App的权利交由Frida来控制,即使目标App已经启动,在使用Frida注入程序时还是会重新启动App | 在CLI模式中,Frida通过加上 -f 参数指定包名以spawn模式操作App | 适合于需要在App启动时即进行注入的场景,可以在App启动时即捕获其行为 | 当需要监控App从启动开始的所有行为时使用 |
Attach模式 | 在目标App已经启动的情况下,Frida通过ptrace注入程序从而执行Hook的操作 | 在CLI模式中,如果不添加 -f 参数,则默认会通过attach模式注入App | 适合于已经运行的App,不会重新启动App,对用户体验影响较小 | 在App已经启动,或者我们只关心特定时刻或特定功能的行为时使用 |