frida是一个轻量级别的hook框架。
frida由两部分组成:一部分是运行在系统上的交互工具frida CLI,另一部分是运行在目标机器上的代码注入工具frida-server。
推荐使用python3来安装frida。
 
firda安装:
 
windows上安装frida
使用pip3安装
pip3 install frida-tools # 或使用国内源 pip3 install frida-tools -i https://pypi.tuna.tsinghua.edu.cn/simple/
安装过程遇到Running setup.py bdist_wheel for frida ...\ 会卡住,静候一阵子会好的。。。
 
windows的frida目前只支持python2.7和python3.7
 
也可以从Frida的GitHub 版本页面中获取其他二进制文件。
 
linux上安装firda
pip3 install frida-tools # 或使用国内源 pip3 install frida-tools -i https://pypi.tuna.tsinghua.edu.cn/simple/
 
顺利安装上后,就可以使用以下命令:
frida frida-kill frida-ps frida-discover frida-ls-devices frida-trace
 
0x03 frida-server
注意一点:frida-server版本要和frida版本一致。
 
源码编译安装
git clone git://github.com/frida/frida.git cd frida make
 
测试是否安装成功
1.开一个notepad.exe
2.输入如下测试代码
import frida
 
def on_message(message, data):
print("[on_message] message:", message, "data:", data)
 
session = frida.attach("notepad.exe")
 
script = session.create_script("""
rpc.exports.enumerateModules = function () {
return Process.enumerateModules();
};
""")
script.on("message", on_message)
script.load()
 
print([m["name"] for m in script.exports.enumerate_modules()])
 
测试成功:
 
查看 frida 版本号
frida --version 12.9.7
 
frida 共有6个工具:
frida frida-kill frida-ps frida-discover frida-ls-devices frida-trace
 
服务端配置
https://github.com/frida/frida/releases下载对应平台的服务端
然后解压,移动到Android设备
adb devices
 
adb push frida-server-12.9.7-android-arm /data/local/tmp/ adb shell cd /data/local/tmp/ chmod 777 frida-server-12.9.7-android-arm
 
然后启动运行,转发端口
./frida-server-12.9.7-android-arm adb forward tcp:27042 tcp:27042
这个时候就设置好了
 
基础运行
  • 查看连接到的设备
frida-ls-devices
  • 查看设备上的进程信息
frida-ps -U
 
PS
如果出现“frida.ServerNotRunningError: unable to connect to remote frida-server”的错误,试试之前的端口转发adb forward tcp:27042 tcp:27042
 
frida常用命令
frida-ps -U 查看usb设备进程列表
frida-ps -R 远程frida-server 进程列表
frida-ps -Ua 运行中APP 应用列表(系统app/用户app)
frida-ps -Uai 所有已安装的App 应用列表(系统app/用户app)
 
执行frida -U -f com.xxx.xxx 进行连接,选择一个进程,等待一段时间则进入该应用
frida -U -f com.android.browser
 
安装apk
adb install Termux.apk
 
 
下载最新adb(platform-tools)
下载:https://developer.android.com/studio/releases/platform-tools
 
ADB和Fastboot for Windows
 
ADB和Fastboot for Mac
 
ADB和Fastboot for Linux
 

firda安装和使用的更多相关文章

  1. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  2. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  3. Sublime Text3安装JsHint

    介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...

  4. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  5. gentoo 安装

    加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...

  6. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  7. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  8. 【原】nodejs全局安装和本地安装的区别

    来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...

  9. tLinux 2.2下安装Mono 4.8

    Tlinux2.2发行版基于CentOS 7.2.1511研发而成,内核版本与Tlinux2.0发行版保持完全一致,更加稳定,并保持对Tlinux2.0的完全兼容.Mono 4版本要求CentOS 7 ...

随机推荐

  1. [Asp.Net Core] Blazor WebAssembly - 工程向 - 如何在欢迎页面里, 预先加载wasm所需的文件

    前言, Blazor Assembly 需要最少 1.9M 的下载量.  ( Blazor WebAssembly 船新项目下载量测试 , 仅供参考. ) 随着程序越来越复杂, 引用的东西越来越多,  ...

  2. NIO之路1--传统BIO到NIO的演变过程

    一.BIO时代 BIO1.0版本 在jdk1.4之前,java网络编程都是采用的BIO模式,BIO全称是Blocking IO,也就是阻塞式IO 接下来就以拨打10086客服电话为例,介绍下BIO是如 ...

  3. 哈理工新生赛 马拉车+贪心 最大密度子图 AC自动机+DP

    J.Symmys Time Limit: 1000 MS Memory Limit: 262144 K Total Submit: 50 (13 users) Total Accepted: 2 (2 ...

  4. JUC整理笔记一之细说Unsafe

    JUC(java.util.concurrent)的开始,可以说是从Unsafe类开始. Unsafe 简介 Unsafe在sun.misc 下,顾名思义,这是一个不安全的类,因为Unsafe类所操作 ...

  5. 一、环境的安装Dev-C++

    1.https://sourceforge.net/projects/orwelldevcpp/?source=directory 2. 3. 4. 5.看到下面页面表示安装已完成啦

  6. Hystrix入门

    hystrix对应的中文名字是“豪猪”,豪猪周身长满了刺,能保护自己不受天敌的伤害,代表了一种防御机制,这与hystrix本身的功能不谋而合,因此Netflix团队将该框架命名为Hystrix,并使用 ...

  7. queue.Queue()

    一.构造方法 Queue是构造方法,函数签名是Queue(maxsize=0) ,其中maxsize设置队列的大小. 二.实例方法 Queue.qsize(): 返回queue的近似值.注意:qsiz ...

  8. ES[7.6.x]学习笔记(十一)与SpringBoot结合

    在前面的章节中,我们把ES的基本功能都给大家介绍完了,从ES的搭建.创建索引.分词器.到数据的查询,大家发现,我们都是通过ES的API去进行调用,那么,我们在项目当中怎么去使用ES呢?这一节,我们就看 ...

  9. Docker 入门:镜像

    主要内容: 什么是镜像 下载镜像 pull 设置下载加速源 查看镜像 上传镜像 push 什么是镜像(image) 镜像是一个文件系统,提供了容器运行时需要用到的文件和参数配置.相当于平时在使用某个软 ...

  10. 01 . 消息队列之(Kafka+ZooKeeper)

    消息队列简介 什么是消息队列? 首先,我们来看看什么是消息队列,维基百科里的解释翻译过来如下: 队列提供了一种异步通信协议,这意味着消息的发送者和接受者不需要同时与消息保持联系,发送者发送的消息会存储 ...