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. LSM设计一个数据库引擎

    Log-Structured Merge-Tree,简称 LSM. 以 Mysql.postgresql 为代表的传统 RDBMS 都是基于 b-tree 的 page-orented 存储引擎.现代 ...

  2. 架构设计 | 接口幂等性原则,防重复提交Token管理

    本文源码:GitHub·点这里 || GitEE·点这里 一.幂等性概念 1.幂等简介 编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同.就是说,一次和多次请求某一个资源会产 ...

  3. python爬虫需要掌握哪些知识点

    1.熟练掌握Python语言 2.熟练掌握JS/HTML/CSS,了解HTTP协议. 3.熟练使用chrome 4.爬虫框架 推荐几个大神的教学干货,大家共同进步! https://zhuanlan. ...

  4. Java——日期获取和日期格式化

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  5. 「Java面试题/知识点精华集」20000+字的Java基础知识篇(2020最新版) !

    本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖大 ...

  6. web自动化之alert弹窗操作

    from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from seleni ...

  7. .NET Core 反射获取所有控制器及方法上特定标签

    .NET Core 反射获取所有控制器及方法上特定标签 有个需求,就是在. NET Core中,我们想在项目 启动时,获取LinCmsAuthorizeAttribute这个特性标签所有出现的地方,把 ...

  8. Win10下安装Linux子系统-Ubuntu

    工作以来一直DotNet系偏C/S, 接触Web开发的时间也不长, 现在主要偏向Web全栈方向, 一直对Linux系统心生向往, 夜深了娃睡了, 打开老旧的笔记本来折腾一下. 准备工作 控制面板 &g ...

  9. PHP相关_几个操作记录下

    1.JSON转换 var cloneTesttaskList = <?php echo json_encode(json_encode($cloneTesttaskList));?>; v ...

  10. 《腾讯网UED体验设计之旅》读后感

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...