app攻防系列1-Frida介绍与hook技术

admin 2025年2月7日00:20:03评论28 views字数 1858阅读6分11秒阅读模式

免责声明

由于传播、利用本公众号所发布的而造成的任何直接或者间接的后果及损失,均由使用者本人承担。LK安全公众号及原文章作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢大家!!!

请勿利用文章内的相关技术从事非法测试,由于传播,利用此文所提供的信息而造成的任何直接或者间接的后果与损失,均由使用者本人负责,文章作者不为此承担任何责任

0x01 前言

随着现在攻防环境的升级,app渗透也成为了越来越多网络安全从业者关注的重点,故此推出app渗透系列。

0x02 Frida与hook技术介绍

frida

全平台的hook框架,作为一款动态插桩工具,可以插入一些代码到原生app的内存空间去动态监视修改行为。

hook技术

可以将js等脚本插入app内存去对app逻辑实现跟踪和监视,甚至修改逻辑

在安卓平台,frida可以hook和调用java函数,hook和调用c/c++函数,可以hook精确到每一行汇编指令,可以打印和修改寄存器的值。由于frida太过全面与强大,所以很多app都会去检测frida,需要绕过检测或者换个hook框架,这个后面再提。

0x03 Frida环境搭建

frida也是分为客户端和服务端,首先需要安装客户端。前提是确保必须安装python和pip。

客户端需要安装frida与frida-tools,安装命令如下

pip install fridapip install frida-tools

检测在pc上是否安装成功

pip show frida

如图所示代表已经安装成功

app攻防系列1-Frida介绍与hook技术

pip show frida-tools

app攻防系列1-Frida介绍与hook技术

app攻防系列1-Frida介绍与hook技术

卸载frida

pip unstall fridapip unstall frida-tools

frida代码提示的配置

进入到项目根目录 运行

npm i @type/frida-gum

在这里执行完之后 可能会报错

app攻防系列1-Frida介绍与hook技术

先执行这两条命令

npm config get proxynpm config get https-proxy

如果返回的不是null,则执行下面对命令清理;如果返回的是null,直接进入到第2步。

npm config set https-proxy nullnpm config set proxy null

重新设置

npm config set registry https://registry.npmjs.org/

frida-server的配置

frida-server是手机端的frida环境,由它与电脑端frida通信,并且完成frida-agent.so的注入。

项目地址

https://github.com/frida/frida/releases/

针对手机端需要选择对应的版本 如果是模拟器就选择x86或者x64

区别app攻防系列1-Frida介绍与hook技术

mac环境下安装frida

按照步骤下载完frida 但是一直显示找不到app攻防系列1-Frida介绍与hook技术

主要是权限的问题,解决方法如下

首先卸载frida

pip3 uninstall frida-tools

然后用sudo安装

sudo pip3 install frida-tools
app攻防系列1-Frida介绍与hook技术

配置frida-server

模拟器用的是网易的mumu模拟器

要安装这个版本

https://github.com/frida/frida/releases/download/16.4.8/frida-server-16.4.8-android-x86_64.xz

在这个之前还首先要配置好mumu模拟器,记得开root权限,然后需要下载adb

使用adb查看app的包名

后续使用objection的时候会用到包名app攻防系列1-Frida介绍与hook技术

将frida-server通过adb push指令推送到mumu浏览器下的/data/local/tmp目录下,然后开启权限并启动。

adb push /Users/lkhacker/tools/app/frida/frida-server-16.4.8-android-x86_64 /data/local/tmp/frida

传上去之后给这个文件赋予777权限app攻防系列1-Frida介绍与hook技术

结果这里有个坑 x86和x64都不能执行成功

执行这个命令

getprop ro.product.cpu.abi

app攻防系列1-Frida介绍与hook技术

然后去下载arm64

查看连接

app攻防系列1-Frida介绍与hook技术

另外一种查看方式

查看进程

ps -A |grep frida

app攻防系列1-Frida介绍与hook技术

hook 我们的代码文件

ps -A |grep frida

app攻防系列1-Frida介绍与hook技术

又遇到一个坑

frida启动之后 在这里默认监听的就是55152端口

app攻防系列1-Frida介绍与hook技术

在这里连接真机不需要转发端口 但是连接模拟器需要转发端口

adb forward tcp:55152 tcp:55152

成功hookapp攻防系列1-Frida介绍与hook技术

技术交流

app攻防系列1-Frida介绍与hook技术

原文始发于微信公众号(LK安全):app攻防系列1-Frida介绍与hook技术

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月7日00:20:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   app攻防系列1-Frida介绍与hook技术https://cn-sec.com/archives/3704975.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息