百科狗-知识改变命运!
--

抖音 iOS端逆向

是丫丫呀1年前 (2023-12-11)阅读数 6#抖音技巧
文章标签方法里面

前言:网上关于微信逆向的文章很多,而关于抖音的就相对较少,主要原因是在逆向Hopper分析的时候,里面大多是函数调用地址,不知道具体的方法直线,笔者研究了几天之后,有些小心得与各位分享.

逆向需求:实现评论功能,模拟不同的用户评论.

开发环境:脱过壳的抖音IPA(Aweme.app), Xcode(安装MonkeyDev), Hopper(解析执行文件), 导出抖音所有头文件

1>运行MonkeyDev,查看抖音的层级结构,先找到评论的控制器?AWECommentListViewController

搜索头文件,看看里面有什么有用的属性,replyComment:这个可能是回复评论时候生成的模型,model:,listManager:可能是用来处理评论逻辑的,- (_Bool)userTappedSendWithContent:(id)arg1 inputView:(id)arg2:点击发送评论,这个应该是关键方法,随便发一条评论,在该方法下一个断点,进行验证

确实来到了这个方法,而且这个方法是由? AWECommentListInputView ?这个View来调起的,猜想这个View应该是文本输入框的View,而且评论控制器实现了这个View的代理方法- (_Bool)commentInputViewShouldReturn:(id)arg1,代理方法里面调用了评论控制器的- (_Bool)userTappedSendWithContent:(id)arg1 inputView:(id)arg2方法, 所以理论上我们可以手动调用这个方法,能实现发送评论,

抖音 iOS端逆向

2>在评论控制器添加一个按钮,按钮的点击事件设为- (_Bool)userTappedSendWithContent:(id)arg1 inputView:(id)arg2 这个方法,看是否能够评论成功,

验证评论可以发送成功,

3>继续跟进方法调用,查看是哪个类来发送的评论请求,我们需要了解必须上送什么参数,以及请求路径. 打开Hopper 寻找突破口,搜索AWECommentListViewController userTappedSendWithContent,找到三个可疑的方法,点进去跟进

实现这三个方法,分别打入断点,运行Xcode,当发送一条评论时,会进到-sendCommentContent 这个方法,进到这个方法里面,看到一条有用信息

点进这个方法,发现一个熟悉的味道?AWECommentListManager,方法是属于它的,还记不记得在文章开始的那个listManager,就是它,惊不惊喜,还原成控制器的调用就是 [self.listManager?commentWithContent:?replyId:?replySubCommentID:?replySubCommentAuthorID:?extraInfo:?referString:?completion:], 顺藤摸瓜,继续往下走,最终跟进到+(void)commentAwemeItemWithID:(void *)arg2 content:(void *)arg3 replyCommentID:(void *)arg4 replySubCommentID:(void *)arg5 extraInfo:(void *)arg6 sticker:(void *)arg7 referString:(void *)arg8 completion:(void *)arg9 这个方法之后,就无法再跟进了;于是转换思路,看看listManager里面会不会调用其他方法,我的做法是将里面的所有方法都打上断点,来到了_cmd 对应的这个方法,看到了传入的那个字典,aweme_id 是评论的id,就是你当前刷的这条抖音,text是我评论的内容,"https://aweme.snssdk.com/aweme/v1/comment/publish/"是发送端口路径.

在调试过程中,我发现评论完的请求发送完成之后,又会发一个交易,通过

看到了一个关键词heartbeat,当我定在这个断点,会发现评论会失败,这应该是抖音的某种机制,这个心跳包如果不对,那么你的评论就会失效.

4>思路:(1).发送评论肯定得知道用户的信息,比如userid,昵称,头像路径,这样才能区分是谁发的评论,找到这个"https://webcast.amemv.com/webcast/room/live_room_id/?version_code=9.2.0&pass-region=0&pass-route=0&js_sdk_version=1.43.0.1&webcast_sdk_version=1330&app_name=aweme&vid=019C3DD5-08D3-49B6-AF5B-939154B6B148&app_version=9.2.0&language=zh-Hans-US&device_id=40613784883&channel=pp&mcc_mnc=46011&aid=1128&effect_sdk_version=5.8.0&screen_width=414&openudid=02a6db71a7ae780f226b95032b116da6852f13e8&webcast_language=zh&os_api=18&ac=WIFI&os_version=12.4.6&webcast_locale=zh-Hans_CN&device_platform=iphone&build_number=92013&iid=110910203440&device_type=iPhone%206%20Plus&idfa=25D32F6D-CBC3-42E9-9A7C-2D72277497D4", ? 它是一个POST请求 请求参数 就是aweme_id=6812025407865425166&channel_id=0&text=%E4%BD%A0%E8%AF%B4%E7%9A%84%E5%AF%B9,这三个,接下来就得看请求头里面有没有我们需要的信息,只有iid=110910203440这个参数比较可疑,

5>查看一下评论的模型信息,点进个人主页,查看userId的格式是怎么样的---待续...

抖音上有心跳歌词的叫什么歌

深呼吸。

玩抖音时心跳加速一般是因为精神过度集中产生疲劳,而深呼吸能够帮助缓解自身的疲劳,使心情得以放松,避免精神紧张,也减缓了压力可以缓解心跳加速的症状。

心跳加速是一种主观的感觉,可能是生理性原因所致,也可能是病理性原因所致,如进行体力活动、情绪激动、过度疲劳等可出现心跳加速。

《Lifeline》。《Lifeline》是一首纯音乐,据说这首歌是记录了一个白血病女孩生命的最后5分13秒,全歌时长5分13秒,滴答声160次,心跳骤停3次,最长20秒,最短11秒,最快心率39次每分,最慢33次每分。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)