iOS逆向 微信消息界面分析
来源:互联网 发布:电子杂志制作软件下载 编辑:程序博客网 时间:2024/05/15 19:26
一、微信消息界面的结构
1.1 消息对应的Cell
微信消息界面对应的类名为:BaseMsgContentViewController,消息界面是采用TableView实现的,每种消息类型对应一种Cell。
文本消息:TextMessageCellView图片消息:ImageMessageCellView语音消息:VoiceMessageCellView位置消息:LocationMessageView红包消息:WCPayC2CMessageView名片消息:ShareCardMessageCellView消息发送时间:ChatTimeCellView
下图为文本消息cell的结构图 :
1.2 消息对应的Model
同样的,每种消息对应的Model也是不同的,每种消息对应一种model。
文本消息:TextMessageViewModel图片消息:ImageMessageViewModel语音消息:VoiceMessageViewModel位置消息:LocationMessageViewModel红包消息:WCPayC2CMessageViewModel名片消息:ShareCardMessageViewModel消息发送时间:ChatTimeViewModel
这几种消息model都继承于BaseMessageViewModel,而BaseMessageViewModel的父类为: BaseChatViewModel。我们来看下BaseChatViewModel里面有哪些有用的信息:
@interface BaseMessageViewModel : BaseChatViewModel <IMessageNodeStatusExt>{ CBaseContact *m_contact; CMessageWrap *m_messageWrap; struct CGSize m_contentViewSize; long long m_orientation; NSString *m_cpKeyForChatRoomMessage; NSString *m_cpKeyForChatRoomDisplayName; _Bool m_isChatRoomMessageUnsafe; _Bool m_isChatRoomDisplayNameUnsafe; _Bool m_isSender; _Bool _isShowStatusView; _Bool _highlighted;}
这里面有一个非常有用的对象CMessageWrap,这个对象封装了与消息有关的一些属性,我们再去探究一下CMessageWrap的头文件里面有些什么可用的信息,以下只例举几个常用的属性:
@interface CMessageWrap : MMObject{ NSString *m_nsFromUsr; //发送人 NSString *m_nsToUsr; //接收人 unsigned int m_uiMessageType; //消息类型 NSString *m_nsContent; //消息内容 ......}
阅读全文
0 0
- iOS逆向 微信消息界面分析
- 逆向探索微信消息界面实现
- iOS逆向 微信屏蔽群消息
- Cycript实战(微信-登陆界面)-iOS逆向工程
- iOS逆向之分析微信导航栏实现
- iOS逆向 — 逆向微信,透视聊天背景
- objc消息逆向分析
- Reveal逆向工程:分析任意iOS应用的UI界面
- 微信消息界面的实现
- iOS逆向-企业微信修改打卡定位
- 初探iOS逆向工程+微信小牛试刀
- iOS逆向之“修改微信运动步数”
- iOS 逆向 越狱手机如何安装老版本微信
- IOS逆向微信2017版本收红包
- 微信逆向笔记
- iOS逆向入门实践 — 逆向微信,伪装定位(一)
- iOS逆向入门实践 — 逆向微信,伪装定位(一)
- iOS逆向入门实践 — 逆向微信,伪装定位(二)
- 测试相关文档
- 四平方和
- 1059. C语言竞赛(20)
- Android异步任务AsyncTask的使用与原理分析
- 基于Dubbo框架的秒杀系统设计与实现-1
- iOS逆向 微信消息界面分析
- QA 工程师去买床
- CSS(一)
- Android优雅的进行混淆——使用@Keep注解 重要
- 受限玻尔兹曼机详解
- Linux系统基础
- 【微信公众号】通过ticket换取2种二维码方式
- Dom操作总结
- RecyclerView的stableId究竟是什么?有什么用?我们将在这里揭秘!