当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/135425.html

相关文章:

  • Linux下的Shell编程——正则表达式入门(四)
  • 使用VisualStudio制作上位机(一)
  • 【前端从0开始】JavaSript——自定义函数
  • 如何在Windows、Mac和Linux操作系统上安装Protocol Buffers(protobuf)编译器
  • 简单介绍 CPU 的工作原理
  • UE4/5数字人MetaHuman的控制绑定资产使用
  • 二、11.系统交互
  • 敏捷管理工具/国内软件敏捷开发工具
  • Selenium环境+元素定位大法
  • Vue3 用父子组件通信实现页面页签功能
  • HCIP STP协议
  • 链表的顶级理解
  • 探索贪心算法:理解与实现JAVA语言
  • 数字孪生技术对旅游行业能起到什么作用?
  • 攻防世界-Web_php_include
  • Python Opencv实践 - 直方图显示
  • 2分钟搭建自己的GPT网站
  • deepdiff比较两个json文件数据差异性
  • 文件内容搜索工具 - Python实现
  • vue静态html加载外部组件
  • WebSocket 中的心跳是什么,有什么作用?
  • Android类加载机制
  • 微信小程序列表加载更多
  • 数据库知识
  • VUE 目录介绍
  • Selenium的基本使用
  • 数据结构-----树的易错点
  • 写之前的项目关于使用git remote -v 找不到项目地址的解决方案
  • STM32 F103C8T6学习笔记9:0.96寸单色OLED显示屏—自由取模显示—显示汉字与图片
  • 直播平台源码搭建协议讲解篇:传输控制协议TCP