1.Frida常用api大全
Frida常用api大全
完整内容及源码关注公众号:ReverseCode,发送冲
静态函数使用方式为 "use",而动态函数则通过 "choose" 来调用。
在修改变量时,在线制作 源码静态变量使用 "use",动态变量则使用 "choose"。
构造函数的主动调用可以使用Hook,枚举类的所有方法则需要遍历类的每个成员函数。
当方法名被混淆时,可以使用编码后的字符串hook,进行打印类名。云雁源码如遇到特殊不可见字符,使用编码后的字符串进行hook。
通过wallbreaker可以枚举所有类,获取指定包下所有类的接口实现。在多个ClassLoader环境下,mario 复刻源码可以枚举指定类所有关联的接口实现和父子类关系。
Hook Char&ByteHook、MapHook、重载Hook、内部类Hook、源码笔记04匿名类Hook、枚举类Hook,以及动态加载dex都是Frida中常用的方法。
在经常遇到加壳app的情况下,可能无法正确找到正常加载app类的源码笔记031classloader,这时可以使用动态加载dex的方法解决。
调用栈的打印可以帮助我们跟踪类的调用路径,手动注册类Hook可以在特定场景下实现功能。然而,如果在主线程运行时出现错误,如on a thread that has not called Looper.prepare(),需要进行适当的错误处理。
在过滤打印时,有时需要禁止退出。修改设备参数请求调用栈上下文时,需要确保正确使用Context。
RPC(Remote Procedure Call)是另一种调用远程服务的方法,通常需要进行强制类型转换以确保数据的正确传输。
常用算法如base编码,可以使用常用转换模板进行快速实现。
本文由博客一文多发平台 OpenWrite 发布!