Frida是什么

  我觉得官网已经说得很清楚了。简单的说就是一款动态代码检测工具,可用于各种主流操作系统,这里主要讨论的是动态检测Android系统里面代码运行情况。

  Android版的Frida环境的搭建主要分为两个部分,一部分是运行在Android机器上的代理工具 frida - server,另一部分是Windows系统用Python PIP安装了发指令的工具 frida - CLI,下面 frida-server我简称为Android端、frida CLI我简称为Windows端。把这两端的环境都部署好后,就能通过Windows向Android发送指令了。

分类如下:

  • frida - server (相当于Android系统里面安装了一个代理工具)
  • frida - CLI (指在Windows系统用Python PIP安装了发指令的工具)

frida - CLI的其它替代方案:

  我这里使用Window系统的Python语言,同理你可以切换成Linux、Mac OS等其他操作系统,只要能安装Python环境即可。

Android端安装步骤

根据CPU架构选择frida-server

  Android手机主要是安装一个 frida-server,安装前,但是需要根据不同的CPU架构去选择 frida-server,其实也可以从宏观的层面上看出Frida的核心功能就是监管CPU、内存的操作,现在Android主流的CPU架构分类为 x86 和 arm 架构的,那么怎么区分自己Android手机的CPU架构呢? 跟着我敲一行命令即可:

adb shell getprop ro.product.cpu.abi

CPU架构和位数:

armeabi-v7a -------(32位ARM设备)

arm64-v8a -------(64位ARM设备)

下载地址:https://github.com/frida/frida/releases

地址里面比较多产品,因为Frida比较牛逼,支持的平台众多,你就搜索frida-server-XXX.XXX.XXX-android-x86_64.xz就好。

我这个是 arm64 架构的,下载好了之后解压,adb push ~ ~到Android手机就行了。

Android安装frida-server

adb push frida-server /data/local/tmp   # adb push 参数1  参数2
adb shell
su
cd data/local/tmp
chmod 777 frida-server ls -all # 验证是否777
-rwxrwxrwx shell shell 21248332 2019-01-03 17:29 frida-server-12.2.27-android-arm ./frida-server # 必须运行

  机器需要root权限,因为Frida要求的权限比较大。注意尽量使用真机测试,因为一些虚拟机CPU使用混合模式架构,这样就会导致Frida报错无法运行,新手尽量使用真机来避免这个问题,如果实在没有这个条件,那么挑选虚拟机的时候尽量注意一下这个问题即可。

  如果程序一直处于运行状态(如下图),不返回shell就是正常的。

Windows端安装步骤

Python PIP安装组件

pip install frida
pip install frida-tools
pip list # 验证一下pip是否安装成功

Windows端验证 frida-server 是否成功

# 设置端口转发
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043 # 查看进程
frida-ps -R
# 或
frida-ps -U



能看到打印出来的PID和进程,说明Android、Windows端都已经安装好了。去探索吧,少年!

参考

https://frida.re/docs/home/

Android组合Windows环境下Frida的安装步骤的更多相关文章

  1. Windows环境下MongoDB的安装与配置

    MongoDB是一种高性能的文档型数据库,现介绍一下在Windows环境下MongDB的安装与配置 获取MongoDB 打开官方网站 www.mongodb.org,找到页面右上解的DownLoad链 ...

  2. Redis学习——Windows环境下Redis的安装(二)

    一.说明 之前介绍了Linux环境下Redis的安装,这次介绍一下Windows环境下Redis的安装,首先要讲的是,Redis官方只支持Linux,还好 Microsoft Open Tech gr ...

  3. Windows环境下python的安装与使用

    Windows环境下python的安装与使用 一.python如何运行程序 首先说一下python解释器,它是一种让其他程序运行起来的程序.当你编写了一段python程序,python解释器将读取程序 ...

  4. python MySQLdb在windows环境下的快速安装

    python MySQLdb在windows环境下的快速安装.问题解决方式 使用python访问mysql,需要一系列安装 linux下MySQLdb安装见 Python MySQLdb在Linux下 ...

  5. Windows环境下使用.bat安装和卸载服务

    一.Windows环境下使用.bat安装和卸载服务 win7环境 例子中“”Valwell.Dms.HttpService.exe“”为服务程序名称 安装服务 %SystemRoot%\Microso ...

  6. Android笔记——Windows环境下Android Studio v1.0安装教程

    本文主要讲解Windows环境下Android Studio的安装教程,Mac的Android Studio安装与此类似不在赘述,另外友情提示Windows下的SDK与Mac的SDK是通用的,可以直接 ...

  7. Redis在windows环境下ThinkPHP的安装和使用

    1.Redis概述: 2.Redis在windows环境下的安装: 下载地址:https://github.com/dmajkic/redis/downloads,选取其中一个zip压缩包:

  8. Windows环境下 PyQt5 如何安装MySql驱动 (PyQt5连接MYSQL时显示Driver not loaded解决方案)

    参考文章: https://blog.csdn.net/qq_38198744/article/details/80261695 前文说过如何在Ubuntu环境下 为PyQt5  安装MySql驱动, ...

  9. 117、python MySQLdb在windows环境下的快速安装、问题解决方式

    使用Python访问MySQL,需要一系列安装 Linux下MySQLdb安装见 Python MySQLdb在Linux下的快速安装 http://blog.csdn.NET/wklken/arti ...

随机推荐

  1. (八)golang--复杂类型之指针

    首先我们要明确:(1)基本数据类型:变量存的就是值,也叫值类型: (2)获取变量的地址,用&,例如var num int,获取num的地址:&num: (3)指针类型:变量存的是一个地 ...

  2. CSPS模拟 44

    状态不是很好吧 这套和前边是一套的, skyh在我旁边AK,好像开了三个对拍又在拼小人 T3 正解没调出来,暴力又忘交了qwq 当时心情都要爆炸了 T1 区间$gcd$乘区间长度的最大值 暴力是$n^ ...

  3. js内容溢出用省略号(...)表示

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. 「Usaco2005 Dec」清理牛棚(spfa秒杀线段树dp)

    约翰的奶牛们从小娇生惯养,她们无法容忍牛棚里的任何脏东西. 约翰发现,如果要使这群有洁癖的奶牛满意,他不得不雇佣她们中的一些来清扫牛棚, 约翰的奶牛中有N(1≤N≤10000)头愿意通过清扫牛棚来挣一 ...

  5. dianFanEditor Web在线编辑器

    个人很喜欢kodexplorer 的在线编辑器.苦于没有加载FTP目录的功能. 索性自己改造了一下,用.NET 做了几个WEB接口,用CEF3做浏览器内核,打包了在线地址做编辑器. 即可加载本地磁盘, ...

  6. 最新开源跳板机(堡垒机)系统 Jumpserver介绍

    Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统. Jumpserver 使用 Python / Django 进行开发,遵 ...

  7. [网络]HTTP

    HTTP HTTP 简介 HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本 ...

  8. go中的数据结构接口-interface

    1. 接口的基本使用 golang中的interface本身也是一种类型,它代表的是一个方法的集合.任何类型只要实现了接口中声明的所有方法,那么该类就实现了该接口.与其他语言不同,golang并不需要 ...

  9. nyoj 1022 合纵连横 (并查集<节点删除>)

    合纵连横 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 乱世天下,诸侯割据.每个诸侯王都有一片自己的领土.但是不是所有的诸侯王都是安分守己的,实力强大的诸侯国会设法 ...

  10. pat 1035 Password(20 分)

    1035 Password(20 分) To prepare for PAT, the judge sometimes has to generate random passwords for the ...