• 按键公众号 :
按键精灵电脑版
立即下载

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

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

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

返回列表 12345678» / 9
发新话题 回复该主题

[昨夜星辰] 【源码】按键精灵部分防检测技巧(第二弹) [复制链接]

1#
这里是防检测技巧的第二弹,今天要讲的是键鼠检测。

什么是键鼠检测?键鼠检测分以下几种情况:
1、键鼠操作无效或操作后马上掉线。
常见问题原因:
普通键鼠被检测。
可尝试解决方案:
可尝试更换驱动键鼠,如按键自带的超级模拟(SetSimMode 2),以及具有相同功能的其他驱动键鼠插件,如DD、大漠、乐玩等。

2、键鼠操作短时间后掉线。
常见问题原因:
行为检测其中一环,键鼠操作过于规律或太快,如延迟太短、延迟一致、点击某个东西的时候坐标完全一致等。
可尝试解决方案:
增加随机延迟、一定范围内的坐标随机。

3、鼠标操作总是乱跑,不能到达指定坐标点。
常见问题原因:
鼠标被干扰了。
可尝试解决方案:
使用MoveR封装替代MoveTo的功能。

4、鼠标操作较长时间后掉线。
常见问题原因:
行为检测其中一环,鼠标瞬移操作。
可尝试解决方案:
最常见的是使用鼠标轨迹进行模拟真人移动,但是这里我再提出一种鼠标移动方案,鼠标抖动。什么是鼠标抖动?就是在鼠标移动到目标点之前或者之后,鼠标在当前位置进行小幅度移动,由于移动幅度较小,看起来像是鼠标在抖,所以我给它取了这个名字。鼠标抖动相较于鼠标轨迹,甚至优于一些鼠标轨迹,而且效率更高,因为它跟正常移动一样也是瞬移过去,只是多动几下鼠标,而大部分人写的鼠标轨迹的移动步长和移动间隔是固定的,而不是浮动值,被针对也不是什么怪事。此方法是我被某游戏检测到了鼠标轨迹后想到的,我赌的就是游戏只检测你鼠标在点击前后是不是进行了快速地大范围的移动,亲测在一些游戏里有奇效。


键鼠随机延迟:
  1. MoveTo 100, 200
  2. Delay 生成随机数(10, 30)
  3. LeftDown 1
  4. Delay 生成随机数(30, 50)
  5. LeftUp 1
  6. KeyDown "A", 1
  7. Delay 生成随机数(30, 50)
  8. KeyUp "A", 1
  9. Delay 生成随机数(10, 30)
复制代码
鼠标移动随机范围:
  1. Call MoveTo1(100, 200, Array(2, 2))
  2. Function 生成随机数(num1, num2)
  3. Dim L, U
  4. If num1 > num2 Then
  5. L = num2
  6. U = num1
  7. Else
  8. L = num1
  9. U = num2
  10. End If
  11. Randomize
  12. 生成随机数 = CLng(Int((U - L + 1) * Rnd + L))
  13. End Function
  14. Function MoveTo1(x,y,偏移范围)
  15. x = x + 生成随机数(- 偏移范围(0) , 偏移范围(0))
  16. y = y + 生成随机数(- 偏移范围(1) , 偏移范围(1))
  17. MoveTo x, y
  18. End Function
复制代码
鼠标相对移动:
  1. Call MoveTo2(100, 200, Array(2,2))
  2. Function MoveTo2(x, y, 偏移范围)
  3. x = x + 生成随机数(- 偏移范围(0) , 偏移范围(0))
  4. y = y + 生成随机数(- 偏移范围(1) , 偏移范围(1))
  5. Dim jx, jy
  6. GetCursorPos jx, jy
  7. MoveR x - jx, y - jy
  8. End Function
  9. Function 生成随机数(num1, num2)
  10. Dim L, U
  11. If num1 > num2 Then
  12. L = num2
  13. U = num1
  14. Else
  15. L = num1
  16. U = num2
  17. End If
  18. Randomize
  19. 生成随机数 = CLng(Int((U - L + 1) * Rnd + L))
  20. End Function
复制代码
注:部分插件中的MoveR需要将电脑鼠标属性中的“指针移动速度”调节至6关闭“提高指针精准度”,否则鼠标移动的坐标可能无法正确到达。

鼠标轨迹移动:
  1. Call 鼠标轨迹移动(100, 200, Array(2,2), 0.02,Array(5,10))
  2. Function 鼠标轨迹移动(x, y, 偏移范围, 步长, 移动间隔)
  3. Dim jx, jy
  4. GetCursorPos jx, jy
  5. Dim 数据, 轨迹
  6. 数据 = 生成移动轨迹(jx, jy, x, y, 步长)
  7. 轨迹 = Split(数据, "-")
  8. For i = 0 To UBound(轨迹)
  9. 坐标 = Split(轨迹(i), ",")
  10. x = Clng(坐标(0))
  11. y = Clng(坐标(1))
  12. Call MoveTo2(x, y, 偏移范围)
  13. Delay 生成随机数(移动间隔(0),移动间隔(1))
  14. Next
  15. End Function
  16. Function MoveTo2(x, y, 偏移范围)
  17. x = x + 生成随机数(- 偏移范围(0) , 偏移范围(0))
  18. y = y + 生成随机数(- 偏移范围(1) , 偏移范围(1))
  19. Dim jx, jy
  20. GetCursorPos jx, jy
  21. MoveR x - jx, y - jy
  22. End Function
  23. Function 生成节点(x1, y1, x2, y2)
  24. 生成节点 = x1 & "," & y1 & "|" & CLng((x1 + x2) / 4) & "," & CLng((y1 + y2) / 2) & "|" & CLng((x1 + x2) / 2) & "," & CLng((y1 + y2) / 4) &"|" &x2 & "," & y2
  25. End Function
  26. Function 生成移动轨迹(x1, y1, x2, y2, 步进)
  27. 生成移动轨迹 = Plugin.TURING.BezierCurve(生成节点(x1, y1, x2, y2), 步进)
  28. End Function
  29. Function 生成随机数(num1, num2)
  30. Dim L, U
  31. If num1 > num2 Then
  32. L = num2
  33. U = num1
  34. Else
  35. L = num1
  36. U = num2
  37. End If
  38. Randomize
  39. 生成随机数 = CLng(Int((U - L + 1) * Rnd + L))
  40. End Function
复制代码
注:为了实现更仿真的轨迹,此功能使用了图灵插件提供的“贝塞尔曲线”,插件在源文件内可下载。

鼠标抖动移动:
  1. Call 鼠标抖动移动(100, 100, Array(2, 2), 3, Array(2, 4), Array(1, 3), Array(5, 10))
  2. Delay 生成随机数(30,50)
  3. Function 鼠标抖动移动(x, y, 偏移范围, 鼠标抖动模式, 鼠标抖动范围, 鼠标抖动次数, 鼠标抖动间隔)
  4. If 鼠标抖动模式 = 1 Or 鼠标抖动模式=3 Then
  5. Call 鼠标抖动( 鼠标抖动范围, 鼠标抖动次数, 鼠标抖动间隔)
  6. End If
  7. Call MoveTo2(x, y, 偏移范围)
  8. If 鼠标抖动模式 = 2 Or 鼠标抖动模式 = 3 Then
  9. Call 鼠标抖动(鼠标抖动范围, 鼠标抖动次数, 鼠标抖动间隔)
  10. End If
  11. End Function
  12. Function MoveTo2(x, y, 偏移范围)
  13. x = x + 生成随机数(- 偏移范围(0) , 偏移范围(0))
  14. y = y + 生成随机数(- 偏移范围(1) , 偏移范围(1))
  15. Dim jx, jy
  16. GetCursorPos jx, jy
  17. MoveR x - jx, y - jy
  18. End Function
  19. Function 鼠标随机相对偏移(鼠标抖动范围,鼠标抖动间隔,偏移方向)
  20. Dim X_py, Y_py, L_py, U_py, X_fh, Y_fh, XY_fx, XY_pyfx, XY_hffx, i, fxxh, bc
  21. L_py = 鼠标抖动范围(0)
  22. U_py = 鼠标抖动范围(1)
  23. X_py = 生成随机数(L_py, U_py)
  24. Y_py = 生成随机数(L_py, U_py)
  25. fxxh = 偏移方向
  26. XY_pyfx = 获取偏移方向(fxxh)
  27. XY_hffx = 获取恢复方向(fxxh)
  28. Dim X_py_d, Y_py_d, X_py_z, Y_py_z
  29. Dim X_py_d_j, Y_py_d_j
  30. For i = 1 To 2
  31. If i = 1 Then
  32. XY_fx = XY_pyfx
  33. Else
  34. XY_fx = XY_hffx
  35. End If
  36. If XY_fx(0) = "0" Then
  37. X_py = 0
  38. End If
  39. If XY_fx(1) = "0" Then
  40. Y_py = 0
  41. End If
  42. X_py_z = 0
  43. Y_py_z = 0
  44. Do
  45. If X_py_z = X_py And Y_py_z = Y_py Then
  46. Exit Do
  47. End If
  48. If X_py_z < X_py And Y_py_z < Y_py Then
  49. bc = 生成随机数(1, 3)
  50. ElseIf X_py_z < X_py Then
  51. bc = 1
  52. ElseIf Y_py_z < Y_py Then
  53. bc = 2
  54. End If
  55. If bc = 1 Then
  56. X_py_d = 1
  57. Y_py_d = 0
  58. ElseIf bc = 2 Then
  59. X_py_d = 0
  60. Y_py_d = 1
  61. ElseIf bc = 3 Then
  62. X_py_d = 1
  63. Y_py_d = 1
  64. Else
  65. X_py_d = 0
  66. Y_py_d = 0
  67. End If
  68. X_py_d_j = X_py_d
  69. Y_py_d_j = Y_py_d
  70. If XY_fx(0) <> "0" Then
  71. X_py_d = CLng(XY_fx(0) & X_py_d)
  72. End If
  73. If XY_fx(1) <> "0" Then
  74. Y_py_d = CLng(XY_fx(1) & Y_py_d)
  75. End If
  76. MoveR X_py_d, Y_py_d
  77. Delay 生成随机数(鼠标抖动间隔(0), 鼠标抖动间隔(1))
  78. X_py_z = X_py_z + X_py_d_j
  79. Y_py_z = Y_py_z + Y_py_d_j
  80. Loop
  81. Next
  82. End Function
  83. Function 鼠标抖动(鼠标抖动范围,鼠标抖动次数,鼠标抖动间隔)
  84. Dim xy_ret, x, y
  85. If 鼠标抖动范围(0) = 0 And 鼠标抖动范围(1) = 0 Then
  86. Exit Function
  87. End If
  88. Dim 方向个数, 已执行方向, 方向
  89. 方向个数 = 8
  90. 已执行方向 = ""
  91. For 生成随机数(鼠标抖动次数(0),鼠标抖动次数(1))
  92. Do
  93. 方向 = 生成随机数(1, 方向个数)
  94. If InStr(已执行方向, 方向) = 0 Then
  95. Exit Do
  96. End If
  97. Loop
  98. Call 鼠标随机相对偏移(鼠标抖动范围,鼠标抖动间隔, 方向)
  99. 已执行方向 = 已执行方向 & 方向
  100. If Len(已执行方向) = 方向个数 Then
  101. 已执行方向 = ""
  102. End If
  103. Next
  104. End Function
  105. Function 获取偏移方向(方向序号)
  106. If 方向序号 = 1 Then
  107. 获取偏移方向 = Array("-", "0")
  108. ElseIf 方向序号 = 2 Then
  109. 获取偏移方向 = Array("+", "0")
  110. ElseIf 方向序号 = 3 Then
  111. 获取偏移方向 = Array("0", "-")
  112. ElseIf 方向序号 = 4 Then
  113. 获取偏移方向 = Array("0", "+")
  114. ElseIf 方向序号 = 5 Then
  115. 获取偏移方向 = Array("-", "-")
  116. ElseIf 方向序号 = 6 Then
  117. 获取偏移方向 = Array("+", "-")
  118. ElseIf 方向序号 = 7 Then
  119. 获取偏移方向 = Array("-", "+")
  120. ElseIf 方向序号 = 8 Then
  121. 获取偏移方向 = Array("+", "+")
  122. End If
  123. End Function
  124. Function 获取恢复方向(偏移方向)
  125. If 偏移方向 = 1 Then
  126. 获取恢复方向 = Array("+", "0")
  127. ElseIf 偏移方向 = 2 Then
  128. 获取恢复方向 = Array("-", "0")
  129. ElseIf 偏移方向 = 3 Then
  130. 获取恢复方向 = Array("0", "+")
  131. ElseIf 偏移方向 = 4 Then
  132. 获取恢复方向 = Array("0", "-")
  133. ElseIf 偏移方向 = 5 Then
  134. 获取恢复方向 = Array("+", "+")
  135. ElseIf 偏移方向 = 6 Then
  136. 获取恢复方向 = Array("-", "+")
  137. ElseIf 偏移方向 = 7 Then
  138. 获取恢复方向 = Array("+", "-")
  139. ElseIf 偏移方向 = 8 Then
  140. 获取恢复方向 = Array("-", "-")
  141. End If
  142. End Function
  143. Function 生成随机数(num1, num2)
  144. Dim L, U
  145. If num1 > num2 Then
  146. L = num2
  147. U = num1
  148. Else
  149. L = num1
  150. U = num2
  151. End If
  152. Randomize
  153. 生成随机数 = CLng(Int((U - L + 1) * Rnd + L))
  154. End Function
复制代码


源文件:

QMScript.zip (, 下载次数:229)


最后编辑昨夜星辰 最后编辑于 2022-05-03 01:14:05
本主题由 超级版主 瑞祥幽冥狼 于 2023/10/5 18:26:34 执行 审核帖子 操作
近期制作:
传奇私服各种反外挂插件版本挂机软件,可教可售
原神加速、连发辅助工具
天下3自动钓大鱼辅助工具

承接脚本定制,点击下方联系
QQ:250039815

交流群:101296478

2#


3#

】按键精灵部分防检测技巧

4#

学习成长

5#

学习学习

6#

这个可以有

7#

“贝塞尔曲线”,插件在源文件内可下载。没找到啊

点评

昨夜星辰  轨迹移动源码附件里导出  发表于 2022/5/3 10:59:47

8#

也得台湾热情

没学过签名。
9#


10#

6566565665

11#

11111111111

12#

收了啊

13#

学习成长

14#

666666666666666

15#

看看看看看看看看

看看看看看看看看

16#

88888,学习一下

17#


18#


19#

都是好东西

20#

啊啊啊啊啊啊啊啊啊啊啊

幻觉在美 也不真实
发新话题 回复该主题