Fork me on GitHub

抓包:淘宝、支付宝

这是崔斯特的第一百零五篇原创文章

Frida抓包技巧

对于淘宝、支付宝之类的App,想要直接抓包是不可能的,可以使用 frida 实现抓包。

Frida介绍

Frida是一款基于python + javascript 的hook框架,通杀android\ios\linux\win\osx等各平台,由于是基于脚本的交互,因此相比xposed和substrace cydia更加便捷。Frida的官网为:http://www.frida.re/

首先要保证你的android手机已经root。通过pip安装frida:

1
pip install frida

adb连接手机,到 https://github.com/frida/frida/releases 下载frida-server,根据情况选择android-arm 版本,安卓手机一般是是下载android-armandroid-arm64这两种。

push到android手机上并且运行,需要取得手机root权限

1
2
3
4
5
6
adb push frida-server /data/local/tmp/
adb shell
su
cd /data/local/tmp/
chmod 777 frida-server
./frida-server

到此为止环境已经搭建完毕。

编写抓包脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import sys
import frida
rdev = frida.get_usb_device()
# session = rdev.attach('com.taobao.etao')
session = rdev.attach('com.taobao.taobao')
# session = rdev.attach('com.tmall.wireless')
scr = """
Java.perform(function () {
var SwitchConfig = Java.use('mtopsdk.mtop.global.SwitchConfig');
SwitchConfig.isGlobalSpdySwitchOpen.overload().implementation = function(){
var ret = this.isGlobalSpdySwitchOpen.apply(this, arguments);
console.log("isGlobalSpdySwitchOpenl "+ret)
return false
}
})
"""
script = session.create_script(scr)
def on_message(message, data):
if message['type'] == 'send':
print("[*] {0}".format(message['payload']))
else:
print(message)
script.on("message", on_message)
script.load()
sys.stdin.read()

运行该脚本,打开淘宝就可以抓包了。要注入的进程名已经写好了:

  1. com.taobao.etao 是一淘
  2. com.taobao.taobao是淘宝
  3. com.tmall.wireless 是天猫

想要抓淘宝App数据还有很多步要走,还有x-signx-min-wua等着你。(^o^)/~