0x1. 写在前面
不知道大家有没有遇到过这种情况,微信收到消息,但是没有及时查看,然后闲暇时去看的时候,消息被撤销了,撤销了!
那时肯定是无比无语,挠心挠肺,究竟发了什么?
有没有一种神器可以防消息撤销呢,有的!其实移动端和mac上已经有人做了相关的插件,但是PC端貌似没人来啃这块骨头。
当然也可能是我没找到,不过不管怎样,对我来说就是没有。
既然如此,小生来!
0x2. 技术分析
先理一下思路:
1.对方发送消息之后,我收到消息并在消息窗口显示
2.然后对方点击菜单选择撤销
3.我会收到发来的撤销通知,然后删除消息窗口显示的消息
所以分析方向就基本定为两个方向了:
1.一个是通过分析网络消息找到撤销消息,然后拦截该消息阻止消息被撤销
2.另一个是找到撤销消息的界面操作,patch掉这个撤销消息的操作即可
开始之前,先了解一下微信主要模块都实现什么功能。
模块 | 功能 |
---|---|
WeChat.exe | 主程序,初始化操作,加载WeChatWin.dll |
WeChatWin.dll | 主要功能模块,包括界面、网络、功能 |
wechatresource.dll | 保存资源的模块,包括界面资源 |
主要分析目标就是WeChatWin.dll,其实很