文章目录
背景
Frida由于各个平台的特性等,导致使用过程中会有各种各样的问题或者疑惑,这个文章用来集合这些问题。
问题
Q1 So未加载[已解决]
怎么在spwan
的时候hook so的地址,因为so为动态加载,此时运行脚本还没有具体内存信息,findbaseaddr为空,无法hook
是否等同于: 如何hook jni_onload?
如何Hook运行时间极短的子进程?
归类于 Hook时机问题
解决方案
- 使用setTimeout(func, delay) 函数延时
- 使用frida的Module.load()或Module.ensureInitialized()来手动加载lib
- hook libart.so中的LoadNativeLibrary()或java层的System.loadLibrary(),判断加载完成特定so后,再进行后续的hook。
- hook dl_open函数
- Hook libart.so中的
LoadNativeLibrary
代码: