-
-
[原创]AppStore GSA流程分析
-
发表于:
2018-11-12 19:34
53081
-
进程:akd
函数:
参数:
函数流程:
1.body=[AKAppleIDAuthenticationService _authenticationParametersForUsername:userName altDSID:altDSID password:pwd continuationToken:cToken passwordResetToken:pToken context:context]
功能:获取设备信息
返回内容:
2.-[AKSRPContext configureWithParameters:body]
功能:保存以上生成的设备参数并根据 body生成AppleIDAuthSupportData数据,登录时 就是用AppleIDAuthSupportData数据
AppleIDAuthSupportData结构体内容:
3.[AKSRPOperation performWithURL:authURL SRPContext:srpContext error:&error];
功能:完成两次发包登录(主要是通过AppleIDAuthSupportAuthenticate函数)
AppleIDAuthSupportAuthenticate
AppleIDAuthSupportAuthenticate 原形
AppleIDAuthSupportAuthenticate流程
1.调用AppleIDAuthSupportStep(主要是调用AppleIDAuthSupportData[0x60]里的stateClientNeg1) 生A2k(是一个大数)
2.调用SendRequestAndCreateResponse发送以上数据,返回
3.调用调用AppleIDAuthSupportStep(主要是调用AppleIDAuthSupportData[0x60]里的stateClientNeg2) 生M1.
4.调用SendRequestAndCreateResponse发送以上数据,返回:
5.调用调用AppleIDAuthSupportStep(主要是调用AppleIDAuthSupportData[0x60]里的stateClientNeg3)
4.[[AKAuthenticationServerResponse alloc] initWithSRPContext:srpContext];
功能:解析登录返回的数据(spd 字段)
解密后的返回数据
-[AKAppleIDAuthenticationService _performSRPAuthenticationWithUsername:password:altDSID:continuationToken:passwordResetToken:context:completion:]
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课