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

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

按键精灵安卓版
立即下载

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

按键精灵iOS版
立即下载

软件版本:1.6.8
软件大小:29.2M
更新时间:03-03

最新企业版UiBot
立即下载

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

快捷导航

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

登录 注册
发新话题 回复该主题

[技术交流] 【院刊】-【201504期】三分钟教你学会无痛打码技术 [复制链接]

1#

三分钟教你实现自动解决各种验证码



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



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

零基础学按键精灵群(2群):372671254




最近发现好多童鞋在询问关于打码插件的使用方法,在贴吧和论坛上更是经常能看见有偿求教打码的接入使用方法。小编我真是替大家着急啊,打码插件的接入和使用其实很简单。这里就以石像答题插件为例子,给大家详细介绍下插件的接入和使用的方法

前期准备


要使用插件首先得先去石像官网注册账户并且下载插件

注册账户:http://www.sxdama.com/SignUp.aspx
注册账号如果是脚本作者身份还需要填写银行卡号和支付宝账号之类的信息,用来给作者返利的(你懂得~~)

插件下载:http://www.sxdama.com/other/download.aspx
插件下载这里有两个选择,选择按键精灵插件下载就好了。
COM组件是提供给其他的语言使用的插件,这里就不多做介绍了。

这些准备完毕后就OK了,接下来就开始在脚本代码中接入插件并使用


接入插件


在直接列出代码前先理清楚使用这个插件的流程



我们之后根据这个流程,可以把一些独立的步骤封装成函数,在使用的时候去调用这个函数就可以了

1、释放、注册插件
  1. //用户插件编号和插件密码可以在石像官网后台查询到
  2. Function 注册(用户插件编号, 用户插件密码)
  3. //需要先把石像的RemoteAnswer.dll这个插件添加到脚本附件里
  4. PutAttachment ".\plugin", "RemoteAnswer.dll" '释放答题插件
  5. 注册码 = GetEnvironmentVar("MMRegCode") '获取小精灵的注册码
  6. 作者插件编号 = "" '这里可以填写上作者的插件编号,用户作者返利,也可不填
  7. Call RemoteAnswer.InitialiseUserData(用户插件编号, "", 注册码, 用户插件密码, 作者插件编号)
  8. End Function
复制代码
2、截取验证码图片保存,通常的做法是使用多线程,在游戏中实时的检测是否出现验证码,出现的话就开始截图

截取静态的图片
  1. Function 静态截图
  2. Call RemoteAnswer.PrintScreen(0, 0, 100, 200, "C:\图片.bmp") '截取屏幕上指定范围图片
  3. End Function
复制代码
部分的游戏验证码是动态的,比如说大唐无双,需要截取动态的gif图片
  1. Function 动态截图
  2. Call RemoteAnswer.CreateGif(0, 0, 200, 200,300,3, "C:\图片.gif") '隔300毫秒截图截取一张,共截图3张,合并生成动态的GIF图片
  3. End Function
复制代码
3、发送验证码到代答平台
发送验证图片的时候需要知道这个验证码的类型编号,可以在这里查询http://www.sxdama.com/other/genre.aspx
  1. Function 发送验证(图片路径, 图片格式, 类型编号,超时时间)
  2. 发送验证 = "" '函数开头赋值空值,表示未处理
  3. Dim 题ID, 答题开始时间, Answer '定义变量
  4. //发送图片路径,图片格式,类型编号的题目信息,并返回题目ID。
  5. 题目ID = Plugin.RemoteAnswer.SendImage(图片路径, 图片格式, 类型编号)
  6. 答题开始时间 = now '记录下时间
  7. Do
  8. Answer = Plugin.RemoteAnswer.QueryAnswer(题目ID)
  9. If Answer = "等待答案" Then
  10. TracePrint "等待处理中……" & Int(DateDiff("s", 答题开始时间, now))
  11. Else
  12. If InStr(Answer, "验证错误") > 0 Then
  13. 错误代码 = Split(Answer, ":")(1) '返回值格式如: 验证错误:101 使用Split函数获取101这个值。
  14. TracePrint "验证错误:" & 错误代码 '这里可以把错误代码记录一个地方,以便提交客服人员咨询。
  15. ElseIf Answer = "无法识别" Then
  16. TracePrint "图像异常无法处理,需要重新发题目"
  17. Else
  18. TracePrint "成功得到答案"
  19. 发送验证 = Answer '答案赋值
  20. End If
  21. Exit Do '离开Do循环
  22. End If
  23. Delay 500 '循环语句中适当的延时给予CPU响应时间
  24. Loop Until DateDiff("s", 答题开始时间, now) > 超时时间 '这里计算等待时间,超过120秒,则离开循环
  25. End Function
复制代码
4、根据返回的验证码信息处理游戏中的验证码(很多童鞋也是在这一步不知道该如何处理)

一般常见的验证码分为三类:文字输入、坐标点击、选择题

如何能确定验证码答案返回的类型呢?
石像平台已经给了我们很好的解决方案,他有个测试识别的功能。登录石像官网的用户中心后在左侧可以看到


点击选择选择文件按钮,上传一张游戏验证码的图片,然后点击提交按钮,等待一会就能看到识别的结果了。

文字输入



这个类型的验证码最好处理,石像平台返回的答案就直接是这个文字,把获取到的文字输入到这个验证码输入框中即可

坐标点击



这个类型的验证码石像返回的是坐标值,如果有多个坐标的话会用 竖线 “|” 隔开。例如 :68,94|199,93
在处理的时候只要把每个坐标点分割开,然后分别提取出来使用即可(一般都是需要在坐标上进行点击的操作)
  1. Function 处理验证(答案)
  2. 坐标 = split(答案, "|")'先把每个坐标分割开,如果返回的是单坐标的话,可以直接省略这一步
  3. For i = 0 To UBound(坐标)
  4. //把每个坐标点再次分割成x和y
  5. 坐标x = split(坐标, ",")(0)
  6. 坐标y = split(坐标, ",")(1)
  7. //移动到坐标上点击。
  8. MoveTo 坐标x, 坐标y
  9. LeftClick 1
  10. Delay 200
  11. Next
  12. End Function
复制代码
注意:石像返回的坐标是以图片左上角为起点的坐标,实际的应用中童鞋们还需要计算出相对的坐标

选择题



这种类型石像返回的是答案的序号,例如返回1就表示选择第一个答案,我们可以根据返回的数字进行相应位置的点击
  1. Function 处理验证(答案)
  2. //可以根据返回的答案去选择点击对应的坐标
  3. Select Case 答案
  4. Case 1
  5. MoveTo x, y
  6. LeftClick 1
  7. Case 2
  8. MoveTo x1, y1
  9. LeftClick 1
  10. Case 3
  11. MoveTo x2, y2
  12. LeftClick 1
  13. Case 4
  14. MoveTo x3, y3
  15. LeftClick 1
  16. End Select
  17. End Function
复制代码


大家也可以查看另外的一篇关于解决打码问题的帖子:
【院刊】-【201504期】妹子“卖身”为哪般?验证码真的这么难识别?
showtopic.aspx?topicid=567090&forumpage=1&page=1

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



 



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


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

按键精灵免费公开课

实战班:回合制通用教学火热报名

【听课对象】:对按键精灵感兴趣的同学们都可以来~
【上课地点】:零基础学按键精灵群(372671254)
【上课时间】:周天晚上19:30-21:00
【上课内容】:按键精灵脚本基础经验谈——图色命令

本期重点:回合制游戏--神武
学习时效:终生有效
上课时间:周2、周4、周6的 20:00--22:00
导师:工程师07
技术支持:果儿(院刊编辑)
点我进入按键学院报名啦 招生细节进群咨询招生办主任:2群-372671254(优先加入) 1群-376122403





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

    本主题由 超级版主 n15976906190 于 2017/9/2 8:41:12 执行 审核主题 操作
    按键学院免费交流群:376122403

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

    mark biaoji hao xiaci zailai

    3#

    好东西顶起来

    4#


    5#

    这个技术必须有

    QQ836542817
    承接各类脚本
    价格公道,售后质量保证
    6#

    7777777777777777777777

    7#


    8#

    1111111111111

    9#

    来来学习选择性

    10#

    学习学习

    11#

    我们之后根据这个流程,可以把一些独立的步骤封装成函数,在使用的时候去调用这个函数就可以了

    12#

    DDDDDDDDDDDDDDD

    13#

    这哪里是无痛打码,太复杂了

    14#

    学习

    15#

    看了几篇还是不会 咋搞。。

    16#

    三分钟教你学会无痛

    17#

    对于验证码完全找不到思路

    18#

    必须学习消化一下

    19#

    sfsffsggjjj

    20#

    学习一下,不知道怎么加入脚本中

    发新话题 回复该主题