android frida

Frida 是一个用于动态分析、调试和修改 Android 应用程序的强大工具。它的主要作用包括:

代码注入和Hooking: Frida 允许您在运行时修改和监视应用程序的行为。您可以通过Frida注入JavaScript代码到目标应用程序中,然后使用该代码来Hook(钩住)并修改应用程序的函数和方法。这对于进行应用程序的反调试、破解或逆向工程非常有用。

动态分析: Frida 提供了实时访问目标应用程序的内存和运行状态的能力。这使得您可以在应用程序运行时查看和修改内存中的数据,以进行调试和分析。这对于识别漏洞、查找恶意行为以及理解应用程序的工作方式非常有帮助。

逆向工程: Frida 可以帮助逆向工程师研究应用程序的工作原理,识别关键功能、算法和数据结构。通过Hook和监视应用程序的操作,分析者可以深入了解应用程序的内部机制。

研究安全漏洞: 安全研究人员可以使用 Frida 来识别应用程序中的安全漏洞,包括代码注入、数据泄露、非法访问等问题。Frida 可以帮助渗透测试人员评估应用程序的安全性。

自动化测试: Frida 还可以用于自动化测试,通过Hook应用程序的函数和方法,自动化执行测试用例,以确保应用程序的功能正常。

应用程序修改: Frida 允许您修改应用程序的行为,包括更改应用程序的配置、绕过某些安全检查、模拟用户输入等。这对于定制应用程序或调整应用程序的行为非常有用。

总的来说,Frida 是一个功能强大的工具,适用于各种 Android 应用程序的分析、测试和修改。然而,需要注意的是,Frida 也可以被用于恶意目的,因此在使用它时务必遵守法律和道德准则。

安装

使用Frida需要Python 3环境,同时你还需要安装好pip。

然后就可以安装frida了,使用如下的命令:

复制代码
pip install frida frida-tools 

我们还需要下载Frida的Server端,可以从Github上下载:https://github.com/frida/frida/releases。

这里我们选择Android的版本,arm是32位而arm64是64位,还有x86版本提供,根据手机的类型下载。

下载解压之后要将Server端推送到手机上,我们将其推送至/data/local/tmp/目录:

复制代码
adb push frida-server-12.7.24-android-arm64 /data/local/tmp/

使用root身份启动它。

复制代码
$ cd /data/local/tmp/
$ su
# chmod +x frida-server-12.7.24-android-arm64
# ./frida-server-12.7.24-android-arm64

验证安装是否成功

在电脑上执行命令

复制代码
frida-ps -Ua

如果打印出很多进程名信息那么安装就成功了。

编写js hook脚本

复制代码
Java.perform(function () {
    var classz = Java.use('com.android.systemui.statusbar.phone.StatusBar');


    classz.onBackPressed.implementation = function () {
        send('---------->:');
        return this.onBackPressed.call(this);
    }


});

上面是hook系统ui进程中的返回事件。写法更反射思路类似

命令行执行hook脚本

复制代码
frida -U -l ./hook.js com.android.systemui

上面指定系统ui进程名,这个名称从进程列表中获取:frida-ps -Ua

相关推荐
coder_pig4 小时前
🤡 公司Android老项目升级踩坑小记
android·flutter·gradle
死就死在补习班5 小时前
Android系统源码分析Input - InputReader读取事件
android
死就死在补习班5 小时前
Android系统源码分析Input - InputChannel通信
android
死就死在补习班5 小时前
Android系统源码分析Input - 设备添加流程
android
死就死在补习班5 小时前
Android系统源码分析Input - 启动流程
android
tom4i6 小时前
Launcher3 to Launchpad 01 布局修改
android
雨白6 小时前
OkHttpClient 核心配置详解
android·okhttp
淡淡的香烟6 小时前
Android auncher3实现简单的负一屏功能
android
RabbitYao6 小时前
Android 项目 通过 AndroidStringsTool 更新多语言词条
android·python
RabbitYao6 小时前
使用 Gemini 及 Python 更新 Android 多语言 Excel 文件
android·python