frida-gadget使用
0x0 引言
https://frida.re/docs/gadget/ 官方链接
frida-gadget使用优点:
免root使用frida
程序反调试 反frida很强时
缺点:
需要重打包程序
frida-gadget支持的连接方式
详细使用查看官方文档
0x1 frida-gadget准备工作
真机下载arm 模拟器下载android
https://github.com/frida/frida/releases
编写一份libgadget.config.so 这里我使用的是Listen功能 可以进行交互
{
"interaction": {
"type": "listen",
"address": "127.0.0.1",
"port": 27042,
"on_port_conflict": "fail",
"on_load": "wait"
}
}
然后放入目标apk的lib库中,注意32位还是64位
0x2 为目标so添加依赖
让app在执行so文件时,加载frida-gadget.so
import lief
libnative = lief.parse("libc++_shared.so")
libnative.add_library("libgadget.so")
libnative.write("libc++_shared.so")
readelf查看
readelf -d ./libc++_shared.so |grep NEEDED
最后把so添加回去 重打包apk
0x3 连接frida-gadget
运行目标apk
连接命令 后续还可以跟-l hook脚本
frida -U Gadget