creantan 发表于 2020-10-14 16:37:06

Flutter iOS App https抓包

#0x1工具准备:rvictl、Wireshark、Charles

#0x21、手机USB连上mac后,使用指令rvictl -s (手机UDID)打开虚拟网络接口rvi。

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

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

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

5、开始愉快的抓包吧!


#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){
    varresult = ip.split('.');
    return (parseInt(result) << 24
      | parseInt(result) << 16
      | parseInt(result) << 8
      | parseInt(result));
}

//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.toInt32()
            if (Socket.type(fd) !== 'tcp')
          return;

            var ipAddr = args.add(4)
            var ip = parseIp(Memory.readU32(ipAddr))
            var portAddr = args.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), {
                length: 32,
                header: true,
                ansi: true
                }))
      }
    }
})



飘云 发表于 2020-10-14 16:46:12

言简意赅!

wanttobeno 发表于 2020-10-14 17:59:35

感谢分享 !   

Linn 发表于 2020-10-15 02:16:42

谢谢分享哦

小七柒 发表于 2020-10-15 10:04:03

谢谢分享。

slfh 发表于 2020-10-15 17:28:29

有没有逆向Flutter相关教程。

youkanwu 发表于 2020-10-16 08:17:50

网络抓包是个大学问,在cookie上面做文章的越来越多了

q6204056 发表于 2020-10-19 08:31:51

感谢楼主,学习亮

dryzh 发表于 2020-10-27 15:38:58

向C版学习,水果逆向

dragon02288 发表于 2020-10-29 12:07:25

学习一下,感谢分享!!
页: [1] 2 3 4 5 6 7 8
查看完整版本: Flutter iOS App https抓包