1. Android逆向-Frida环境搭建

安卓APP逆向进阶-Frida介绍 函数 Hook: 可以动态 hook 应用程序内部的函数,能够检查、修改或者替换函数的行为,用于绕过应用程序的安全检查、改变应用程序的逻辑或注入自定义功能。Frida 是一款开源的动态代码检测工具,可以用于分析和修改移动应用程序的行为。应用程序检测和仪表化: 可以对应用程序进行动态检测和分析,添加日志记录、跟踪或性能分析等功能,用于调试、性能分析和复杂行为的调查。自动化和脚本化: Frida 提供了强大的脚本引擎,可以用于自动化复杂的任务和工作流,如大规模的应用程序分析、模糊测试和安全测试。 阅读详情


Frida时当下比较流程的逆向工具,其本身是开源的。在Github上可以找到项目 frida/frida: Clone this repo to build Frida (github.com)。 其官方是地址: Frida • A world-class dynamic instrumentation framework | Inject JavaScript to explore native apps on Windows, macOS, GNU/Linux, iOS, Android, and QNX

抱着对Android逆向的好奇,来对这个Frida工具做些了解且学习。

使用的OS是 Ubuntu 20.04,软件工具:JDK 13,Android Studio,python3等。

Frida环境搭建

Frida环境分为PC上的安装和设备上的安装。

PC上安装Frida

Frida安装Ubuntu下比较简单,再命令行中使用 pip 安装。

$ pip insall frida-tools

下来就是等待安装的完成。

使用的 pip 工具版本是 21.0.1,产生了错误。

Running setup.py install for frida ... error
    ERROR: Command errored out with exit status 1:
     // ...
    error: The read operation timed out
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-jsmscq3c/frida_c651e0a74bb748ada5400274e8483634/setup.py'"'"'; __file__='"'"'/tmp/pip-install-jsmscq3c/frida_c651e0a74bb748ada5400274e8483634/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-xs92o31j/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/xacsz/.local/include/python3.8/frida Check the logs for full command output.
WARNING: You are using pip version 21.0.1; however, version 22.1.2 is available.
You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.

  1. pip 版本warning.

    WARNING: You are using pip version 21.0.1; however, version 22.1.2 is available.
    You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.
    

​ 根据提示更新pip版本。

$ /usr/bin/python3 -m pip install --upgrade pip 

​ 更新后,在尝试安装Frida,就成功了。(没想到工具对python版本要求这么严格)

安装完成之后可以通过 frida --version 查看工具版本。

$ frida --version
15.1.24

测试设备的Frida

要使用Frida测试,除了在PC上安装Frida,还需要在测试机上安装server端Frida。从github上下载:Releases · frida/frida (github.com)。

在此之前需要找到与测试机(这里是Android)的CPU架构匹配的版本。

通过使用指令**getprop ro.product.cpu.abi**获取设备CPU架构信息。例:Android机设备时 armeabi-v7a,需要下载arm版本。

$ adb shell
$ getprop ro.product.cpu.abi
armeabi-v7a

这样就可以知道CPU采用的是ARM架构,32位。若还想知道更多CPU信息,可以使用查看 /proc/cpuinfo 文件内的内容,包含CPU核心数等。

$ adb shell
$ cat /proc/cpuinfo

查看CPU是几位地址。我这里测试机显示信息是32位。

processor	: 0
model name	: ARMv7 Processor rev 5 (v7l)
BogoMIPS	: 38.40
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xc07
CPU revision	: 5

// ...

从上述结果看到的是32位架构,因此需要下载的版本是 frida-server-15.1.24-android-arm.xz,这个版本需要PC上安装的版本号一致。

将xz文件减压缩后,push到设备到 /data/local/tmp目录,并修改权限。

$ 7z x frida-server-15.1.24-android-arm.xz  # PC机减压缩
$ adb shell
$ adb push [path_to_frida] /data/local/tmp/ # 将frida文件push到设备
$ chmod 777 frida-server-15.1.24-android-arm  # 修改文件权限

PC端,测试机端的Frida都安装完成之后,就可以开始使用了。(版本是 15.1.24)

Python环境

另外需要补充说的是,Frida使用了Python,javascript等语言,因此需要在PC上安装Python环境。

安卓逆向之过frida检测总结版 启动一个服务(fs1),监听。使用adb设置端口转发,使得本地计算机的6666端口可以与 Android 设备的6666端口通信。使用 Frida 连接到这个服务,指定要注入的目标应用程序(wuaipojie)和要加载的脚本(hook.js。 阅读详情

相关推荐

Frida 16.1.4安卓逆向环境搭建与Hook实战指南

动态代码插桩技术是软件逆向分析与安全测试中的核心方法,它允许在程序运行时注入自定义代码,实时监控和修改其行为。其原理是通过向目标进程注入JavaScript或Python脚本,实现对函数调用、内存访问等操作的拦截与处理。这项技术的核心价值在于能够绕过静态分析的局限性,直接观察程序动态执行逻辑,广泛应用于漏洞挖掘、协议分析、算法还原等场景。本文聚焦于安卓平台,详细讲解如何利用Frida这一主流动态插桩框架,通过配置清华源加速安装,并结合版本匹配策略(如Frida 16.1.4与Frida-tools 12.3

weixin_29741447的博客 864

Android反frida注入检测的demo

Android反frida注入检测的demo,端口检测,libc检测。

Android逆向 Pixel1 Frida和抓包环境搭建

安装 Pixel1系统 # 1. 手机进入bootloader模式 adb reboot bootloader # 2. 在电脑上解压映像压缩文件,并使用命令行进入解压后的映像目录 cd /d E:\Download\ROOTENV\Pixel1\pixel_sailfish_fart_8.1.0_r1_20200325\sailfish-opm1.171019.011 # 3. 命令行执行./flash-all.sh(Mac/Linux) 或者 ./flash-all.bat(Windows) flas

zhoumi_ 1608

Android之Frida框架完全使用指南

文章目录Frida简介环境搭建python安装与虚拟环境配置Frida安装配置代码提示Server环境配置Frida Hook执行HOOKJava层hookHook普通方法重载方法构造方法修改类字段hook内部类和匿名类枚举所有类和方法hook动态加载的DexClassNative层hookhook有导出函数hook无导出函数 Frida简介 Frida是一款基于Python + JavaScript 的hook框架,本质是一种动态插桩技术。可以用于Android、Windows、iOS等各大平台,其执行脚

鬼手的博客 2万+

Frida RPC实战指南——夜神模拟器环境搭建与调试技巧

本文详细介绍了如何在夜神模拟器中搭建Frida RPC环境并进行实战调试。内容涵盖从模拟器安装、ADB配置,到Frida Server部署、RPC脚本编写的完整流程,并提供了常见问题排查与进阶技巧,帮助安全分析及逆向工程人员高效构建自动化交互与分析平台。

weixin_28432777的博客 124

安卓逆向环境搭建:用清华源快速搞定Frida 16.1.4 + Frida-tools 12.3.0黄金组合

本文详细介绍了如何快速搭建安卓逆向开发环境,重点推荐Frida 16.1.4与frida-tools 12.3.0的黄金组合配置。通过使用清华源加速安装,提供从环境准备、版本锁定到设备连接的全流程指南,帮助开发者避开常见陷阱,三分钟内完成稳定可复现的逆向环境搭建。

weixin_29248653的博客 163

【亲测免费】 强大的动态代码插桩工具:StrongR-Frida-Android

强大的动态代码插桩工具:StrongR-Frida-Android 项目简介 是一个基于 Frida 的开源 Android 动态代码插桩框架,由 CrackerCat 创建并维护。该项目旨在帮助安全研究人员、开发者和逆向工程师在运行时对 Android 应用进行代码注入,以便于调试、检测或修改应用行为。 技术分析 Frida 是一个流行的动态代码插桩工具,它允许你通过 JavaScript 插入...

gitblog_00091的博客 1121

Frida Hook入门指南:如何修改APK方法返回值(Android逆向小白必看)

本文为Android逆向新手提供了一份详细的Frida Hook入门指南,通过一个修改APK方法返回值的实战案例,手把手教你从环境搭建、靶场应用创建到编写Hook脚本的全过程。文章深入浅出地讲解了Frida的核心原理,并演示了如何让一个简单的加法方法返回指定值(如将1+2的结果改为88),是掌握动态调试和运行时修改技术的绝佳起点。

red88的博客 677

学 Frida 安卓逆向之快速搭建 Frida 安卓逆向环境

这段时间空闲的时间一直在跟着肉丝姐补课,手残把手机搞崩了,借着这个机会写一篇文章记录下如何从零完成 Frida 安卓逆向环境的搭建。按照肉丝姐的教程,非常顺利的完成了准备好这些工具以及相关的软件包之后开始刷机。相关的软件放在后台,公众号后台回复20200530获取。

A_991128a的博客 2336

Android逆向实战:Frida在夜神模拟器上的环境搭建与调试入门

本文详细介绍了如何在夜神模拟器上搭建Frida环境进行Android逆向分析,包括模拟器版本选择、系统配置优化、Frida服务端部署及连接测试等关键步骤。通过实战案例展示Frida的动态插桩特性,帮助开发者快速掌握Hook技术,提升App逆向分析效率。

weixin_30263073的博客 785

Frida动态Hook实战:逆向分析Android应用付费功能与授权校验

在移动应用安全与逆向工程领域,动态分析技术是理解应用内部运行机制的关键手段。其核心原理在于通过注入代码,实时监控和修改目标进程的内存状态与函数调用,从而揭示应用逻辑。这项技术的核心价值在于能够穿透代码混淆与加固,直接观察运行时行为,对安全评估、漏洞挖掘和功能理解至关重要。典型的应用场景包括分析应用的授权验证流程、通信协议以及核心算法实现。本文聚焦于使用Frida这一主流动态分析工具,结合网络抓包与静态分析,深入剖析一款图像处理应用的付费功能校验机制,详细展示了从环境搭建、关键函数定位到网络层Hook的完整实

weixin_32234493的博客 773

适用于Android的反检测版本frida-server。-Android开发

适用于Android的反检测版本frida-server。 strongR-frida-android用于Android的反检测版本frida-server。 遵循上游自动构建。 Git补丁模块名称frida-core 0001-string_frida_rpc.patch frida-core 0002-io_re_frida_server.patch frida-core 0003-pipe_linjector.patch frida-core 0004-io_frida_agent_so.patch frida-core 0005-symbol_frida_agent_main_thread.js补丁frida-core .patch frida-core 0007-thread_gmain.patch frida-core 0008-protocol_unexpected_command.patch下载版本

Frida 16.1.0 Android安全分析实战:从环境搭建到高级Hook技巧

动态代码插桩技术是现代移动安全分析的核心方法之一,它允许安全研究人员在目标应用运行时注入自定义代码,实时监控和修改程序行为。其原理是通过在内存中修改目标进程的执行流,实现函数拦截、参数监控和逻辑篡改。这项技术的核心价值在于能够穿透代码混淆和加固防护,直接分析应用的真实逻辑,极大地提升了逆向工程和漏洞挖掘的效率。在Android安全领域,Frida作为主流的动态插桩框架,凭借其JavaScript脚本驱动的灵活性和跨平台支持,已成为自动化安全测试、隐私合规检测和恶意软件分析的标准工具。本文聚焦Frida 16

weixin_29323273的博客 234

跟肉丝姐学 Frida 之 快速搭建 Frida 安卓逆向环境

快速搭建 Frida 安卓逆向环境这段时间空闲的时间一直在跟着肉丝姐补课,手残把手机搞崩了,借着这个机会写一篇文章记录下如何从零完成 Frida 安卓逆向环境的搭建。按照肉丝姐的教程,非...

咸鱼学Python的博客 3843

android frida 逆向,[原创]Frida从入门到入门—安卓逆向菜鸟的frida食用说明

1. 概述Frida是个轻量级so级别的hook框架,它可以帮助逆向人员对指定的进程的so模块进行分析。它主要提供了功能简单的python接口和功能丰富的js接口,使得hook函数和修改so编程化,值得一提的是接口中包含了主控端与目标进程的交互接口,由此我们可以即时获取信息并随时进行修改。使用frida可以获取进程的信息(模块列表,线程列表,库导出函数),可以拦截指定函数和调用指定函数,可以注入代...

weixin_33331978的博客 2316

strongR-frida-android:适用于Android的反检测版本的frida-server

strongR-frida-android 按照上游进行自动修补,并为Android构建反检测版本的frida-server。 跟随FRIDA上游自动修补程序,并为Android构建反检测版本的frida-server。 提示:不要分叉该存储库 补丁 模块 姓名 frida-core 0001-string_frida_rpc.patch frida-core 0002-io_re_frida_server.patch frida-core 0003-pipe_linjector.patch frida-core 0004-io_frida_agent_so.patch frida-core 0005-symbol_frida_agent_main.patch frida-core 0006-thread_gum_js_loop.patch frida-core

跟肉丝姐学 Frida 安卓逆向之快速搭建 Frida 安卓逆向环境

这段时间空闲的时间一直在跟着肉丝姐补课,手残把手机搞崩了,借着这个机会写一篇文章记录下如何从零完成 Frida 安卓逆向环境的搭建。按照肉丝姐的教程,非常顺利的完成了准备好这些工具以及相关的软件包之后开始刷机。相关的软件放在后台,公众号后台回复20200530获取。

ZL_1618的博客 1438

移远EC20模块USB模式切换的底层逻辑与驱动适配探秘

本文深入探讨了移远EC20模块USB模式切换的底层逻辑与驱动适配机制,详细解析了AT命令控制下的USB0与WWAN0模式差异。通过分析USB协议栈、内核驱动框架及网络子系统的交互,提供了模式切换的完整操作流程和常见问题解决方案,助力开发者优化4G通信模块在嵌入式设备中的稳定连接。

cc789的博客 845
上一篇: 2. HarmonyOS工程结构
下一篇: 2. Android逆向-Frida示例
Zen@sz
博客等级 码龄18年 264粉丝 145原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zen@sz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值