前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python破解简书登录极验验证码

Python破解简书登录极验验证码

作者头像
Python中文社区
发布2018-02-01 10:18:57
1.9K0
发布2018-02-01 10:18:57
举报
文章被收录于专栏:Python中文社区Python中文社区

專 欄

treelake ,Python中文社区专栏作者。

博客地址:

http://www.jianshu.com/u/66f24f2c0f36

简述

极验验证码的主要问题在于对人的行为特征的分析,它会在你拖动滑块时以数十毫秒间隔记录你的鼠标移动数据发送到服务器,并使用各种算法(如深度学习)判断你的轨迹特征到底是人还是机器。我突然想到pid模型说不定能模拟人的行为特征,就想试试。 实现思路上大家都差不多,简单的方案就是selenium操纵浏览器,由原始图和凹陷图对比得出要移动的距离,然后控制鼠标以某种方案移动即可。(图片的获取有两种方案,一是向服务器请求图片片段,然后拼接起来,我选择了另一种懒办法,在三种情况下截图对比) 难一些的思路就是抓包分析,直接请求服务器,发送鼠标轨迹数据,网上有大神直接抓包分析发送xpos数据的样例,详见参考。哥们说他的正确率在90%以上,感谢他的热心交流,虽然没有透露他的具体方案 :) (当然,这种东西不好说的) 我的成功率不高,要是高了就不太方便写博客了。成功率在40、50%吧,所以我放心地贴出来,仅供学习探索参考,而且极验的3.0也在推进,感觉样式还不错。我将我搜集到的有用资源都列在参考里了,网上分享的经验和代码不少,上手还是比较快的,演示视频中的代码也放上了,在github-geetest里直接附上了chromedriver可能更方便点,有兴趣的朋友可以试着玩玩,调下参数。还试了些其他的,比较乱,就没放上了。 我觉得这个对于搞机器学习的朋友会比较有吸引力,毕竟手里有个锤子,看啥都是钉子。现在这么好的陪练出来了,一攻一防,不过注意分寸吧。。。在代码中搜索到get_offsets用你自己的思路复写它,返回一个可迭代对象表示鼠标每次平移间隔即可。192行的间隔时间也可相应修改。

效果

渣画质动态图

连续尝试视频(题外话:视频简单处理参考 FFmpeg实用命令:音频、视频格式转换和其它操作)

参考

iYgnohZ - crack-geetest geetest拖动验证码破解 duyamin - geetest-bypass.go V2EX - 豆瓣登陆验证码的识别脚本 破解极验(geetest)验证码 darbra - geetest_selenium.py 极验验证码的破解4-执行破解 极验验证码 - 知乎

代码

其它

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档