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

软件版本: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» / 80
发新话题 回复该主题

[技术交流] 【院刊】-【201506期】几个小函数让你的脚本远离封号 [复制链接]

1#
本帖最后由 quitout 于 2015-6-8 17:28 编辑

让脚本远离行为检测封号



本文按键学院提供技术支持


按键学院技术交流①群(1群):547563540(开放中)


按键学院技术交流②群(2群):465560580开放中)


按键学院技术交流③群(3群):714719015(开放中)



之前学院院刊当中有发布过关于应对游戏检测的方法。(还不知道的请戳这里 →→ 轻松应对游戏的检测
但是之前对于行为检测只是大概的阐述,这次小编就给大家具体的介绍下行为检测,还有应对行为检测的方法

剖析行为检测


在我们想要解决行为检测之前要先搞清楚什么是行为检测。行为检测就是检测游戏中用户有规律的操作,如果有发现规律性的操作,那就会进行封号之类的处罚。

规律性的操作范围就包含了很广了。比如一直重复按着某一个按键,重复进行某种操作等等。

有的同学可能会有疑问了,我手动玩的时候也是一直在重复某些操作,那为什么就没被封号呢?

这个是因为虽然手动也是在进行重复的操作,但是无法做到细节上的精确一致。比如手动重复按某键,能保持每次间隔固定的300毫秒吗?点击某个坐标,能保持每次点击的坐标点都一致吗? 手动操作的时候是无法做到的,但是脚本就可以,脚本是程序,每次的操作在细节上都是会保持一致。 所以游戏就是抓住了这点区别来进行行为检测封号的。


解决行为检测

[hide]
既然我们知道了行为检测的原理,那就可以想办法制定出对策。总体的解决方法围绕一个点来进行:细节随机性

只要在一些操作上加上随机数,那就可以很大程度上避免了被游戏的行为检测发现。所以随机数很重要!随机数很重要!随机数很重要!(重要的事情要说三遍)


下面就介绍下常用的防行为检测的方法

1、鼠标移动

一些新手在在使用移动命令的时候都是直接使用 MoveTo 命令,这样移动到的坐标点位置每次都是一样的,所以我们需要加一些随机数上去,让他每次移动的时候的位置发生一些变化。
下面这个就是最简单的随机移动的范例,他是在坐标周围的10个像素点范围内随机移动。
  1. Randomize //初始化随机数
  2. 随机数 = Int((10 - 0 + 1) * Rnd + 0) //随机数标准生成公式
  3. MoveTo x + 随机数, y + 随机数
复制代码
当然在实际的编写代码过程中肯定不会直接使用这样的写法的,因为如果每次移动鼠标都要写这么多的话,那太繁琐了,我们需要封装成函数,每次要移动鼠标的时候调用即可
  1. Function 移动(x,y)
  2. Randomize//初始化随机数
  3. //为了增加随机性,把x和y的随机数设置成不同的数值
  4. 随机_x = Int((10 - 0 + 1) * Rnd + 0)
  5. 随机_y = Int((10 - 0 + 1) * Rnd + 0)
  6. MoveTo x + 随机_x, y + 随机_y
  7. End Function
复制代码
PS:随机的范围大小 可以根据实际情况进行调整。


2、键盘按键

键盘上操作容易被检测的也就是施放技能之类的操作了,和鼠标移动的类似,也是可以通过加延迟来避免检测。
在施放技能的时候如果对于技能施放的顺序没有特别要求的话,也可以把施放技能的顺序打乱进行施放

下面这个函数就是可以打乱顺序按键并且在5秒的范围内随机延迟
  1. Function 技能(keylist)
  2. Do
  3. Randomize//初始化随机数
  4. 随机延时 = Int((5000 - 1000 + 1) * Rnd + 1000)
  5. 随机数 = Int((len(keylist) - 1 + 1) * Rnd + 1)
  6. //随机取出字符串中的其中一个字符按下,并随机延迟
  7. key = mid(keylist, 随机数, 1)
  8. KeyPress key, 1
  9. Delay 随机延时
  10. Loop
  11. End Function
复制代码
3、随机行为

在防止行为检测的处理上,如果只有按键和移动方面的随机,还是不够完美的。我们可以在脚本的操作上加入一些随机的行为

什么是随机的行为?简单的说就是一些无意义的操作。比如随意的打开某些界面之类的。进行这些操作,既不会增加太多脚本难度,同时也增加了脚本的随机性。

我们可以把一些无意义的操作分别封装成一些子程序,然后再写成一个函数用来随机调用他们
  1. Function 随机动作
  2. Randomize//初始化随机数
  3. 随机数 = Int((4 - 1 + 1) * Rnd + 1)
  4. Select Case 随机数
  5. Case 1
  6. Call 打开好友列表
  7. Case 2
  8. Call 打开人物属性
  9. Case 3
  10. Call 查看宠物
  11. Case 4
  12. Call 喊话
  13. End Select
  14. End Function
复制代码
PS:在选择一些随机操作的时候,尽量选择一些不影响代码主功能的操作,否则给主代码增加太大的负担就得不偿失了


后记


游戏的检测和脚本之间就像一场拉锯战,没有什么办法是可以一劳永逸的。本篇院刊起到的是指导思路的作用,希望童鞋们可以从中受到一些启发,想出更好的方法。
对于本篇院刊中提到的方法,如果有什么问题或者有更好的建议的话,也欢迎童鞋们回帖说明

相关院刊:
轻松应对游戏的检测
showtopic.aspx?topicid=570762&forumpage=1&page=1

模拟真实鼠标动作防检测
showtopic.aspx?topicid=545492&forumpage=1&page=1


院刊目录
showtopic.aspx?topicid=549014&forumpage=1&page=1





 



谢谢大家阅读,记得给小编送支花花 ! 顺手点个




按键精灵交流群


腾讯课堂视频课程

按键学院技术交流①群(1群):547563540(开放中)

按键学院技术交流②群(2群):465560580开放中)

按键学院技术交流③群(3群):714719015(开放中)

按键精灵2014基础教学视频
Q语言零基础知识
按键精灵自动化脚本功能开发
按键精灵Q语言脚本开发
点我进入按键学院报名啦 招生细节进群咨询招生办主任



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

    本主题由 超级版主 瑞祥幽冥狼 于 2023/5/3 23:22:38 执行 审核帖子 操作
    2#

    学习一下

    3#

    123231111111111111111111111

    4#

    先回复,再学习!

    5#

    666666

    6#

    这个可以学学

    7#

    6默默哦默默哦哦

    8#

    666666666

    9#

    膜拜学习中

    10#

    牛鼻哄哄~~~~

    11#

    fffffff

    12#

    学习学习

    13#

    我来学习学习

    按键接单:承接各类办公脚本,网页填表,游戏脚本
    QQ:603438273
    IEWZ网页填表插件交流群:368821822
    14#

    学习下

    15#

    看看看看

    16#

    kkkkkkkkkkk

    17#

    学习 学习

    18#

    我要看

    19#

    12132345678

    20#

    强大的不得了啊

    发新话题 回复该主题