极验验证码行为模拟(成功率90%以上)

本文介绍了使用Python和相关库破解极验第二代拖动式验证码的方法,包括找到验证码图片、对比缺口、模拟拖动等步骤。通过随机轨迹算法和历史轨迹回放,成功率达到90%以上。作者强调技术研究目的,不建议用于非法用途。
摘要由CSDN通过智能技术生成

这期我来玩一点黑科技的东西

最近有同事在搞爬虫时碰到了极验的第二代拖动式验证码,让我帮忙给研究一下。

于是乎我从极验官网下了demo在看。又通过网上其他同学的思路,大概研究出来了。

本人声明:我只是出于技术的爱好去研究了一下,请勿用来做一些非法勾当。

工具

项目是用的python去做的
用到了python的一些库:
PIL(做一些验证码图片的处理、如图片还原、对比缺口)
selenium(模拟浏览器)
phantomjs(浏览器内核,测试时我用的chrome驱动,正式使用时我会替换成phantomjs)

思路

这里参考网上其他同学的思想,(假设你已经了解了极验拖动验证码的一些规则):
1. 找到验证码的图片,将乱序的验证码还原
2. 对比bg和fullbg两张图片,找到缺口位置
3. 用selenium模拟人的行为拖动滑块
4. 验证结果
以上思路中1和2网上都能找到很多例子,难的就是如何写一个拖动轨迹的算法,让浏览器模拟人的行为并且让极验服务器那边大概率地判定为是人操作的。
这里其他同学有不同的做法:
1.用人去拖动滑块,录制轨迹,然后用通过的轨迹去回放
2.有一些逆向工程比较厉害的人反编译geetest.js,毕竟前端加密还是比较弱的,破解js里的算法然后伪造数据
因为我比较笨,实在是不知道怎么反混淆js。就想着纯算法模拟。
以下我就着重介绍一下第三步

分析

打开带有极验验证码页,

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值