GithubHelp home page GithubHelp logo

yujunjiex / behavior_captcha_cracker Goto Github PK

View Code? Open in Web Editor NEW
301.0 10.0 104.0 36.23 MB

基于深度学习的行为式验证码研究及破解。类型包括滑块式/点选式,平台包括极验/易盾/云片

License: GNU General Public License v3.0

Python 7.38% JavaScript 22.84% Shell 0.22% Makefile 0.17% C 64.94% Cuda 4.09% C++ 0.35%

behavior_captcha_cracker's Introduction

行为式验证码识别

本项目目的是使用深度学习来对行为式验证码进行机器识别,对此类验证码的安全性做一个整体评估。

🙆‍♂️ 请勿用于非法用途!

⭐ 如果对你有帮助的话,可以light up stars~

项目成果

滑块式验证码「极验」「易盾」「云片」通用模型测试集准确率99+%

点选式验证码「易盾」模型测试集TOP1准确率96%,TOP10准确率99+%

主目录结构

.
├── requirements.txt	# 所需环境
├── LICENSE
├── readme
├── README.md
├── behavior_simulation	# 「易盾」selenium模拟
├── click_captcha	# 点选式验证码
├── slider_captcha	# 滑块式验证码
├── spider_tools	# 爬虫通用工具
└── unfinished_click_captcha	# 未训练的点选平台
    ├── __init__.py
    ├── geetest
    └── yunpian

项目主要分为三个部分:(请分别进入查看对应md文档)

什么是行为式验证码?

行为式验证码目前主要分为滑块式和文字点选式。如下图所示:

service_captcha_slide

service_captcha_text_click

相对于传统的图形验证码,行为式验证码相对来说用户体验更好,而且因为这种验证码由于加入了更多的干扰,并在背后搭载了风控模型,使得安全性更高,渐渐的成为了现在主流的验证方式。

识别大致流程

对于行为式验证码来说,传统的OCR识别或者简单的图像处理已经力不从心,故我们尝试使用新兴的深度学习来进行图像识别。

具体实现逻辑请参考主目录结构中对应目录内的md文档

深度学习的前提是都需要大量的数据集做支撑。

对于滑块式验证码

关键是要找到滑块的缺口位置,再通过模拟行为轨迹来通过人机验证。

对于一些简单的图片,其实我们可以通过opencv计算相似度等方式来获得缺口,这个方式我们不讨论。

这里使用 YOLOV3 模型来识别滑动验证码缺口,YOLOV3将定位和分类直接转换成回归问题,速度快,并且对于识别滑块这种场景,我们只有一类。

对于点选式验证码

借鉴了很多实现后,文字定位同样可以采用YOLOV3算法,文字分类我们采用定义卷积网络来实现。最后再对PC端的鼠标行为轨迹进行模拟。

为什么不采用YOLOV3一步实现呢?

深度学习的学习其实是针对某一类输入,学习并泛化出指定的输出,这个学习过程对于每一类特征明显的训练集可以得到很好的效果,但对于直接对图片中的文字进行定位并认识它,这个学习成本是很高的。就好比我只有一个脑子,要我同时学中文和英语;和有两个人,一个人学中文,一个人学英语,使用同样的成本,哪个效果更好,也就显而易见了。再者说YOLOV3对于小目标的检测会相对较弱。

说明

项目不提供权重模型噢

如果需要「某盾」点选数据集的我可以免费发给你,但务必不要用于非法活动。

邮箱:[email protected]

参考项目

协议

本项目基于GNU开源协议,不得用于商业用途

本项目仅供学习交流使用,本人不承担任何法律责任

若有侵权请联系删除。

behavior_captcha_cracker's People

Contributors

yujunjiex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.