抖音js逆向(js逆向视频)

抖音iOS端逆向<一>

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

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

开发环境:脱过壳的抖音IPA(), 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方法, 所以理论上我们可以手动调用这个方法,能实现发送评携型论,

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

验证评论可以发送成功,

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

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

点进这个方法,发现一个熟悉的味道 AWECommentListManager,方法是属于它的,还记不记得在文章开始的那个listManager,就是它,惊不惊喜,还原成控制器的调用就是 [er 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是我评论的内容,"/aweme/v1/comment/publish/"是发送端口路径.

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

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

4>思路:(1).发送评论肯定得知道用户的信息,比如userid,昵称,头像路径,这样才能区分是谁发的评论,找到这个"/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-B6B148&app_version=9.2.0&language=zh- Hans- US&device_&channel=pp&mcc_&aid=1128&effect_sdk_version=5.8.0&screen_width=414&b116da6852f13e8&webcast_language=zh&os_api=18∾=WIFI&os_version=12.4.6&webcast_locale=zh- Hans_CN&device_platform=iphone&build_&&device_type=iPhone%206%20Plus&idfa=25D32F6D-CBC3-42E9-9A7C-D4", 它是一个POST请求 请求参数 就是aweme_&channel_id=0&text=%E4%BD%A0%E8%AF%B4%E7%9A%84%E5%AF%B9,这三个,接下来就得看请求头里面有没有我们需要的信息,只有这个参数比较可疑,

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

本文版权归趣快排SEO www.SeogurUblog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ▶61910465