微信用的时间长了。加了不少人。这些“朋友”中有不少都是不认识或是做徽商的。也有不少是将自己删除或拉黑的。既然把自己删除拉黑了。那我们也不需要这些人继续呆在通讯录里了。如何才能做到即不打扰别人又能找到这些将自己删除或拉黑的人呢?
原理也蛮简单的,我们只要给通讯录的每一个好友发送一个空白的名片消息,然后系统会告诉我们“开启了朋友验证。。(被删除)”或是“消息已发出,但被对方拒收了”(被拉黑)。根据这些系统提示我们就知道是否被删除或拉黑了,然后就可以删除这些删除我们的人。
步骤1:我们需要读取好友通讯录里的所有好友。(可以上GIT查找相关资料)。并找到读取列表的CALL。
步骤2:首页我们要找到PC微信的发名片的CALL(0x2FA7F0),找到这个CALL后,我们发一个空名片消息。
//大致格式如下:
"<?xml version=\"1.0\"?>
<msg bigheadimgurl=\"http://wx.qlogo.cn/mmhead/ver_1/7IiaGRVxyprWcBA9v2IA1NLRa1K5YbEX5dBzmcEKw4OupNxsYuYSBt1zG91O6p07XlIOQIFhPCC3hU1icJMk3z28Ygh6IhfZrV4oYtXZXEU5A/0\" smallheadimgurl=\"http://wx.qlogo.cn/mmhead/ver_1/7IiaGRVxyprWcBA9v2IA1NLRa1K5YbEX5dBzmcEKw4OupNxsYuYSBt1zG91O6p07XlIOQIFhPCC3hU1icJMk3z28Ygh6IhfZrV4oYtXZXEU5A/132\" username=\"%s\" nickname=\"%s\" fullpy=\"?\" shortpy=\"\" alias=\"%s\" imagestatus=\"3\" scene=\"17\" province=\"北京\" city=\"中国\" sign=\"\" sex=\"0\" certflag=\"%s\" certinfo=\"\" brandIconUrl=\"\" brandHomeUrl=\"\" brandSubscriptConfigUrl= \"\" brandFlags=\"0\" regionCode=\"CN_BeiJing_BeiJing\" />"
步骤3:我们发完消息后,会收到系统通知。这就是我们要判断的依据。返回消息我们有2种(可能还有其他,没做过多测试)。
当返回内容是:开启了朋友验证,... 时,说明对方删除了自己,但还没有拉黑。
当返回内容是:消息已发出,但被对方拒收了 。说明将自己拉黑了。
步骤4:根据系统返回消息将删除自己的人列出来,然后通过删除好友的CALL,将他们一一删除。
界面:
完工。