本帖最后由 hjw45611 于 2019-3-14 15:23 编辑
严重声明
本文的意图只有一个就是通过分析app学习更多的逆向技术,如果有人利用本文知识和技术进行非法操作进行牟利,带来的任何法律责任都将由操作者本人承担,和本文作者无任何关系,最终还是希望大家能够秉着学习的心态阅读此文。
前两天有人想让我做一个微信自动加好友的功能,今天就想试一试。
以微信6.6.7版本为例,手机root与Xposed框架安装本文不做讨论,如有需要查看论坛内其他帖子,本文只用于Xposed模块编写。
经坛友提醒,使用文本存储手机号,在进行读取for循环添加时,10个以上的时候就会产生操作过于频繁的提醒,而且这个提醒大概一个小时才能解除。
经过优化后,增加了线程的sleep时间,可实现自动循环查看好友信息,但在运行到25个左右时也会触发操作过于频繁的提醒。
并且如果加好友的功能也增加上的话,也会由于加好友频繁而被限制,所以最好是通过ContentProvider把大量手机号批量写入到手机通讯录数据库中,然后使用微信的添加通讯录好友的方式来添加好友,但有网友反应可用,也有网友反应加的多了收不到验证信息,我也并未实验, 以下分析流程就仅做参考吧。
至今(2019-03-14)微信自动加好友的分析已经完成,主要分三步:
1.查找好友(本文)
2.自动点击添加好友按钮进入验证页面
https://www.52pojie.cn/thread-886190-1-1.html
3.自动发送验证信息
https://www.52pojie.cn/thread-897346-1-1.html
希望喜欢Xposed的朋友能交流学习,从中获益。
1.首先查看微信加好友的页面
是FTSAddFriendUI这个Activity。
2.使用jadx打开app,查找FTSAddFriendUI
3.寻找突破点
屏幕快照 2019-02-18 22.13.24.png (119.18 KB, 下载次数: 15)
2019-2-19 09:31 上传
大体浏览后没有类似EditView的实例对象,但发现一个内部类FTSAddFriendUI$5
屏幕快照 2019-02-18 17.49.34.png (307.29 KB, 下载次数: 9)
2019-2-19 09:31 上传
-1通过简单分析,确定这个内部类是搜索好友后的结果显示
成功的话就intent跳转,失败的话就显示该用户不存在等错误信息
-2直接查找它的使用
是CM方法使用到它了,分析可得这个方法的参数就是输入框的字符串,字符串不为空后进行查询,并显示一个正在查询的Dialog,有结果后回调OnCancelListener,并且触发内部类FTSAddFriendUI$5中的结果显示方法。