运行 Frida 在没有客户端的情况下挂钩 system_server
Run Frida hooks on system_server without a client
我正在使用 Frida,我想挂接一个 system_server 方法,但我的计算机上没有 Frida 客户端 运行。我希望整个东西都在设备上。我将不得不在一天的工作中收集数据(可能也没有任何网络连接)。我知道 frida-gadget 但 frida-gadget 在 /data/app/<APP_NAME>/lib
下查找其配置文件,而 system_server 没有这样的(可写)目录。有什么解决方法吗?我当然也会考虑非 frida 解决方案。
从 https://github.com/frida/frida/releases 下载 frida-inject,在设备上推送 & chmod
./frida-inject -p `pidof system_server` -s /data/local/tmp/script.js --runtime=v8
其他 CLI 选项@https://github.com/frida/frida-core/blob/master/inject/inject.vala#L12
编辑:
对于小工具,您需要用 frida-gadget.so
重新打包(& 签名)apk
并以某种方式将小工具加载到内存中。
我使用的方法是找到 welcome-activity 的 c'tor 并插入使用 java.lang.System.loadLibrary
加载 so
的 smali
代码。
这就是我找到 activity
的方法
$ aapt dump badging $APK | grep "launchable-activity:" | grep -Po "(?<=name=').*?(?=')"
aapt 是 android sdk
的一部分
您将需要增加局部变量.. 并处理它是否是静态 c'tor(或不是),但主要是 smali
const-string v0, "frida-gadget"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
我正在使用 Frida,我想挂接一个 system_server 方法,但我的计算机上没有 Frida 客户端 运行。我希望整个东西都在设备上。我将不得不在一天的工作中收集数据(可能也没有任何网络连接)。我知道 frida-gadget 但 frida-gadget 在 /data/app/<APP_NAME>/lib
下查找其配置文件,而 system_server 没有这样的(可写)目录。有什么解决方法吗?我当然也会考虑非 frida 解决方案。
从 https://github.com/frida/frida/releases 下载 frida-inject,在设备上推送 & chmod
./frida-inject -p `pidof system_server` -s /data/local/tmp/script.js --runtime=v8
其他 CLI 选项@https://github.com/frida/frida-core/blob/master/inject/inject.vala#L12
编辑:
对于小工具,您需要用 frida-gadget.so
重新打包(& 签名)apk
并以某种方式将小工具加载到内存中。
我使用的方法是找到 welcome-activity 的 c'tor 并插入使用 java.lang.System.loadLibrary
加载 so
的 smali
代码。
这就是我找到 activity
的方法$ aapt dump badging $APK | grep "launchable-activity:" | grep -Po "(?<=name=').*?(?=')"
aapt 是 android sdk
的一部分您将需要增加局部变量.. 并处理它是否是静态 c'tor(或不是),但主要是 smali
const-string v0, "frida-gadget"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V