做一个微信跳一跳的外挂

淘宝上好多卖跳一跳代练的,其实做一个很简单,不需要有安卓开发知识,不需要有图像识别知识,不需要有人工智能知识!重要的事情说三遍,都不需要。


简单说一下思路:


1.用adb连手机截图,命令是:

adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png

这样,屏幕就抓到本地了


2.用adb模拟按键

adb shell input swipe 800 800 800 800 650

就是在800x800这个位置按650ms


3.通过抓到的图,计算长度,换算成按屏幕的时间,模拟发出按键就可以了


4.想自动跳,就需要找到旗子和目标的位置,我把图片缩放成im.resize((1080/3, 1920/3))


4.1找到脑袋旗子脑袋有个像素值是:RGB(77, 71,116),找到这个点,往下55个像素大约就是底座的位置

               p = im.getpixel((x, y))
            
               if abs(p[0]-77)<5 and abs(p[1]-71)<5 and abs(p[2]-116)<5:
                     x+=1
                     y+=55

4.2找目标的值,这个想找准比较难,但是大差不差没问题

           1)取到背景颜色,沿y往下搜索,发现一个不是背景的时候,应该就是目标的最上面的点

                  问题1,有可能旗子比目标还要高,于是判断这个时候的 x 是否和(4.1)判断旗子x相差正负20像素,如果和棋子x比较近,需要丢弃继续找

                  问题2,如果目标是圆形,可能造成获取定点偏左,于是需要往后找,找到园顶中心那个点

            2)确定了定点,往下寻找中心点

                 如果是纯色,找到第一个不是该颜色的点即可,这个两点长度的一半就是中心,但是中间有可能是白点,需要忽略白点的 RGB(245,245,245)

                如果是杂色 ,则搜索的长度比较小,这时固定往下移动10像素当中心点就好了,跳不准但不会跳出


4.3找到起始点,和终点,计算一下距离,就可以开始跳了。

代码不贴了,很简单的。

            

最后,无图无真相



跳了两小时,1w分以上没啥意思了,也没什么变化了,可以跳到手机没电。

展开阅读全文

没有更多推荐了,返回首页