|
[size=15.399999618530273px]此次分析 不提供成品算法 只为简单的学习和交流。请勿用做非法用途
[size=15.399999618530273px]目前版本为5.9.64
[size=15.399999618530273px]使用的工具有:
[size=15.399999618530273px]1。monkeydev
[size=15.399999618530273px]2。idapro x64
[size=15.399999618530273px]先上post 数据
POST /sdk/sendphonecode HTTP/1.1
Host: ptlogin6.qidian.com
Accept: application/json
QDSign: +rqYGkHXfndMfkGPBmsrTvhtacxN3roUn06Tb2KC3RrnG1028ZVMvE87kB/xKBIWJf1bzM/8sYkGqRpb8TrC7Hc8hCyfES9bxUPU7Y0FbZfyTsWpZU4X3d/3HyvV5Gzy4pJh54aHZkrXdO0PWZIbuA==
Accept-Encoding: gzip, deflate
Accept-Language: zh-Hans;q=1, zh-Hans-CN;q=0.9
Content-Type: application/x-www-form-urlencoded
Content-Length: 366
User-Agent: QDReaderAppStore/5.9.64 (iPhone; iOS 10.3.3; Scale/2.00)
Connection: keep-alive
Referer: http://ios.qidian.com
Cookie: QDHeader=MzM3YzJjNWIwMDg0ZTRjMDlmMTc1MTA3NDQ0ODhjYjF8NS45LjY0fDc1MHwxMzM0fEFwcFN0b3JlfDEwLjMwfDV8aU9TL2lQaG9uZS9pUGhvbmU5LDF8MzE4fEFwcFN0b3JlfDN8LTk5OXwxNjA1NjE0MTM0MTcwfDB8ZTYzZWExMzEtNDBmNi00OWM0LTk2OGEtMGFlMDdlMjUyNDYw; appId=12; areaId=40; bar=64; cmfuToken=; idfa=9C1C2FD3-E021-4BD2-AAF5-2F30481922CB; mode=normal; qimei=e63ea131-40f6-49c4-968a-0ae07e252460; ywguid=; ywkey=
AegisSign: XHTKjn/j1K18gMEqcipXlwGOdU3QIXgMVqlQdRxtSI5D4hPWYg8Ns99pU/wyNi5N2Y0VJK79kXLsbayArLOUQ/B2vlmapCzWTjzi39Z/HkVA6AbRz94GQEc8RQs65qy8a6cE9pFkowEGLNzHkI5f+w==
appid=12&areaid=4&auto=1&autotime=30&devicename=iPhone&devicetype=iPhone9%2C1&needRegister=1&osversion=10.3.3&phone=15247586663&returnurl=http%3A//www.qidian.com&sdkversion=210&signature=oq0mvtS9iIQ5OqzCM5iVwNkYLEr9ajEA6V3YQmrae7Z8kszqLFpaDdze8MKx%20cFIKbnulf2Zw711ubZs2I95EVCCLuFs0q%2BBj/3%2BVbjKC%2BMh641CxFMBBNA%3D%3D&source=QDReaderAppStore&type=1&version=5.9.64
此次分析参数位signature:
signature=oq0mvtS9iIQ5OqzCM5iVwNkYLEr9ajEA6V3YQmrae7Z8kszqLFpaDdze8MKx%20cFIKbnulf2Zw711ubZs2I95EVCCLuFs0q%2BBj/3%2BVbjKC%2BMh641CxFMBBNA%3D%3D
废话不多说。先从appstore 砸壳。砸壳后 进行ui分析
进行分析得知。点击获取验证码 会触发QDPhoneNumberLoginViewController resetTimer 这个方法
打开ida 进行分析
进过分析 先进行号码拼接。然后进行发送验证码 发送验证码的函数为QDPhoneNumberLoginViewController getVerificationCode
获取验证码函数 里面进行一个另一个发送验证码的函数调用 并且设置回调。继续跟进分析YWLoginSDK YW_SendPhoneCodeWithPhoneNumber
经过分析。我们能够看出这个函数就是进行参数的生成 然后通过调用sendPhoneCode这个函数 进行发送数据
以上为静态分析得出来的结果
下面进行动态调试 通过ida获取到sendPhoneCode的地址 对这个函数进行断点
通过汇编调试。得出来setSendPhoneCode 传进来的参数 就是我们想要的结果
ida 进行汇编分析
通过分析 terminalProcessingParameters 结果已经出来了
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|