• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:03-18

按键精灵安卓版
立即下载

软件版本:3.3.8
软件大小:62.5M
更新时间:12-18

按键精灵iOS版
立即下载

软件版本:1.7.1
软件大小:29.2M
更新时间:06-22

最新企业版UiBot
立即下载

软件版本:3.3
软件大小:282M
更新时间:08-06

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
返回列表 12345678» / 25
发新话题 回复该主题

[技术交流] 【院刊】-【201410期】模拟真实鼠标动作防检测——“老鼠慢慢跑... [复制链接]

1#

模拟真实鼠标动作防检测——“老鼠慢慢跑”


有些游戏会检测到鼠标动作.频繁相同的点击很容易让游戏检测到我们使用了按键,这样的情况下,我们需要模拟鼠标移动,让鼠标像真是手动操作一样,慢慢的移动到终点。

论坛里的一位大牛:we似曾相识
曾经开展了"老鼠慢慢跑"的比赛征集帖,收集了各式各样模拟鼠标移动的代码,我们一起来看看~~~





内容提要



1点到点模拟鼠标真实移动——直线
2点到点模拟鼠标真实移动——直线+转折

3点到点模拟鼠标真实移动——直线+振幅
4点到点模拟鼠标真实移动——曲线

场景


mspaint画图工具中,让鼠标从点100,100 移动到点800,600




NO.1-点到点模拟鼠标真实移动——直线


代码1 作者:林家铺子
  1. x1 = 800 : y1 = 600 //目标点
  2. x2 = 100 : y2 = 100//起始点
  3. MoveTo x2,y2
  4. k = (y2 - y1) / (x2 - x1)
  5. b = y2 - k * x2
  6. For x = x2 To x1 Step sgn(x1 - x2)
  7. //sgn函数为返回表示数字符号的整数。当(x1 - x2)>0时,返回值为1.当(x1 - x2)<0时,返回值为-1.当=0时,返回值为0
  8. LeftDown 1
  9. MoveTo x, (k * x + b)
  10. LeftUp 1
  11. Delay 1
  12. Next
复制代码
运行效果:




代码2 作者:_雪狼
  1. Call 鼠标慢慢跑(100,100,800,600,5)
  2. Sub 鼠标慢慢跑(x1, y1, x2, y2,time1)
  3. Dim a, x, y, i
  4. x = x1 : y = y1
  5. a = x2 / y2
  6. MoveTo x1, y1
  7. For i = y To y2-1
  8. y = y + 1
  9. x = y * a
  10. LeftDown 1
  11. MoveTo x, y
  12. LeftUp 1
  13. Delay time1
  14. Next
  15. End Sub
复制代码
运行效果:


代码3-变速 作者:playandhappy
  1. //点到点直线移动,鼠标移动速度开始快后来越来越慢
  2. Call 老鼠慢慢跑(100,100,800,600,100)
  3. Sub 老鼠慢慢跑(x1,y1,x2,y2,times)
  4. MoveTo x1,y1
  5. While abs(x1-x2)>5 or abs(y1-y2)>5
  6. GetCursorPos x1, y1
  7. LeftDown 1
  8. MoveR (x2 - x1) / 4, (y2 - y1) / 4
  9. LeftUp 1
  10. Delay times
  11. Wend
  12. LeftDown 1
  13. MoveTo x2, y2
  14. LeftUp 1
  15. End Sub
复制代码
运行效果:



代码4-移动次数 作者:fuyong198010222
  1. //点到点直线移动,并且可以设置移动几次到达目标地点
  2. Dim a, b, c, d ,n,t //起点(100,100),终点(800,600)
  3. a = 100 : b = 100 : c = 800 : d = 600
  4. //匀速直线移动
  5. UserVar n=100 "多少次移动到位"
  6. UserVar t=50 "每一次移动相隔多少时间"
  7. Call 老鼠慢慢跑()
  8. Sub 老鼠慢慢跑
  9. MoveTo a, b
  10. Delay t
  11. For n
  12. x = (c - a) / n : y = (d - b) / n
  13. LeftDown 1
  14. MoveR x, y
  15. LeftUp 1
  16. Delay t
  17. Next
  18. End Sub
复制代码
运行效果:



代码5-移动间隔 作者:xuyuzui
  1. MoveTo 100,100
  2. Call 老鼠慢慢跑(800, 600, 5, 50)
  3. Sub 老鼠慢慢跑(x, y, mousestep, mouseDelay)
  4. 'x,y : 移动终点坐标 ' mousestep: 移动间距 'mouseDelay : 移动时间间隔(ms)

  5. Dim Xstep, Ystep
  6. Dim curx, cury, PianYiX, PianYiY
  7. GetCursorPos curx, cury
  8. If abs(curx - x) < mousestep And abs(cury - y) < mousestep Then
  9. LeftDown 1
  10. MoveTo x, y
  11. LeftUp 1
  12. Exit Sub
  13. End If
  14. Xstep = (x - curx) / mousestep
  15. Ystep = (y - cury) / mousestep
  16. If abs(Xstep) > abs(Ystep) Then
  17. PianYiX = mousestep * sgn(Xstep)
  18. PianYiY = (y - cury) / abs(Xstep)
  19. Else
  20. PianYiX = (x - curx) / abs(Ystep)
  21. PianYiY = mousestep * sgn(Ystep)
  22. End If
  23. LeftDown 1
  24. MoveR PianYiX, PianYiY
  25. LeftUp 1
  26. Delay mouseDelay
  27. Call 老鼠慢慢跑(x, y, mousestep, mouseDelay)
  28. End Sub
复制代码
运行效果:





NO.2-点到点模拟鼠标真实移动——直线+转折


代码1 作者:VBS技术者


  1. //tD几毫秒移动一点
  2. call 鼠标慢慢跑(100,100,800,600,5)
  3. Sub 鼠标慢慢跑(X1,Y1,X2,Y2,tD)
  4. Dim xl,yl,xc,yc,endx,endy,sx,sy
  5. Dim FORC,i
  6. xl=abs(clng(X1)-clng(X2))
  7. yl=abs(clng(y1)-clng(y2))
  8. EndX = X2
  9. EndY = Y2
  10. XC=1
  11. YC=1
  12. sx=x1
  13. sy=y1
  14. If clng(X1)>=clng(X2) Then
  15. EndX = X1
  16. xc = -1
  17. End If
  18. If clng(Y1)>=clng(Y2) Then
  19. EndY = Y1
  20. yc = -1
  21. End If
  22. If xl>yl Then
  23. FORC = xl
  24. Else
  25. FORC = yl
  26. End If
  27. For i = 1 To FORC+1
  28. LeftDown 1
  29. MoveTo sx, sy
  30. LeftUp 1
  31. Delay clng(tD)
  32. sx = sx + xc
  33. sy = sy + yc
  34. If sx=endx Then
  35. xc = 0
  36. End If
  37. If sy=endy Then
  38. yc=0
  39. End If
  40. Next
  41. End Sub
复制代码

运行效果:



代码2 作者:dinwidi
  1. //点到点直线移动,先走x轴横坐标直线,然后转折走y轴纵坐标直线,直至终点 (这是游戏里常用的单步移动的原理)
  2. Call 老鼠慢慢跑(100,100,800,600,5)
  3. Sub 老鼠慢慢跑(x1, y1, x2, y2, t)
  4. MoveTo x1,y1

  5. i = 0
  6. For abs(x1 - x2)
  7. LeftDown 1
  8. MoveTo x1+(x2-x1)/abs(x2-x1)*i,y1
  9. Delay t
  10. LeftUp 1
  11. i = i + 1
  12. Next
  13. i = 0
  14. For abs(y1 - y2)+1
  15. LeftDown 1
  16. MoveTo x2, y1 + (y2 - y1) / abs(y2 - y1) * i
  17. LeftUp 1
  18. Delay t
  19. i = i + 1
  20. Next
  21. End Sub
复制代码

运行效果:




NO.3-点到点模拟鼠标真实移动——直线+振动


代码 作者:lucky619486332
  1. //点到点直线移动,移动中鼠标轻微震动
  2. Call 老鼠慢慢跑(100,100,800,600,50)
  3. Sub 老鼠慢慢跑(x1, y1, x2, y2, t)
  4. MoveTo x1,y1
  5. While x2 - x1 <> 0 and y2 - y1 <> 0
  6. d1 = x2 - x1 : d2 = y2 - y1
  7. If abs(d1) >= abs(d2) Then
  8. xt = int(abs(d1 / d2))
  9. For xt
  10. LeftDown 1
  11. MoveR d1 / abs(d1), 0
  12. LeftUp 1
  13. Delay t
  14. Next
  15. LeftDown 1
  16. MoveR 0, d2 / abs(d2)
  17. LeftUp 1
  18. Delay t
  19. Else
  20. yt=int(abs(d2 / d1))
  21. For yt
  22. LeftDown 1
  23. MoveR 0, d2 / abs(d2)
  24. LeftUp 1
  25. Delay t
  26. Next
  27. LeftDown 1
  28. MoveR d1 / abs(d1), 0
  29. LeftUp 1
  30. Delay t
  31. End If
  32. GetCursorPos x1, y1
  33. Wend
  34. End Sub
复制代码
运行效果:




NO.4-点到点模拟鼠标真实移动——曲线


代码 作者:xxx_mail
  1. Sub 鼠标慢慢跑(x1,y1,振幅,周期)

  2. Dim x0,y0,x,y, 距离,q0,q1,r,t,a
  3. x0 = 100
  4. y0 = 100
  5. MoveTo x0,y0
  6. 距离=sqr((x1-x0)^2+(y1-y0)^2)
  7. q1 = 角度计算((x1-x0),(y1-y0))
  8. pi = Atn(1)*8
  9. a = 距离/pi
  10. t=周期/pi
  11. For i=0 To pi step 0.001
  12. x=x1-距离+i*a
  13. y =y1+振幅*sin(i)
  14. q0 = 角度计算(x-x1,y-y1)
  15. r=sqr((x-x1)^2+(y-y1)^2)
  16. x =x1+r*Cos((q0+q1))
  17. y = y1 + r * Sin((q0 + q1))
  18. LeftDown 1
  19. MoveTo x, y
  20. LeftUp 1
  21. Delay t
  22. Next
  23. End Sub
  24. Function 角度计算(x, y)
  25. If x = 0 Then
  26. x = 0.0001
  27. End If
  28. If x > 0 and y >= 0 Then
  29. 角度计算 = (Atn(y / x))
  30. ElseIf x > 0 and y < 0 Then
  31. 角度计算 = (Atn(y / x))+pi
  32. ElseIf x < 0 Then
  33. 角度计算 = (Atn(y / x)) + pi/2
  34. End If
  35. End Function
复制代码
运行效果:





NO.5
为了加强模拟效果,我们可以将上述代码中移动间隔时间、移动距离使用随机数来代替。

如果童鞋们对于本帖里的内容有疑问或者建议,欢迎跟帖讨论~~




本文由按键学院提供技术支持
2个月学会赚大钱的脚本,报名倒计时4天
按键学院10月实战班卷土来袭




    已有9评分我要评分查看所有评分

    最后编辑n15976906190 最后编辑于 2020-03-15 13:22:56
    本主题由 超级版主 n15976906190 于 2017/9/2 8:41:39 执行 审核主题 操作
    按键学院免费交流群:376122403

    按键学院招生计划
    按键学院系统教程
    2#

    支持下啊

    3#

    201410期】模拟真实鼠标动作防检测——“老鼠慢慢跑”修改

    4#

    大家都好厉害啊!!!

    5#

    支持

    承接脚本软件程序定制开发
    联系作者请点击,或加QQ:1945994728
    6#

    这个给力~~~!

    7#

    膜拜,来学习

    8#

    交换机和交换机

    9#

    jkhkhjgjghjgjh

    10#

    你好看看

    11#

    不错的贴子

    12#

    看看吧

    13#

    看看看看看看看看

    14#

    都是大神啊

    15#

    回来聊,就一天天

    16#

    .............

    17#

    谢谢啦大牛

    18#

    我记得好像回复过了啊

    19#

    瞅一下

    好孩子一枚。
    20#

    615631

    发新话题 回复该主题