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. IDEA提高开发效率的7个插件

    IDEA提高开发效率的7个插件 1. 多行编辑 先来体验一下从xml文件拷贝字段新建实体对象 一般我们为了新建多表连接后映射的 ResultMap ,耗费不少时间,那么我们就来试一试这个多行编辑 表字 ...

  2. java,netcore和nodejs api性能测试

    一. 前言 作为有点经验的码农,现在退休在家带孩子.闲来无事,想对使用过的框架(如果写语言容易引战,php是世界上最好的语言)做一个性能测试. 二. 背景 由于毕业后刚开始接触的编程语言是C#, 从a ...

  3. DOM变化后事件绑定失效

    第一个file在change时,是能够触发事件的,而第二插入的file则没有change事件.对于这个问题,有如下两种解决方法: 第一种是将绑定change事件封装成一个函数,在点击button按钮插 ...

  4. JAVA POI替换EXCEL模板中自定义标签(XLSX版本)满足替换多个SHEET中自定义标签

    个人说明:为了简单实现导出数据较少的EXCEL(根据自定义书签模板) 一.替换Excel表格标签方法```/** * 替换Excel模板文件内容 * @param map * 需要替换的标签建筑队形式 ...

  5. 查看包名和Activity的小工具

    添加到右键菜单,很方便. 做个记录:请移步原文

  6. 问答题:你下班后是选择关电脑?Or,只关闭显示器?

    首百问答的答案:jingmentudou 因为你永远不知道什么时间会被叫醒.开个远程就能避免半夜去公司了. 月尧jade 干这一行的,电脑自按下开机键开始,除了驱动会自动启动外,你需要重新检查各大运行 ...

  7. Java之预定义

    作为Java初学者的我,提供一个类似C#的预处理机制.若有不足之处,敬请各位大佬指正(感觉没有,哈哈哈哈哈哈)! Java 没有类似 C++的宏,也没有类似C#的预定义 #if...#endif C# ...

  8. JSP指令 & 中文乱码问题

    1. JSP 指令: JSP指令(directive)是为JSP引擎而设计的,     它们并不直接产生任何可见输出, 而只是告诉引擎如何处理JSP页面中的其余部分. 2. 在JSP 2.0中,定义了 ...

  9. Asp.Net Mvc基于Fleck开发的多人网页版即时聊天室

    一.项目的核心说明 1.Fleck这个是实现websocket一个比较简单第三方组件,它不需要安装额外的容器.本身也就几个接口可供调用. 2.项目是基于.net framework 4.7.2 ,在v ...

  10. Docker: GUI 应用,Ubuntu 上如何运行呢?

    操作系统: Ubuntu 18.04 运行镜像: continuumio/anaconda3, based on debian Step 1) 安装 Docker # update the apt p ...