本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!

r0capture安卓应用层通杀脚本-使用文档

操作环境

工具脚本简介

  • 仅限安卓平台,测试安卓7、8、9、10、11 可用 ;
  • 无视所有证书校验或绑定,不用考虑任何证书的事情;
  • 通杀TCP/IP四层模型中的应用层中的全部协议;
  • 通杀协议包括:Http,WebSocket,Ftp,Xmpp,Imap,Smtp,Protobuf等等、以及它们的SSL版本;
  • 通杀所有应用层框架,包括HttpUrlConnection、Okhttp1/3/4、Retrofit/Volley等等;
  • 无视加固,不管是整体壳还是二代壳或VMP,不用考虑加固的事情;
  • (限制) 基于Java的虚拟机,暂未支持 flutter(开发框架),flutter走的已经不是java的虚拟机了!

TCP/IP四层模型介绍

  • 应用层

    应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

  • 传输层

    在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。

  • 互连网络层

    负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。

  • 网络接口层(主机-网络层)

    接收IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。

环境准备

  • 安装Python环境及frida:注意frida和frida-tools版本匹配,这里我选择指定版本安装的方式

    pip install frida==14.2.17
    pip install frida-tools==9.2.4

    查看python所有安装包:pip list

  • 下载安装frida-server

    在 官方github页面的release标签里,找到对应版本的frida-server,注意要匹配系统和架构,比如armarm64就不能搞错

    • 查看手机CPU 架构类型

      adb shell getprop ro.product.cpu.abi

    • 根据frida版本和手机CPU版本下载对应的frida-server



      下载完成后进行解压,获得linux原生的可执行文件,我们将它重命名为frida-server

    • 将frida-server安装至手机

      使用adb命令将其推送到手机上去

      $ adb push frida-server /data/local/tmp/

      然后使用adb shell命令进入到手机中去,执行以下命令:

      $ adb shell
      bullhead:/ $ su
      bullhead:/ # whoami
      root
      bullhead:/ # cd /data/local/tmp/
      bullhead:/data/local/tmp # chmod 755 /data/local/tmp/frida-server
      bullhead:/data/local/tmp # ./frida-server &
      [1] 6669

      frida-server运行成功。

  • 至此所需环境准备完成

工具脚本用法

**下载安卓应用层抓包通杀脚本:https://github.com/r0ysue/r0capture**

两种抓包模式

  • Spawn 模式,直接抓包

    python r0capture.py -U -f 包名
  • Attach 模式,将抓包内容保存成pcap格式文件

    python r0capture.py -U 包名 -p 文件名.pcap

    建议使用Attach模式,从感兴趣的地方开始抓包,并且保存成pcap文件,供后续使用Wireshark进行分析。

导入脚本项目

  • 导入到Pycharm项目中

  • 安装项目所需的包

    # pip install win_inet_pton
    # pip install hexdump
    # pip install loguru
  • 在要执行文件r0captue.py的上一级开启一个命令行或直接cd 到要执行的目录,如下图所示:

    在开启的命令行中两种方式的任意一种进行抓包,建议使用Attach模式,从感兴趣的地方开始抓包,并且保存成pcap文件。

开始抓包

  • 获取应用包名

    1.adb shell am monitor
    2.启动需要获取包名的应用
    3.窗口就会打印出来当前应用的包名

  • 给应用添加读取存储空间权限

  • 启动frida-server

    adb sehll
    su
    cd /data/local/tmp/
    ./frida-server &
    ps | grep frida

    检查是否启动成功:在电脑上新开一个shell,运行frida-ps -U命令,即可显示手机中正在运行的进程。

  • Spawn 模式,直接抓包

    用法:python r0capture.py -U -f com.dianping.v1

  • Attach 模式,将抓包内容保存成pcap格式文件

    先打开需要抓包的应用,然后在命令行输入

    python r0capture.py -U com.dianping.v1 -p 123.pcap

    在操作想抓包的地方,对应的记录会保存至项目同目录下的pcap文件中



    Press Ctrl+C to stop logging.

    Ctrl+C 结束,如果数据量很大的话,需要等待一会才能彻底关闭

  • 分析数据

    通过上面的方式将抓取到的pcap格式的文件通过Wireshark打开,选择里面的某条数据内容使用 分析->追踪流->分析抓包数据即可!如下图所示:

资源下载

https://download.csdn.net/download/qq_38154948/85061788


本文仅供学习交流使用,如侵立删!

r0capture安卓应用层通杀脚本-使用文档的更多相关文章

  1. JsDoc脚本注释文档生成

    使用jsDoc可使用特定注释,将注释的内容生成文档,可用于生成脚本库的API文档 jsdoc 文档:   http://usejsdoc.org/

  2. itop4412开发版-安卓系统卸载默认apk使用文档

    itop4412开发版的安卓系统默认不是最高权限,可以看见后面最后一个是$符号,如下图 1,所以 想我们需要进入 root 权限,可以看见后面最后一个是#符号,如下图所示.在这个变换中只需 要在超级终 ...

  3. javascript文档

    DOM Document <html> Document 对象 每个载入浏览器的 HTML 文档都会成为 Document 对象. Document 对象使我们可以从脚本中对 HTML 页 ...

  4. ElasticSearch查询 第二篇:文档更新

    <ElasticSearch查询>目录导航: ElasticSearch查询 第一篇:搜索API ElasticSearch查询 第二篇:文档更新 ElasticSearch查询 第三篇: ...

  5. JavaScript权威指南--脚本化文档

    知识要点 脚本化web页面内容是javascript的核心目标. 第13章和14章解释了每一个web浏览器窗口.标签也和框架由一个window对象所示.每个window对象有一个document对象, ...

  6. elasticsearch——海量文档高性能索引系统

    elasticsearch elasticsearch是一个高性能高扩展性的索引系统,底层基于apache lucene. 可结合kibana工具进行可视化. 概念: index 索引: 类似SQL中 ...

  7. ES 26 - 通过partial update局部更新索引文档 (partial update增量修改原理)

    目录 1 什么是partial update 1.1 全量修改文档的原理 1.2 修改指定field的思路 1.3 partial update的优势 1.4 partial update的使用 2 ...

  8. ES(ElasticSearch)文档的表现形式以及增删改查

    1. ES中的文档 ES是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document).然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索 ...

  9. python sphinx(文档生成器)入门

    简介 Sphinx 是一个 文档生成器 ,您也可以把它看成一种工具,它可以将一组纯文本源文件转换成各种输出格式,并且自动生成交叉引用.索引等.也就是说,如果您的目录包含一堆 reStructuredT ...

随机推荐

  1. 好客租房10-jsx的基本使用

    1.1createElement()的问题 1繁琐不简洁 2不直观 无法一眼看出所描述的结构 3不优雅 用户体验不爽 React.createElement("div",     ...

  2. docker安装nginx,配置SSL

    nginx安装 下载镜像并测试 1.docker pull nginx 2.docker images nginx 查看我们拉取到本地的nginx镜像IMAGE ID 3.首先测试下nginx镜像是否 ...

  3. python:selenium测试登录在chrome中闪退

    问题描述:使用selenium.webdriver时测试网页,进行自动登录测试总是在登录成功时闪退.使用指定驱动器位置的方式chrome也会闪退 1.正常使用chrome驱动打开一个网页,正常访问 f ...

  4. Aeraki Mesh正式成为CNCF沙箱项目,腾讯云携伙伴加速服务网格成熟商用

    6月,由腾讯云主导,联合百度.灵雀云.腾讯音乐.滴滴.政采云等多家合作伙伴发起的服务网格开源项目 Aeraki Mesh 通过了全球顶级开源基金会云原生计算基金会(CNCF)技术监督委员会评定,正式成 ...

  5. make 随笔

    # --with--cc-opt flag导致./configure时找不到对应库文件? checking for --with-ld-opt="-Wl,-z,relro -Wl,-z,no ...

  6. 3D可视化解决方案为巷道工程安全护航

    最近山东栖霞笏山金矿事故中被困22名矿工的生命安全,在揪着全国民的心.大家都在祈求他们能从井下活着回来. 正是由于被困矿工的坚韧意志和政府相关部门不眠不休的奋力营救,11名矿工终于在被困十余日后平安升 ...

  7. Vmware-Centos7-NAT 网络配置

    首先一句话总结 NAT模式下,将VMware Network Adapter VMnet8的IP改为与虚拟机IP同一网段即可. 操作步骤 1. 打开虚拟网络编辑器 2. 配置NAT 选择NAT模式,取 ...

  8. sql-自动增长的列

    mysql自动增长 如果某一列是数值类型的,使用 auto_increment 可以来完成值得自动增长 方式1:创建表时,添加主键约束,并且完成主键自增长 create table stu( id i ...

  9. ES5的继承和ES6的继承有什么区别?让Babel来告诉你

    如果以前问我ES5的继承和ES6的继承有什么区别,我一定会自信的说没有区别,不过是语法糖而已,充其量也就是写法有区别,但是现在我会假装思考一下,然后说虽然只是语法糖,但也是有点小区别的,那么具体有什么 ...

  10. MYSQL的事务和索引

    事务 什么是事务 事务就是将一组SQL语句放在同一批次内去执行 如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行 MySQL事务处理只支持InnoDB和BDB数据表类型 事务的ACID原则 ...