Xposed监控微信操作行为之:删除聊天消息。分4种情况。笔记记录。

版权声明:允许转载,请注明来源。 https://blog.csdn.net/weixin_42127613/article/details/82695658

要做一个监控微信操作行为的功能,即监控这个手机上,用户对微信做了哪些操作行为。现在要做一个监控删除聊天消息的行为记录,即一旦用户删除微信上的聊天记录,就将此行为记录下来。

经过研究,删除聊天消息,有4个情况:聊天页面单条删除、聊天页面选择多条批量删除、在主页面删除一个好友会话、在主页面删除一个群会话。

其实还有一种情况,就是用微信自带的聊天消息清理功能。不过这个就算了,暂时不监控了。

本文的测试环境,都是基于微信6.6.7版本,其他版本的函数名可能不一样。本文也仅作为自己的一个笔记记录,以免以后忘记。

跟踪点击事件,使用Android studio自带的Android profiler。就是下面的这个东东。

准备好后,在点击按钮事件之前,点击profiler的红色记录按钮,开始记录。点击事件完成后,再次点击按钮结束记录。

之后,就可以看到记录了。

搜索click方法,从而觅得点击事件的关键处。

1、单条聊天消息删除时,记录轨迹页面如下。

hook类com.tencent.mm.ui.chatting.viewitems.b$c$a里面的onMMMenuItemSelected函数,如果发生单条聊天消息删除,就会调用此方法。

2、在聊天界面,批量删除多条消息,轨迹如下。

由于批量删除不是弹出上下文菜单,而是选择后在底部点击按钮,之后还有再次确认,才会调用删除功能。因此需要hook类com.tencent.mm.ui.chatting.b.j$2$1里面的onClick函数。

3、在主页面,删除一个好友会话。

删除一个会话时,点击菜单后,会先弹出确认对话框。所以如果直接hook上下文菜单的选项,是不准确的。因为有可能点击了取消。要能正确监控确实删除了会话,需要hook类com.tencent.mm.ui.conversation.b$2里面的onClick函数。

4、在主页面,删除一个群会话。

需要hook类com.tencent.mm.ui.conversation.b$9里面的onClick方法。

猜你喜欢

转载自blog.csdn.net/weixin_42127613/article/details/82695658
今日推荐