由于工作一直会遇到frida来执行各种Hook,现在梳理整个frida的相关使用场景。由于安装的资料以及文档网上已经特别多了,本系列教程忽略相关安装步骤。
编写C函数
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char g_s[100];
char* fun()
{
strcpy(g_s, "abc ");
return g_s;
}
此函数简单的输出字符串,字符串为"abc"。
生成可执行文件
通过ndk的clang生成可执行文件
C:\Users\g\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\aarch64-linux-android21-clang a.c -o a -shared C:\Users\g\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\lib\aarch64-linux-android\21\liblog.so
文件移动到手机内
将文件push到手机内执行frida
adb push a /data/local/tmp
frida调用
由于frida启动需要绑定一个进程,我们可以直接运行任意一个app来挂起firda。
现在可以直观的看到frida调用c方法调用成功。