我希望使用 frida 绕过的应用程序是永久的,并在不运行 frida 的情况下在此代码中运行
命令示例:
frida -U -f com.xxxxxxx.package -l root.js
我想使用 apk patcher 工具,但它不起作用
在每个 Frida 版本中,您都会找到名为 “Frida Gadget” 的库,这实际上是 Frida 不是可执行文件,而是作为可以嵌入到应用程序中的库。与 frida 小工具库(例如
**frida-gadget-16.1.4-android-arm64.so
)一起**您可以嵌入一个配置文件和一个 Frida JavaScript 文件,该文件将在运行该库的应用程序上执行。
您可以重命名 frida 小工具库,例如到
libfrida-gadget.so
并将其放置在 APK 文件内的应用程序目录 /lib/arm64-v8a/
中。
将 Frida 小工具库嵌入到应用程序中,即使在未 root 的设备上也可以在运行时修改应用程序。
要集成 frida 小工具库,您必须对应用程序的 smali 代码进行少量修改:在某些时候,您必须加载 frida 小工具库(最好在应用程序启动过程的早期):
const-string v0, "frida-gadget"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
添加此代码的常见点是在主 Activity 的
clinit
方法中(参见 AndroidManifest.xml
)或应用程序类(扩展 android.app.Application
的类)。如果这些类中没有 clinit
方法,您可以添加它:
.method static constructor <clinit>()V
.registers 1
const-string v0, "frida-gadget"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
return-void
.end method