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

软件版本: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

快捷导航

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

发新话题 回复该主题

[郭立员] [安卓按键]为啥手动滑动能过验证,而脚本滑动却不行 [复制链接]

1#
大家好,我是郭立员~
这是一篇分析类型的文章,主要讲关于滑块滑动的问题,大家应该遇到过这么一种情况,用脚本操作滑块,明明已经滑到位了,就是验证不通过。




当我们手动滑动的时候,即使是滑动稍微差一点,也可以验证通过,这就很神奇啊。
那么手动滑动和脚本滑动到底有什么区别呢?

【1】先来看看两种方式的滑动轨迹

打开指针位置,方便查看,以下图片中的红点代表触点。


①手动滑动


②脚本滑动





【2】根据上面两个图,分析两种方式的区别

①划线的笔直程度,手动我已经尽量笔直了,但是尾部还是有一点点弯曲。
②手动滑动的“触点”要远多于脚本滑动的,触点指的是上图中的小红点。
③脚本滑动的“触点”是平均分布的,而手动的不是。那它有啥特点呢?触点间的间隔是非平均的,速度越快、间隔越大,收尾处要比前面密集。

分析了两者的区别,我感觉“触点”的产生可能是因为手对屏幕的按压力度不同,滑动时的短暂停顿等原因。

脚本模拟手动滑动

(1)不使用swipe命令,使用touchdown、touchmove、touchup这一组命令,这组命令可以通过touchmove的数量和它的参数控制“触点”数。
(2)引入两个随机数,一个是触点间隔的随机,一个是避免直线而做的滑动上下波动的随机。
(3)触点间隔前半部分比较大,结尾部分间隔比较小,采用分段滑动策略。

脚本代码:
  1. /*
  2. @测试设备:雷电模拟器
  3. @分辨率:540*960 dpi 240
  4. @作者:郭立员
  5. @声明:仅供学习使用
  6. */
  7. /*
  8. 参数说明:
  9. 参数1:按钮横坐标
  10. 参数2:按钮纵坐标
  11. 参数3:要滑动距离
  12. */

  13. 滑动(56,487,370)

  14. Function 滑动(x,y,distance)
  15. Dim rnd1,rnd2,d,h
  16. Dim speed=10
  17. TouchDown x,y,1
  18. Do
  19. rnd1 = Int(speed * Rnd() + 1)
  20. rnd2 = Int(3 * Rnd() - 1)
  21. d = d + rnd1
  22. h = h + rnd2
  23. If d > distance Then
  24. TouchMove x + distance, y+h, 1
  25. Exit do
  26. else
  27. TouchMove x + d, y + h, 1
  28. End If
  29. If d > distance*0.7 Then
  30. speed=3
  31. End If
  32. Loop
  33. TouchUp 1
  34. End Function
复制代码
测试结果截图:


猜想,未必是对的
平台是怎么知道滑动时用脚本的呢,我猜测是判断触点数量,触点是否是一条直线,触点间隔是否平均,结尾处触点是否密集。

最后编辑郭立员 最后编辑于 2022-02-08 09:49:50
扫码免费获取我的基础教程【视频教程】
扫码下方二维码关注我的公众号:3分钟学堂

QQ交流群:936858410
2#

啊,验证码随机的怎么去用脚本判断移动到什么位置呢

3#

回复 2楼hz927463723的帖子

通用方法是对接打码平台

扫码免费获取我的基础教程【视频教程】
扫码下方二维码关注我的公众号:3分钟学堂

QQ交流群:936858410
4#

有什么好的打码平台推荐吗

发新话题 回复该主题