QQ滑块登陆验证码识别的脚本源码

Posted 3分钟学堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QQ滑块登陆验证码识别的脚本源码相关的知识,希望对你有一定的参考价值。

新号或者是新设备登陆QQ的时候会出现一个滑块验证。

这个验证码要求使用者根据拼图的位置,拖动滑块来将拼图还原到缺失的位置,正确还原即可完成验证。


先来看一个实际图片——



这个图就是我要解决的滑动验证图片,我需要拖动下面的滑块完成拼图。


最开始我的思路是通过找图或者找色确定拼图黑影的具体坐标,然后计算出它和前面拼图的相对距离,这个距离就是我要拖动下面滑块的距离。这样就可以完成验证了。


但是一个很难解决的问题就是我没法找到拼图黑影的位置。


为了解决这个滑块验证的问题,通过朋友介绍认识了一个技术大牛,给了我另外一个思路,就是先把验证码底图(见下图)找出来,然后和有拼图验证码(上面那张图)进行对比,颜色发生变化的区域就是拼图滑块的位置。



按照这个思路我写了下面的代码,分享给大家:


KeepCapture

Dim arr,a,t,s,n

arr = file.ReadLines("/sdcard/Pictures/shamo.txt")

For j = 0 To 83

    a = Split(arr(j), "|")

    s=""

    For i=0 to 87      

        t = CmpColor(23+i*5, 166+3*j, a(i) & "-202020", 1)+1

        s = s & t

    Next

    TracePrint s

    If UTF8.InStr(1, s, "0") > 0 and UBound(split(s,"0"))>14 Then 

        TracePrint j

        n=j+1

        Exit for

    End If

Next

s=""

For i = 0 To 87

    a = Split(arr(n), "|")

    t = CmpColor(23 + i * 5, 166 + 3 * n, a(i) & "-202020", 1) + 1

    s = s & t

Next

Dim m

m = UTF8.InStrRev(s, "0", -1)*5+23

TracePrint m

ReleaseCapture 

TouchDown 100, 445, 1

TouchMove m * 0.9, 445, 1, 200

TouchMove m-3, 445, 1, 1000

TouchUp 1



如果对这个脚本有什么不懂的地方,

可以加QQ交流群:78237147


以上是关于QQ滑块登陆验证码识别的脚本源码的主要内容,如果未能解决你的问题,请参考以下文章

简单的验证码识别

验证码识别技术

python+tesseract验证码识别的一点小心得

python简单验证码识别的实现过程

验证码识别之模板匹配方法

验证码识别之模板匹配方法