Release 下 flutter 如何抓包 (以下是针对64位库)

参考文章:flutter app抓包姿势 - 掘金

主要步骤

1. 通过 Hopper 定位到调用 ssl_client 的函数地址

2. 使用 Postern 进行请求转发

3. 使用 frida 进行hook

详细步骤

通过 Hopper 定位到调用 ssl_client 的函数地址

1. 搜索 ssl_client 字符串

 2. 定位到调用 ssl_client 的函数地址

 3. 配置 frida 使用的 js 脚本,命名为 ssl.js; 把对应的地址改了

function hook_ssl_verify_result(address)
{
 Interceptor.attach(address, {
  onEnter: function(args) {
   console.log("Disabling SSL validation")
  },
  onLeave: function(retval)
  {
   console.log("Retval: " + retval)
   retval.replace(0x1); 
  }
 });
}
function disablePinning(){
  // Change the offset on the line below with the binwalk result
  // If you are on 32 bit, add 1 to the offset to indicate it is a THUMB function: .add(0x1)
  // Otherwise, you will get 'Error: unable to intercept function at ......; please file a bug'
  var address = Module.findBaseAddress('libflutter.so').add(0x5968b0)
  hook_ssl_verify_result(address);
}
setTimeout(disablePinning, 1000)

 配置 Postern

1. 配置步骤

 

 

下载 frida

1. ubuntu 下载

$ unset all_proxy && unset ALL_PROXY # 取消所有 socks 代理
$ pip3 install frida -i https://mirrors.aliyun.com/pypi/simple
$ pip3 install frida-tools -i https://mirrors.aliyun.com/pypi/simple

2. adb shell 下运行 frida-server 需要ROOT

bonito:/data/local/tmp # ./frida-server-16.0.18-android-arm64

3. 打开应用

4. ubuntu下开启hook

$ frida -UF -l ssl.js

5. 使用 mitmproxy 或 charles 就可以抓包了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值