这一次,小程演示怎么让一个APP自动地运行,从而代替手工的操作。同样以“微信”以例,实现在一个微信群里面,对所有的成员,自动地一个一个地发出添加好友的请求。
知识点还是之前介绍的东西,流程方面还是跟踪与最终注入。因为这是一个系列的文章讲解(微信公众号“广州小程” -> 逆向开发),所以读者可以联系前面的文章来理解,用自己的话“翻译”成自己的知识与经验。
本文解决一个问题:如何让第三方程序自动化地运行。
(一)批量添加好友的效果
小程使用“奇哥”的账号,在某个群里面向所有人请求加好友,程序运行的效果是这样的:
同样,如果是附近的人,也可以做到自动批量地发出请求:
需要解释一下,这种批量加好友的行为是被微信限制的,并且会对违规者作出处罚。那加人的限制是怎么样的?小程在网上找了一个说法,读者可以了解一下:
2017+微信加人限制规则:
微信群:最多每天30~50个,保险是20人,超过对方收不到验证信息。
附近的人:15个每次,每天最多3次,每次之间最少间隔×分钟;
摇一摇:15个每次,每天最多3次,每次之间最少间隔×分钟;
搜索微信号:6个每次,每天最多5次,每次之间最少间隔×分钟;
手机通讯录:8个每次,每天最多6次,每次之间最少间隔×分钟;
漂流瓶:5个每次,每天最多3次,每次之间最少间隔×分钟;
主动加好友:每天每个微信号,最多30个;
被动加好友:每天每个微信号,最多180个。
如果被限制了,会有什么表现呢?首先,不会有特别的通知告诉你,但你发送的请求不会去到别人那里(如果是在“附近的人”,那就是你可以看到别人,而别人看不到你;你打呼,别人不会收到。),而且,需要过一个星期或更长时间,才能正常“交流”。
所以,应该慎用批量加好友的功能。
小程在这里只是演示“如何自动化”,目的并非加好友。
(二)如何实现
先是跟踪目标函数。
(1)群成员列表的界面类是什么?
由此可见,ChatRoomInfoViewController是一个目标,它的结构是这样的:
注意m_arrMemberList这个变量,它就是所有群成员的数组,每一个成员是一个CContact。
(2)点击每一个群成员
点击一个成员,就是调用- (void)openContactInfo:(id)arg1 这个函数,传入的就是成员。
可以想像,只要循环调用这个函数,并传入不同的成员,就可以达到批量点击成员的目的。
(3)触发添加成员
点击成员后,进到“成员详细资料”页面,这个页面所在类是这样的:
再作一些猜测与跟踪,就可以知道,点击“添加到通讯录”,触发的函数是
ContactInfoViewController::onSendVerifyMsg。
(4)发送请求
到了这一步,就是填写打招呼的内容了。一个好的招呼应该是带上对方昵称的,而这个昵称可以从成员信息中取得。如果微信的UITextField有长度限制(有些版本作了限制)的话,还可以重写文本框的回调以取消限制。
发送请求的类:
(三)总结
小程在这里给出一个批量自动化的思路:
手动进到群成员列表,然后进入自动化流程。
在ChatRoomInfoViewController::viewDidLoad完成时,取得m_arrMemberList即成员列表,循环打开每个成员。
使用CContact::isMyContact,判断成员是否已经添加过了,如果是则下一个成员。
每点击一个成员时,设置一个变量的状态,然后进入等待,直到这个变量的状态变化,再进入下一个成员的点击。
点击成员,进入到“详细资料”界面,同时,UINavigationController进入等待若干秒(比如4秒),若干秒后执行返回操作(不管最终是否添加成功)。
进入验证界面,在SendVerifyMsgViewController::viewDidLoad时,设置好UITextField的内容,再触发onSendVerifyMsg的调用。
验证如果成功,则验证界面会自动消失,如果失败(失败有回调)则需要主动调用一下成功时的调用使得验证界面消失。这时即使有alertview弹框也不影响后续的操作。
UINavigationController执行返回操作,并设置可以下一个成员。
ChatRoomInfoViewController执行下一个成员。
总结
以上所述是小编给大家介绍的iOS逆向开发之微信自动添加好友功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
本文向大家介绍微信开发之微信jssdk录音功能开发示例,包括了微信开发之微信jssdk录音功能开发示例的使用技巧和注意事项,需要的朋友参考一下 项目需求简单描述 用户长按录音,松手后直接结束录音,结束录音后,用户可以选择重新录音、播放刚才的录音,上传录音(这里的上传录音指上传到自己服务器,上传步骤是,前端调用wx.uploadVoice,后台再到微信服务器下载音频文件,上传到自己的服务器)。注意,
短信是企业在日常活动邀请通知时常用的推广方式,基于微信的小程序外部链接能力,我们可通过在短信内容中插入小程序的转化链接,将客户引导进入微信为其提供服务,如添加企业微信好友、进入公众号关注推文获取更多服务,为用户提供更好的体验,本指南将以引导客户添加企业微信好友提供一对一服务为例: 1. 创建业务人员的企业微信添加好友二维码; 访问【营销通】-【企业微信营销】-【吸粉二维码】,在此处创建对应业务人员
本文向大家介绍Android仿微信朋友圈点击加号添加图片功能,包括了Android仿微信朋友圈点击加号添加图片功能的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了类似微信朋友圈,点击+号图片,可以加图片功能,供大家参考,具体内容如下 xml: NinePhotoView.java Measure 我们的子View三个一排,而且都是正方形,所以我们上面通过循环很好去得到所有子View的
本文向大家介绍Python开发之快速搭建自动回复微信公众号功能,包括了Python开发之快速搭建自动回复微信公众号功能的使用技巧和注意事项,需要的朋友参考一下 在之前的一篇文章 Python利用 AIML 和 Tornado 搭建聊天机器人微信订阅号 中用 aiml 实现了一个简单的英文聊天机器人订阅号。但是只能处理英文消息,现在用 图灵机器人 来实现一个中文的聊天机器人订阅号。 这里主要介绍如何
本文向大家介绍C#微信开发之微信公众号标签管理功能,包括了C#微信开发之微信公众号标签管理功能的使用技巧和注意事项,需要的朋友参考一下 微信公众号,仿照企业号的思路,增加了标签管理的功能,对关注的粉丝可以设置标签管理,实现更加方便的分组管理功能。开发者可以使用用户标签管理的相关接口,实现对公众号的标签进行创建、查询、修改、删除等操作,也可以对用户进行打标签、取消标签等操作。本篇随笔主要介绍如何利用
本文向大家介绍iOS实现微信朋友圈与摇一摇功能,包括了iOS实现微信朋友圈与摇一摇功能的使用技巧和注意事项,需要的朋友参考一下 本Demo为练手小项目,主要是熟悉目前主流APP的架构模式.此项目中采用MVC设计模式,纯代码和少许XIB方式实现.主要实现了朋友圈功能和摇一摇功能. 预览效果: 主要重点 1.整体架构 利用UITabBarController和UINavigationControlle