美文网首页
Flutter iOS App https抓包

Flutter iOS App https抓包

作者: crean | 来源:发表于2020-10-14 15:57 被阅读0次

#0x1

工具准备:rvictl、wireshark、charles

#0x2

1、手机USB连上mac后,使用指令rvictl -s xxxx68a776da7d40789adcbf2f991c8e9345xxxx打开虚拟网络接口rvi。

image.png

2、mac共享wifi网络,手机链接共享后的wifi,访问APP任意接口wireshark开始抓包,此步骤用来获取APP API接口域名地址。


image.png

3、获取到域名后,修改手机HOSTS,将该域名解析指向mac。


image.png

4、mac启动charles,打开菜单Proxy->Reverse Proxies Settings,打开反向代理设置,添加之前wireshark抓到域名。


image.png

5、开始愉快的抓包吧!


image.png

#0x3 frida脚本(无需手动改手机hosts)

/*
*
* @creantan
*
* Example usage:
* # frida -U -f com.xxx.yyy -l flutter_connect_.js --no-pause
*
*/

var sIP = 'xxx.xxx.xxx.xxx' //目标IP地址
var xIP = '192.168.2.1'//代理电脑IP地址

//IP字符串转int
function ipToInt(ip){
    var  result = ip.split('.');
    return (parseInt(result[3]) << 24 
        | parseInt(result[2]) << 16
        | parseInt(result[1]) << 8
        | parseInt(result[0]));
}

//int转IP字符串
function parseIp (number) {
  var ip = ''
  if (number <= 0) {
    return ip
  }
  const ip3 = (number << 0) >>> 24
  const ip2 = (number << 8) >>> 24
  const ip1 = (number << 16) >>> 24
  const ip0 = (number << 24) >>> 24
  ip += ip0 + '.' + ip1 + '.' + ip2 + '.' + ip3
  return ip
}

function parsePort(number) {
    return ((number & 0xFF) << 8) | ((number & 0xFF00) >> 8);
}

Interceptor.attach(Module.findExportByName(null, "connect"), {
    onEnter: function(args) {
        var fd = args[0].toInt32()
        if (Socket.type(fd) !== 'tcp')
          return;

        var ipAddr = args[1].add(4)
        var ip = parseIp(Memory.readU32(ipAddr))
        var portAddr = args[1].add(2)
        var port = parsePort(Memory.readUShort(portAddr));
        
        //判断是否为目标地址
        if (ip === sIP) {
            console.log("[+] connect: " +ip+ ':'+ port);

            //替换IP地址为代理主机
            Memory.writeU32(ipAddr,ipToInt(xIP))

            //打印替换后地址
            console.log(hexdump(ptr(args[1]), {
                length: 32,
                header: true,
                ansi: true
            }))
        }
    }
})

相关文章

  • Flutter iOS App https抓包

    #0x1 工具准备:rvictl、wireshark、charles #0x2 1、手机USB连上mac后,使用指...

  • 记事本

    部分APP无法代理抓包的原因及解决方法(flutter 应用抓包) https://www.cnblogs.com...

  • iOS Charles使用

    Charles iOS抓包Https,iOS最新系统抓包 Charles抓包入门(Mac/iOS,HTTP/HTT...

  • 抓包工具proxyman无敌

    flutter抓包(dio设置代理) iOS抓包(atlantis自动代理)都行 能直接tools -> map ...

  • iOS抓包(Charles)

    Charles抓包(iOS的http/https请求) Charles安装 HTTP抓包 HTTPS抓包image...

  • iOS Charles抓包

    级别:★★☆☆☆标签:「iOS手机抓包」「iOS HTTPS抓包」「Charles证书」作者: Xs·H审校: Q...

  • Flutter iPhone 模拟器抓包

    Flutter iPhone 模拟器抓包 在 iOS 开发中,经常使用 Charles 对接口请求进行抓包操作,查...

  • ios 中如何适配https

    iOS中http转https,及https请求抓包转ios中配置https记录

  • 使用Charles进行HTTPS抓包

    具体查看:使用Charles进行HTTPS抓包Charles辅助调试接口 测试iOS APP 模拟各种网络环境Ch...

  • iOS抓包

    iOS抓包:Mac下好用的HTTP/HTTPS抓包工具Charles20 FEBRUARY 2013 on iOS...

网友评论

      本文标题:Flutter iOS App https抓包

      本文链接:https://www.haomeiwen.com/subject/worwpktx.html