ubuntu 20.04系统AOSP(Android 11)集成Frida

参考 ubuntu 20.04编译Android 11源代码&模拟器 完成Android 11源代码的编译工作,保证能编译通过。

想自己手工编译Frida源代码的话,请参照下面:

如果想直接下载对应版本的Frida库并存放到已经编译过的库位置,由于64位系统需要兼容32位应用,因此需要安装两个版本的动态库:

创建Frida Gadget库的配置文件

里面的配置内容如下:

观察Frida源代码,发现在 frida-core/lib/gadget/gadget-glue.c中配置了lib库的入口函数

这就意味着只要使用dlopen加载frida-gadget,我们就能实现对于指定应用的Hook

我们只需要监听子进程,不需要在Zygote中加载,因此只需要在源代码 frameworks/base/core/jni/com_android_internal_os_Zygote.cppcom_android_internal_os_Zygote_nativeForkAndSpecialize函数中增加加载代码:

具体添加位置如下:

编译并重新生成系统镜像:

运行镜像

选择system-qemu.img和vendor-qemu.img,这两个镜像是专门为qemu运行制作的,如果选择system.img 和vendor.img,则avd运行失败。

上面运行起来的镜像是从~/AndSrc/aosp/out/debug/target/product/generic/hardware-qemu.ini即可读取配置信息的,但是这个文件直接修改无效,我们如果需要修改参数,只能从启动参数中设置。
比如我们如果需要增大内存,开启GPU的支持,则执行如下命令:

参考链接


发布者

《ubuntu 20.04系统AOSP(Android 11)集成Frida》上有4条评论

    1. 这个需要增加JS的解析引擎来处理的,底层注册JS扩展方法到引擎层,常见的就是V8、quickjs,如果曾经开发过 React Native 的话,Facebook也开发了一套JS解析引擎,这一块还是挺多的。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注