import pyautogui as sb
import random
import time
def move(s,inta,intb,intc,intd):
a=random.randint(inta,intb)
b=random.randint(intc,intd)
sj=random.uniform(0.8,1.3)
s.moveTo(a, b,duration = sj)
move(sb,500,536,1044,1075)
sj=random.uniform(0.05,0.1)
sb.click(clicks = 1, button = 'left', interval = sj)
time.sleep(sj+1)
move(sb,960,1027,313,399)
sj=random.uniform(0.05,0.1)
sb.click(clicks = 1, button = 'left', interval = sj)
time.sleep(sj+1)
move(sb,560,600,800,850)
sj=random.uniform(0.05,0.1)
sb.click(clicks = 1, button = 'left', interval = sj)
time.sleep(sj+1)
move(sb,867,1090,350,750)
sj=random.uniform(0.05,0.1)
sb.click(clicks = 1, button = 'left', interval = sj)
time.sleep(sj+1)
move(sb,1380,1440,758,808)
sj=random.uniform(0.05,0.1)
sb.click(clicks = 1, button = 'left', interval = sj)
sj2=random.randint(4,5)
time.sleep(sj+sj2)
move(sb,1402,1457,700,767)
sj=random.uniform(0.05,0.1)
sb.click(clicks = 1, button = 'left', interval = sj)
i=1
while(i>0):
sz=random.randint(100,120)
time.sleep(sz)
sj=random.uniform(0.05,0.1)
sb.click(clicks = 1, button = 'left', interval = sj)
sz=random.randint(3,5)
time.sleep(sz)
move(sb,1402,1457,700,767)
sj=random.uniform(0.05,0.1)
sb.click(clicks = 1, button = 'left', interval = sj)
i=i+1
首先放代码,简单说一下,使用的是pyautogui来控制鼠标滑动。
首先重要的一点,简单说一下目前阴阳师的机制,网上有很多已经提到因为使用了按键精灵一类的软件导致账号被封,而我仔细看了网上的评论什么的以后,发觉可能最终的被封原因是因为,鼠标一直处于不动并且只在固定的时间进行点击,那么阴阳师只需要判断使用者鼠标点击的间隔时间就可以轻松判断是否使用了作弊软件。
那么如果想要跨越这一步应该怎么做呢,我们可以让鼠标移动随机,鼠标点击间隔时间随机,大量使用random模块。
所以首先编写了一个单独的函数move,控制鼠标移动,四个参数分别是最左点最右点、最上点最下点,然后寻找一个中间点,实现全随机。
我给出的代码是刷贪瞋痴的,如果想要刷魂蛇或者魂土需要移一下位置,一个简单的方法,可以使用qq的对话截图,从最左上往下截,可以直接看到当前所在点的位置。
还有笔者的刷图速度较慢,所以打一把御魂让程序沉睡了100秒+,相当于等待御魂刷完以后再次让鼠标移动。
最后说一下,打开编译器的时候需要管理员权限,因为打开时当点开阴阳师程序以后,相当于进入了另一个程序如果没有管理员权限程序无法继续运行。
另。。其实如果真的采用数据挖掘。。这种脚本是完全可以被识别出的,目前来看官方并没有采用,判断方式还是很单一。