前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hook框架Frida之安装踩坑日记

Hook框架Frida之安装踩坑日记

作者头像
Jayway
发布2020-07-15 15:32:36
4.3K0
发布2020-07-15 15:32:36
举报
文章被收录于专栏:卓文见识卓文见识卓文见识

一、概述 Frida,官网介绍:Dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers,是个轻量级so级别的hook框架,Hook的原理简单地说就是用一个新的函数替代掉原来的函数。

Frida可以帮助逆向人员对指定的进程的so模块进行分析。它是一款基于python + javascript 的hook框架,通杀android\ios\linux\win\osx等各平台,由于是基于脚本的交互,因此相比xposed和substrace cydia更加便捷。

本文主要记录Frida在android下面的安装过程及遇到的一些坑。

二、安装

frida由两部分组成:一部分是运行在系统上(Windows)的交互工具frida CLI,另一部分是运行在目标机器(Android)上的代码注入工具frida-server。

所以Frida的安装只需要在windows安装frida客户端和在安卓安装frida服务端。

1、客户端安装

windows上安装frida使用python自带的pip即可,命令:

pip install frida

问题1:python版本

windows的frida目前只支持python2.7和python3.7,因此使用其他版本会卡在:

Running setup.py install for frida

改用手动安装的方式运行python setup.py install仍然会出现这个问题,在2和3版本中推荐使用pip3来安装。

问题2:frida-tools

windows下安装frida时,首先要安装frida-tools,执行pip install frida-tools命令会下载并安装colorama、frida-tools、frida、wcwidth等工具。

问题3:egg文件

执行到上一步操作时由于网络原因可能会出现error报错,多试几次,直到出现下面的报错:

这步下载frida-12.10.4-py3.7-win-amd64.egg失败,需要根据提示手动下载egg文件到指定目录中。

下载后重新运行pip安装,运行到Running setup.py install for frida ...这步的时候同样会卡一会,稍等片刻即可,最后成功安装:

安装成功后会在python的Scripts目录下生成frida的各个exe文件,包括frida-trace,frida-ps,frida,frida-discover,直接在命令行运行就可调用:

问题4:pip源

使用国外源较慢,可选择国内源:

pip3 install frida-tools -i https://pypi.tuna.tsinghua.edu.cn/simple/

2、服务端安装

服务端需在到github上下载frida-server,网址为https://github.com/frida/frida/releases,frida提供了各种系统平台的server:

问题1:模拟器与真机

一个小坑,真机的arm架构和模拟器的x86差异,如果是真机需要下载-arm64.xz文件,模拟器则是-x86.xz,下载解压后,使用adb连接机器,使用push将frida-server放到手机目录/data/local/tmp,然后修改属性为可执行,以root权限启动:

可以看到如果模拟器使用的是arm类型文件,则会报错:

Not executable: 64-bit ELF file

换成-x86 server成功运行:

下面就可以使用客户端命令进行调试,如frida-ps -U列出手机上所有的进程信息:

frida-trace追踪指定的函数的调用:

问题2:版本一致

frida-server版本要和frida版本一致,否则调用js脚本会报错,pip安装客户端一般是最新版本,在GitHub上下载server版本也要选择最新版本。

最后吐槽一下GitHub下载文件的速度,如果下载太慢最好还是想办法挂个梯子。后续更新Frida的使用方法和实战案例,很全面很强大。

相关资源:

https://github.com/dweinstein/awesome-frida

http://jaq.alibaba.com/community/art/show?articleid=816

https://koz.io/using-frida-on-android-without-root/

http://www.ninoishere.com/frida-learn-by-example/

https://github.com/TheCjw/Frida-Android-Scripts

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 卓文见识 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二、安装
    • 1、客户端安装
      • 2、服务端安装
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档