Hook SSLWrite 查看传入的参数

hook住SSLWrite( )方法了
static OSStatus (*original_SSLWrite)(
SSLContextRef context,
const void *data,
size_t dataLength,
size_t *processed);
想查看data指向的内容要怎么办呢…

有没有大神做过iOS的ssl数据的拦截?

……NSData 直接读取啊

https://developer.apple.com/reference/foundation/nsdata/1547231-datawithbytes?language=objc

满分嘲讽,厉害了我的

谢谢张总:stuck_out_tongue_closed_eyes:

再请教个后续的问题:confused:
static OSStatus replaced_SSLWrite(SSLContextRef context,
const void *data,
size_t dataLength,
size_t *processed){
NSLog(@“SSLWrite len :%zu”,dataLength);
NSData *ocData = [NSData dataWithBytes:data length:dataLength];
NSString *ocStr = [[NSString alloc] initWithData:ocData encoding:NSUTF8StringEncoding];
NSLog(@“SSLWrite data:%@”,ocStr);
// NSLog(@“SSLWrite data:%s”,(char *)data);
return original_SSLWrite(context,data,dataLength,processed);
}

日志的输出结果

为什么len和data的长度不是对应的呢?而且 <请求方法GET/POST> 后面的URL为啥没有域名只有path呢?

这个是Charles抓包情况:

唔…我真是菜…好像知道问题所在了…我ssh tail -f /var/log/syslog的时候用了grep…所以显示不全…我在lldb里面可以看到完整的输出了