星空软件

 找回密码
 立即注册

代码揭秘“抖音私信卡片消息链接插件”原理

发表于 2020-5-20 15:03:36 | 显示全部楼层 |阅读模式
干货技术
文章来源: 51cto
作者: guazhan75
属性: 转载
导读: 通过ida反汇编抖音的app后,将下载后的ipa文件用解压缩工具(如7zip等)解压,从解压后的文件目录Payload/Aweme.app/找出Aweme可执行程序,拖入ida开展反汇编,ida可以检测objective-c语法。
通过ida反汇编抖音的app后,将下载后的ipa文件用解压缩工具(如7zip等)解压,从解压后的文件目录Payload/Aweme.app/找出Aweme可执行程序,拖入ida开展反汇编,ida可以检测objective-c语法。
随后进到主题,既然是聊天沟通发消息,就试着在ida里查寻"message",看看能不能找出对应的类或函数。
这儿发现了messageBaseViewController,找到一个名为didSendContent:的函数,依照名字可以大概推断出这应是传送信息的入口通道,此函数又调用了checkAndSendMessage,
应该是传送前的检查操作,如信息长度等,重点关注回调block,得到

重点关注

重点关注

抖音私信卡片信息链接插件代码大解析
可以看到im信息是走的google的protobuf协议(不熟识的可以找相关资料认识一下,就是一个序列化协议),传送信息的protobuf
信息结构大致如下图,信息内容,类型等参数都是设定在TIMPBNSendMessageRequestBody里。随后要做的就是找出上述几个结构是哪样的,这儿我们可以通过逆向出抖音代码的头文件开展查询。
使用class-dump工具(操作方法请自行查寻)从第1步中的可执行程序中dump出头文件。
这儿贴出来,构建protobuf信息体只需要将头文件中的字段关联起来就行。
本文转载于:51cto博客,请侵犯了作者版权,请联系本站管理员协助删除。





上一篇:网站异常不收录,我是如何反馈百度站长客服!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

sitemap|星空软件

GMT+8, 2020-6-4 02:17 , Processed in 0.132688 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表