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

软件版本:2014.05
软件大小:76.8M
更新时间:2-21

按键精灵安卓版
立即下载

软件版本:3.2.2
软件大小:62.5M
更新时间:04-24

按键精灵iOS版
立即下载

软件版本:1.2.5
软件大小:29.2M
更新时间:04-18

按键精灵Mac版
立即下载

软件版本:1.1.0
软件大小:12.3M
更新时间:12-29

快捷导航

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

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

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

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

让脚本远离行为检测封号



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



按键学院交流①群(1群已满):376122403

按键学院交流②群(2群):372671254

按键学院交流③群(3群):170084238




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

剖析行为检测


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

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

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

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


解决行为检测


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

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


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

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



 



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


[tr=rgb(143, 188, 143)]

按键精灵交流群

腾讯课堂视频课程

按键学院交流①群(1群已满):376122403
按键学院交流②群(2群):372671254
按键学院交流③群(3群):170084238
安卓按键精灵交流群:115768679

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





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

    2#

    00000000000000000

    3#

    11111111111111111111

    4#

    fd65fd654f6565f4ddfs

    5#

    如果您要查看本帖隐藏内容

    按键技术学习交流.
    6#

    对我很有用,谢谢。。

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

      7#

      我要看看

      8#

      22222222222222222

      9#


      接各种自动化程序制作(端游、手游、办公、网页、桌面应用等)


      售自动过滑块验证源码!

      QQ:212194170


      10#

      但是之前对于行为

      11#

      学习下~~看看

      12#

      看看怎么解决

      13#

      这个可以有

      按键技术学习交流.
      14#

      学习中。。。。。。。。

      15#

      然而这些并没有什么卵用.检测按键精灵用神函数一样被检测到//

      16#

      为虽然手动也是在进行重复

      17#

      学习学习~~顶~~

      18#

      学习中,正好学习一下

      19#

      学习!!!!!!!!!!!!!!!

      20#

      学无止境

      承接 游戏脚本制作开发!网页游戏、手游、客户端游~
      寻求实力代理、工作室合作开发项目(要稳定长期的项目)
      有需要的联系QQ:792037085
      发新话题 回复该主题