热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于ios:iOS逆向之某多多App抓包

1.指标因为某多多App现应用longlink进行数据传输,应用charles工具抓包只能抓到[链接]链接。本文的目则是应用charles等抓包工具能失常抓包

1.指标
因为某多多App现应用longlink进行数据传输,应用charles工具抓包只能抓到https://th.pinduoduo.com/t.gif链接。本文的目则是应用charles等抓包工具能失常抓包

2.操作环境

  • 越狱iPhone一台
  • frida

3.流程
下载最新某多多App。关键词longlink则是咱们的切入点,在终端执行frida-trace -U -f com.xunmeng.pinduoduo -m “[ ongink]” -M “[UI ]” -M “[_ *]”命令后获取到要害信息列表:

+[AMTitanHelper makesureLongLinkConnect:]: Loaded handler at “/Users/witchan/__handlers__/AMTitanHelper/makesureLongLinkConnect_.js”-[AMTitanLongLinkInfoManager updateLongLinkStatusInfoWithHost:longLinkStatus:longLinkInfo:]: Loaded handler at “/Users/witchan/__handlers__/AMTitanLongLinkInfoManager/updateLongLinkStatusInfoWithHost_663278c1.js”-[AMTitanLongLinkInfoManager longLinkStatusInfoDic]: Loaded handler at “/Users/witchan/__handlers__/AMTitanLongLinkInfoManager/longLinkStatusInfoDic.js”-[AMTitanLongLinkInfoManager setLongLinkStatusInfoDic:]: Loaded handler at “/Users/witchan/__handlers__/AMTitanLongLinkInfoManager/setLongLinkStatusInfoDic_.js”-[PDDProbeRaceManager longLinkRaceResult:traceId:reportBlock:callback:]: Loaded handler at “/Users/witchan/__handlers__/PDDProbeRaceManager/longLinkRaceResult_traceId_repor_9af8c15b.js”-[AMTitanNetworkConfig setLonglinkHostConfig:]: Loaded handler at “/Users/witchan/__handlers__/AMTitanNetworkConfig/setLonglinkHostConfig_.js”-[AMTitanNetworkConfig longlinkHostConfig]: Loaded handler at “/Users/witchan/__handlers__/AMTitanNetworkConfig/longlinkHostConfig.js”+[PDDNetworkHybrid longLinkErrorCodeMap]: Loaded handler at “/Users/witchan/__handlers__/PDDNetworkHybrid/longLinkErrorCodeMap.js”-[PddRtc titan:didChangeToConnectionStatus:longLinkInfo:]: Loaded handler at “/Users/witchan/__handlers__/PddRtc/titan_didChangeToConnectionStatu_745d0013.js”-[PDDWebConfig htmlLongLinkWhiteListFromConfig]: Loaded handler at “/Users/witchan/__handlers__/PDDWebConfig/htmlLongLinkWhiteListFromConfig.js”-[PDDWebConfig setHtmlLongLinkWhiteList:]: Loaded handler at “/Users/witchan/__handlers__/PDDWebConfig/setHtmlLongLinkWhiteList_.js”-[PDDWebConfig htmlLongLinkWhiteList]: Loaded handler at “/Users/witchan/__handlers__/PDDWebConfig/htmlLongLinkWhiteList.js”-[PDDWebViewManager pdd_setProtocolLongLinkEnable:]: Loaded handler at “/Users/witchan/__handlers__/PDDWebViewManager/pdd_setProtocolLongLinkEnable_.js”-[PDDLiveRoomMicLinkManager registerLongLinkMsgCenter]: Loaded handler at “/Users/witchan/__handlers__/PDDLiveRoomMicLinkManager/registerLongLinkMsgCenter.js”+[PDDTitanNetworkConfig mainLongLinkBackupIps]: Loaded handler at “/Users/witchan/__handlers__/PDDTitanNetworkConfig/mainLongLinkBackupIps.js”+[PDDTitanNetworkConfig multicastLongLinkBackupIps]: Loaded handler at “/Users/witchan/__handlers__/PDDTitanNetworkConfig/multicastLongLinkBackupIps.js”-[AMNetworkInfoManager longLinkInfo]: Loaded handler at “/Users/witchan/__handlers__/AMNetworkInfoManager/longLinkInfo.js”-[AMNetworkInfoManager setLongLinkInfo:]: Loaded handler at “/Users/witchan/__handlers__/AMNetworkInfoManager/setLongLinkInfo_.js”+[AMNetworkInfo longLinkInfo]: Loaded handler at “/Users/witchan/__handlers__/AMNetworkInfo/longLinkInfo.js”+[AMNetworkInfo setLongLinkInfo:]: Loaded handler at “/Users/witchan/__handlers__/AMNetworkInfo/setLongLinkInfo_.js”-[AMHTTPRequest longLinkDowngrade]: Loaded handler at “/Users/witchan/__handlers__/AMHTTPRequest/longLinkDowngrade.js”-[AMHTTPRequest setLongLinkDowngrade:]: Loaded handler at “/Users/witchan/__handlers__/AMHTTPRequest/setLongLinkDowngrade_.js”-[PDDAntManager titan:didChangeToConnectionStatus:longLinkInfo:]: Loaded handler at “/Users/witchan/__handlers__/PDDAntManager/titan_didChangeToConnectionStatu_745d0013.js”-[PDDApiMetricsBaseInfo setIsLongLinkReceived:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsBaseInfo/setIsLongLinkReceived_.js”-[PDDApiMetricsBaseInfo setLongLinkVip:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsBaseInfo/setLongLinkVip_.js”-[PDDApiMetricsBaseInfo setLongLinkErrorCode:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsBaseInfo/setLongLinkErrorCode_.js”-[PDDApiMetricsBaseInfo setLongLinkType:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsBaseInfo/setLongLinkType_.js”-[PDDApiMetricsBaseInfo isLongLinkReceived]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsBaseInfo/isLongLinkReceived.js”-[PDDApiMetricsBaseInfo longLinkVip]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsBaseInfo/longLinkVip.js”-[PDDApiMetricsBaseInfo longLinkErrorCode]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsBaseInfo/longLinkErrorCode.js”-[PDDApiMetricsBaseInfo longLinkType]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsBaseInfo/longLinkType.js”-[PDDApiMetricsCostInfo setLongLinkSendCost:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsCostInfo/setLongLinkSendCost_.js”-[PDDApiMetricsCostInfo setLongLinkRecvCost:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsCostInfo/setLongLinkRecvCost_.js”-[PDDApiMetricsCostInfo setLongLinkServerCost:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsCostInfo/setLongLinkServerCost_.js”-[PDDApiMetricsCostInfo longLinkSendCost]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsCostInfo/longLinkSendCost.js”-[PDDApiMetricsCostInfo longLinkRecvCost]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsCostInfo/longLinkRecvCost.js”-[PDDApiMetricsCostInfo setLongLinkNetworkCost:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsCostInfo/setLongLinkNetworkCost_.js”-[PDDApiMetricsCostInfo longLinkServerCost]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsCostInfo/longLinkServerCost.js”-[PDDApiMetricsCostInfo longLinkNetworkCost]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsCostInfo/longLinkNetworkCost.js”-[PDDApiMetricsExtraInfo setLongLinkReportCode:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/setLongLinkReportCode_.js”-[PDDApiMetricsExtraInfo setLongLinkStatusCode:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/setLongLinkStatusCode_.js”-[PDDApiMetricsExtraInfo setLongLinkTaskId:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/setLongLinkTaskId_.js”-[PDDApiMetricsExtraInfo setLongLinkSendSize:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/setLongLinkSendSize_.js”-[PDDApiMetricsExtraInfo setLonglinkReceiveSize:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/setLonglinkReceiveSize_.js”-[PDDApiMetricsExtraInfo setLongLinkForeground:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/setLongLinkForeground_.js”-[PDDApiMetricsExtraInfo setLongLinkUrl:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/setLongLinkUrl_.js”-[PDDApiMetricsExtraInfo longLinkReportCode]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/longLinkReportCode.js”-[PDDApiMetricsExtraInfo longLinkStatusCode]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/longLinkStatusCode.js”-[PDDApiMetricsExtraInfo isLongLinkForeground]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/isLongLinkForeground.js”-[PDDApiMetricsExtraInfo longLinkSendSize]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/longLinkSendSize.js”-[PDDApiMetricsExtraInfo longlinkReceiveSize]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/longlinkReceiveSize.js”-[PDDApiMetricsExtraInfo longLinkTaskId]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/longLinkTaskId.js”-[PDDApiMetricsExtraInfo longLinkUrl]: Loaded handler at “/Users/witchan/__handlers__/PDDApiMetricsExtraInfo/longLinkUrl.js”-[PDDApiWaitLonglinkConfig isWaitLonglink:method:]: Loaded handler at “/Users/witchan/__handlers__/PDDApiWaitLonglinkConfig/isWaitLonglink_method_.js”-[AMTitan updateLongLinkHostWhiteList:]: Loaded handler at “/Users/witchan/__handlers__/AMTitan/updateLongLinkHostWhiteList_.js”-[AMTitan updateLongLinkUriBlackList:]: Loaded handler at “/Users/witchan/__handlers__/AMTitan/updateLongLinkUriBlackList_.js”-[AMTitan isLongLinkConnected]: Loaded handler at “/Users/witchan/__handlers__/AMTitan/isLongLinkConnected.js”-[AMTitan makesureLongLinkConnect:]: Loaded handler at “/Users/witchan/__handlers__/AMTitan/makesureLongLinkConnect_.js”-[AMTitan reportStatusChange:longLinkInfo:]: Loaded handler at “/Users/witchan/__handlers__/AMTitan/reportStatusChange_longLinkInfo_.js”-[AMTitan onConnectStatusChange:longLinkStatus:longLinkInfo:]: Loaded handler at “/Users/witchan/__handlers__/AMTitan/onConnectStatusChange_longLinkSt_c4a1163e.js”-[AMTitanBaseRequest setWaitLonglink:]: Loaded handler at “/Users/witchan/__handlers__/AMTitanBaseRequest/setWaitLonglink_.js”-[AMTitanBaseRequest waitLonglink]: Loaded handler at “/Users/witchan/__handlers__/AMTitanBaseRequest/waitLonglink.js”-[AMTitanStnCallback reportConnectStatus:longLinkStatus:longLinkInfo:]: Loaded handler at “/Users/witchan/__handlers__/AMTitanStnCallback/reportConnectStatus_longLinkStat_1d404d83.js”-[AMTitanTask setWaitLonglink:]: Loaded handler at “/Users/witchan/__handlers__/AMTitanTask/setWaitLonglink_.js”-[AMTitanTask waitLonglink]: Loaded handler at “/Users/witchan/__handlers__/AMTitanTask/waitLonglink.js”+[AMTitanTransferUtil transferToLongLinkInfo:]: Loaded handler at “/Users/witchan/__handlers__/AMTitanTransferUtil/transferToLongLinkInfo_.js”

通过一层层筛查打印以上办法的入参和返回值,当批改到[AMTitan updateLongLinkHostWhiteList:]办法时,输入的日志参数,引起了咱们的留神,updateLongLinkHostWhiteList_.js代码如下:

{ onEnter(log, args, state) {   log(-[AMTitan updateLongLinkHostWhiteList:${new ObjC.Object(args[2])}]); }, onLeave(log, retval, state) {   log(-[AMTitan updateLongLinkHostWhiteList:]=${new ObjC.Object(retval)}=); }}

日志输入如下:

-[AMTitan updateLongLinkHostWhiteList:(   “apiv2.yangkeduo.com”,   “apiv3.yangkeduo.com”,   “apiv4.yangkeduo.com”,   “apiv2.hutaojie.com”,   “meta.yangkeduo.com”,   “api.pinduoduo.com”,   “api.yangkeduo.com”,   “apiv5.yangkeduo.com”,   “mobile.yangkeduo.com”,   “meta.pinduoduo.com”,   “m.pinduoduo.net”,   “api-cj.pinduoduo.com”,   “api-isp.pinduoduo.com”,   “risk-data-clean-api.risk.ft.srv.pdd.net”)]-[AMTitan updateLongLinkHostWhiteList:]=(   “apiv2.yangkeduo.com”,   “apiv3.yangkeduo.com”,   “apiv4.yangkeduo.com”,   “apiv2.hutaojie.com”,   “meta.yangkeduo.com”,   “api.pinduoduo.com”,   “api.yangkeduo.com”,   “apiv5.yangkeduo.com”,   “mobile.yangkeduo.com”,   “meta.pinduoduo.com”,   “m.pinduoduo.net”,   “api-cj.pinduoduo.com”,   “api-isp.pinduoduo.com”,   “risk-data-clean-api.risk.ft.srv.pdd.net”)=

发现要害信息api*.yangkeduo.com,依据办法updateLongLinkHostWhiteList,发现这极有可能是LongLink的接口列表。批改刚的js代码为:

{ onEnter(log, args, state) {   args[2] = ObjC.classes.NSMutableArray.array(); // 批改入参为空数组   log(-[AMTitan updateLongLinkHostWhiteList:${new ObjC.Object(args[2])}]); }, onLeave(log, retval, state) {   log(-[AMTitan updateLongLinkHostWhiteList:]=${new ObjC.Object(retval)}=); }}

这时,抓包失常工作,后果如下:

End


推荐阅读
  • 01mui框架使用概述
    1MUI概述1.1MUI诞生背景?性能和体验的差距,一直是手机APP开发者放弃HTML5的首要原因。浏览器默认控件样式又少又丑,制作一 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • Android Studio中的IBM MobileFirst Compile问题 - IBM MobileFirst Compile in Android Studio Issue
    IbuiltaMultipageapplicationbyusingIBMMobileFirst,accordingto据我所知,我使用IBMMobileFirst构建了一个 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • EzPP 0.2发布,新增YAML布局渲染功能
    EzPP发布了0.2.1版本,新增了YAML布局渲染功能,可以将YAML文件渲染为图片,并且可以复用YAML作为模版,通过传递不同参数生成不同的图片。这个功能可以用于绘制Logo、封面或其他图片,让用户不需要安装或卸载Photoshop。文章还提供了一个入门例子,介绍了使用ezpp的基本渲染方法,以及如何使用canvas、text类元素、自定义字体等。 ... [详细]
  • [转载]从零开始学习OpenGL ES之四 – 光效
    继续我们的iPhoneOpenGLES之旅,我们将讨论光效。目前,我们没有加入任何光效。幸运的是,OpenGL在没有设置光效的情况下仍然可 ... [详细]
  • 这个问题困扰了我两天,卸载Dr.COM客户端(我们学校上网要装这个客户端登陆服务器,以后只能在网页里输入用户名和密码了),问题解决了。问题的现象:在实验室机台式机上安装openfire和sp ... [详细]
  • 项目需要实现弹幕,网上参考了各种方法,最后觉得transform+transition实现的效果在移动设备上性能最好,在iphone6和红米4上测试,看不到 ... [详细]
  • 1.webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用(1) ... [详细]
  • webui之常用js操作(webui界面是什么)
    本文目录一览:1、web前端开发需要掌握的几个必备技术 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了预加载多个本地WebView相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 唱唱反调:风口上的技术不要盲目追
      对于前端领域的开发者来说,“学不动了”虽然更多是一种调侃,但也真实地反映出了他们面对频繁出新的前端技术时又爱又恨的心情。在经历了移动互联网的大爆发后,前端领域的边界不 ... [详细]
  • 安卓开发入门!BAT大厂面试基础题集合,顺利通过阿里Android岗面试
    其实不是Android不行了,而是你跟不上了我的很多读者都在反馈说,现在一个岗位可以收到的简历数,是前几年的几倍。我们必须承认ÿ ... [详细]
author-avatar
手机用户2502854361
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有