【回复“1024”,送你一个特别推送】
其实也不能说算是外挂吧,算是个游戏小助手吧,毕竟不能抓包,也不能直接修改分数(据说之前可以直接抓包修改分数,不过这漏洞已经被微信官方修复),今天这个是 Android 同学可以非常容易看懂的一篇文章,是从 Android 的角度实现的,附带着技术原理分析和代码分析。
这个开源库已经被我同学分享到 GitHub 上,他自己很无聊,就写了这个东西和这篇文章,自己通过写代码实现高分也是玩的不亦乐乎,这就是程序员和普通玩家的区别吧。
开源库地址:https://github.com/xushanmeng/WechatJumpHelper
功能简介
用JAVA自动控制手机玩跳一跳
自动识别图像计算距离
自动帮你点击屏幕
自动缓存图片,并在图片上标记一些识别结果,如下图:
运行环境
JAVA,最低版本为7.0,官网下载
adb驱动,官网下载(需要翻墙),或者到这里下载SDK-tools,其中就包含adb
安卓手机,目前已适配分辨率
1600x2560
1440x2560
1080x1920
720x1080
使用方法
有JAVA开发工具的同学可以直接运行java代码,便于代码调试,下面主要介绍运行已经打包好的jar包的方法
手机打开USB调试,并连接电脑
打开USB调试方法,进入
设置
,找到开发者选项
,打开并勾选USB调试
;如果没有
开发者选项
,进入关于手机
,连续点击版本号
7次,即可开启开发者选项
。
通过下面的命令,运行Android.jar
java -jar Android.jar
根据手机分辨率选择跳跃系数,目前已适配机型:
其他分辨率请自己微调。
-
1600x2560机型推荐0.92
1440x2560机型推荐1.039
1080x1920机型推荐1.392
720x1080机型推荐2.078
原理说明
通过adb命令控制手机截图,并取回到本地
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png .
图片分析
有靶点,即目标物体中心的白色圆点,则靶点中心为目标落点
无靶点,但是纯色平面,或者规则平面,则平面中心为目标落点
无靶点,又无纯色规则平面,但是左上和右上位置的斜率是固定的,可根据固定斜率的斜线和目标物体中心线的焦点计算落点
根据棋子的颜色,取顶部和底部的特征像素点,在截图中进行匹配,找到棋子坐标
由于目标物体不是在左上就是在右上,可以从上往下扫描,根据色差判断目标物体位置,其中又分为以下几种类型