版权声明:本文为xing_star原创文章,转载请注明出处!

本文同步自http://javaexception.com/archives/130

微信好友检测助手App

最近几周,写了个微信好友检测助手App,写这个的初衷是为了低成本的让用户检测自己微信上删除或拉黑自己的好友,不考虑用xposed插件的方式实现,主要还是普通用户玩不了这么复杂的东西,定位于小白用户。

起因是小道消息在公众号发了篇如何判断一个人有没有删掉你微信好友的文章? 没几天一个朋友分享了个小技巧,文章是 一个小技巧,看看谁删了你微信好友? 一共是两种方式,单人的话,给对方转账0.01元,不是好友会有弹窗提示,如果有几百上千个好友,可以将多个好友拉入一个群里,一次性拉人不要超过30个人。微信好友检测助手App就是基于拉群的逻辑实现的,只支持Android,不支持iOS。

接着描述下技术原理吧,用的是Android的AccessibilityService辅助服务,市面上像豌豆荚自动安装软件,微信抢红包等,都是用的这个东西实现的,打开手机设置页的无障碍功能,这一页显示的App都会用到AccessibilityService。除了AccessibilityService外,还使用了百度文字识别技术,识别图片中的文字。微信android 7.0版本后,做了很多反制措施,单纯的AccessibilityService已经无法做到抢红包这样的功能了,对于检测好友也是一样。这里参考了github上的https://github.com/LnJan/WechatLuckyMoneyGetter 项目,使用了ocr识别技术,经过一番调研,发现百度文字识别sdk的准确率速度都很不错,api调用次数不多的情况下也不收费,值得个人开发者尝试。经过几周的业余时间开发,微信好友检测助手App终于发布了。

写这个App还是花费了很多精力,虽然看起来简单,但是做好还是不容易的。代码不开源,一是使用了百度文字识别sdk,开源的话,key信息也会泄漏; 二是代码不是很复杂,主要包含AccessibilityService,App屏幕截图,以及图片识别三部分。花点时间应该都不是问题。

目前只支持微信7.0.4版本,而且后续只考虑适配7.x.x版本,6.x.x的版本就不考虑适配了。

App页面效果展示

碰到问题怎么办?

如果碰到问题,请到关于页面开启调试模式,点击三次即可开启,调试模式下,可以确认自己的手机是否支持App截屏?当前百度文字识别sdk是否可用?这些信息可以方便开发者定位问题。也更好的为用户解决问题。另外屏幕截图图片浏览功能,这个功能记录了检测助手执行中产生的痕迹,对于每次拉群后的截图图片都做了存储,用户可以在浏览所有拉群的图片,长安图片,会弹出保存图片,百度ocr识别两个功能,支持图片保存到sd卡,以及手动测试百度ocr的效果。

首页文案只显示不支持当前设备微信版本xxx

如果提示这个,那说明检测助手App还不支持用户所使用的微信版本,可以联系开发者,开发者在调研后,再决定是否支持该版本。

当前设备未安装微信

提示这个的话,没有微信就卸载检测助手吧

如果觉得App对你有用,真的帮到了你,可以到关于页面打赏捐赠,支持微信和支付宝。

另外我还特意建了个微信群,用来解决用户使用微信检测助手碰到的问题,有需要的可以扫码加群。当然了,也可以在这篇文章下面留言。

相关参考过的资料:

微信抢红包工具,免root,支持微信7.0.4 https://github.com/LnJan/WechatLuckyMoneyGetter

基于tess_two做的Android文字识别demo https://github.com/wangyisll/TessTwoDemo

App下载地址

链接:https://pan.baidu.com/s/1huTSf_xlnybKwIOJz0DX5A 密码:5c01

或者点击这里下载http://javaexception.com/wp-content/uploads/2019/wechatFriendsHelper_1.0_release.apk

更新至1.1版本(修改于2019.06.30)

1.1版本修复了部分bug
一次选择39个好友拉入群
优化最后一次拉群重试等待时间
添加了使用教程以及常见问题

微信好友检测助手Android版app 1.1的下载地址是 http://javaexception.com/wp-content/uploads/2019/wechatFriendsHelper_1.1_release.apk

百度网盘链接: https://pan.baidu.com/s/1YQtIpPcH9uCh5-OfiZpMnw 提取码: 6yis

更新至1.2内测版本(修改于2019.08.28)

适配了微信7.0.6,兼容原来的7.0.4版本

部分细节优化

微信好友检测助手Android版app 1.2的下载地址 http://javaexception.com/wp-content/uploads/2019/WechatFriend-release-v1.2.apk

最近几周,写了个微信好友检测助手App的更多相关文章

  1. Swift - 发送消息(文本,图片,文件等)给微信好友或分享到朋友圈

    通过调用微信提供的API接口,我们可以很方便的在应用中发送消息给微信好友,或者分享到朋友圈.在微信开发平台(https://open.weixin.qq.com)里,提供了详细的说明文档和样例.但由于 ...

  2. 【转】Python微信好友头像拼接图

    转自:Python微信好友头像拼接图 今天在朋友圈看到有人发了微信好友拼接图,心里满是新奇,看了下评论才知道用Python写的.心里痒痒,立马就安装了下Python. 安装好了之后,看了下大神的代码, ...

  3. Python-定时爬取指定城市天气(一)-发送给关心的微信好友

    一.背景 上班的日子总是3点一线,家里,公司和上班的路径,对于一个特别懒得我来说,经常遇到上班路上下雨了,而我却没带伞,多么痛的领悟.最近对python有一种狂热的学习热情,写了4年多的C++代码,对 ...

  4. 爬微信好友签名和QQ好友签名

    先说如何爬微信好友签名,主要使用itchat,这个库提供直接的api来获取好友信息,只要用正则过滤出就行了.说一下步骤,就不贴代码了.# 登陆# 获取好友列表# 提取签名# jieba分词# word ...

  5. 我用 Python 爬取微信好友,最后发现一个大秘密

    前言 你身处的环境是什么样,你就会成为什么样的人.现在人们日常生活基本上离不开微信,但微信不单单是一个即时通讯软件,微信更像是虚拟的现实世界.你所处的朋友圈是怎么样,慢慢你的思想也会变的怎么样.最近在 ...

  6. 用Python对微信好友进行简单统计分析,获取好友的基本信息!

      早些日子有人问我我的微信里面有一共多少朋友,我就随后拉倒了通讯录最下面就找到了微信一共有多少位好友.然后他又问我,这里面你认识多少人?这一句话问的我很无语.一千多个好友我真的不知道认识的人有多少. ...

  7. python3爬取墨迹天气并发送给微信好友,附源码

    需求: 1. 爬取墨迹天气的信息,包括温湿度.风速.紫外线.限号情况,生活tips等信息 2. 输入需要查询的城市,自动爬取相应信息 3. 链接微信,发送给指定好友 思路比较清晰,主要分两块,一是爬虫 ...

  8. Python之微信-微信好友头像合成

    仔细看下图,你的头像就藏在里面哦!!! 有没有犯密集恐惧症?这并不震撼,如果你有 5000 位好友的话,做出来的图看着会更刺激些. 看完了图,你可能想知道这个图咋做出来的,不会是我闲着无聊把把好友头像 ...

  9. ListView模拟微信好友功能

    ListView模拟微信好友功能 效果图: 分析: 1.创建listView 2.创建数据 3.创建适配器 将数据放到呈现数据的容器里面. 将这个容器(带数据)连接适配器. 其实是直接在我们自己写的a ...

随机推荐

  1. mac os 搭建私有DNS 之 dnsmasq

    - MAC OS 创建私有DNS 仓库 - 使用场景 实际工作中有一些私有的域名需要修改host才可以访问 例如:localhost.dev develop-test.dev - 安装方法 brew ...

  2. nmon脚本——对Linux服务器的监控

    继服务器被挖之后,我又开拓了另一个监控工具----nmon! Nmon可以很轻松的监控系统的CPU.内存.网络.硬盘.文件系统.NFS.高耗进程.资源和IBM Power系统的微分区的信息,还有专属的 ...

  3. ACM中java中BigInteger和Decimal用到的主要函数

    java中大数以及高精度常用函数 使用java大数类解决问题时我们需要注意两个方面:1.不能有包名,也就是说我们要把主类放到默认的包里,如果你的代码里出现形如package cn.gov.test;这 ...

  4. 强化学习二:Markov Processes

    一.前言 在第一章强化学习简介中,我们提到强化学习过程可以看做一系列的state.reward.action的组合.本章我们将要介绍马尔科夫决策过程(Markov Decision Processes ...

  5. CodeForces1006A - Adjacent Replacements

    A. Adjacent Replacements time limit per test 1 second memory limit per test 256 megabytes input stan ...

  6. 开通博客第一天,记录此时此刻,开始学习加强c#

    从2017年6月毕业到现在,不断的学习.net,在工作中不断的加强技术,终于在此时此刻决定开通博客,记录此后每一天学习的技术点,两年来,每天所涉及的技术点很杂,学了这个忘了那个,总感觉在进步却总是觉得 ...

  7. JavaScript中的"奇奇怪怪"

    filter等方法的隐式转化 var list = [1,,2,,0,5,9];console.log(list[1]); // console: undefinedconsole.log(list[ ...

  8. postman接口测试工具的常规使用

    目录 postman接口测试工具简介与安装 postman发送get请求 JSON数据详解 postman发送post请求 postman中post请求传参说明 postman设置请求的header ...

  9. 安装mysql5.7(亲手实操)

    https://files-cdn.cnblogs.com/files/yucoder/%E5%AE%89%E8%A3%85mysql5.7.pdf

  10. java基础篇二

    引言 滴,第二天卡. 五.关键字 -static         -初始化顺序             -静态变量和静态语句块优先于实例变量和普通语句块,静态变量和静态语句块的初始化顺序取决于它们在代 ...