众所周知,验证码是用来防机器的。但是,随着神经网络的发展,近几年验证码难度持续上升,这玩意儿的存在存粹就是一种负担,特别是国内到处都是的【Ji验】。本文针对“J验”及其他类似验证方式。

项目地址https://github.com/yixinNB/FuckCaptcha

判断人机原理

1.拖动

2.拖的背后

轨迹分析

首先会记录你拖动的轨迹(官方承认),根据轨迹初步判断是否为机器人。

例如直接平滑地拖过去100%提示“错误,请重试”(亲自实验了的)。

真人拖动图像

浏览记录分析

如果仅仅只在一个或几个页面进行大量验证码验证,那是肯定过不去验证的。这个肯定是难度最大的部分,也是最能有效防止脚本攻击的东西,这点是自己很难写的。模拟也很烦,资源消耗也高。这里不再过多讲述。

开始识别验证码

肉眼一眼就可以看出有一个十分明显的深色区域,识别的第一步就是精准找到它(误差要求≤2像素,网上用python的开源库很多都达不到这个要求)

由上图可见,干扰肯定会有的,如果简单的判断深色区域肯定会被干扰影响。

主要算法有判断该深色方块的大小,形状,还有周围的颜色,整个识别区域整体的颜色,再根据其他疑似区域的数据来综合判断。这个就需要有耐心,一点一点去改进就行。

前面写的已经写过,找到这个黑方块才是第一步,也是最简单的一步。

拖动的过程

拖动的过程肯定是模拟真人拖动的过程,下图是我最开始用的算法,因为代码量巨大,并且还是可以被识别判定为机器,现在已经停止使用

一种十分智障的拖动算法

因为现在还在实验阶段,没有完全成熟的代码,所以先把采集到的真人数据发出来,圈出来的地方就是需要特别注意的。

识别测试

https://github.com/yixinNB

bug还挺多,寒假上线测试

基本完工了

先来张GIF给你们预告下,免得你们说我瞎吹

jio印

19.12.29已经可以大致模拟了,机器拖动首次通过J验

人工智能模拟拖动数据可视化图像(已经很接近真人拖动)

19.12.28用户界面大致完工

滑块拖动验证码智能识别验证码技术(持续更新)相关推荐

  1. 正方验证码智能识别及教务系统模拟登录

    文章目录 前言 一.验证码数据集获取 二.图像处理 2.1 验证码图片转灰度.二值化.去噪点 2.2 对图像进行切割 2.3 批量处理图片数据 三.图像特征提取 3.1 所有图像特征值提取 3.2 单 ...

  2. python识别复杂验证码2020_Python识别验证码!学会这步,百分之60的网站你基本都能识别了!...

    识别原理 我们采取一种有监督式学习的方法来识别验证码,包含以下几个步骤 图片处理 - 对图片进行降噪.二值化处理 切割图片 - 将图片切割成单个字符并保存 人工标注 - 对切割的字符图片进行人工标注, ...

  3. HCIA-Intelligent Computing 华为认证智能计算高级工程师(持续更新中5%)

    HCIA-Intelligent Computing 华为认证智能计算高级工程师 智能计算HCIA概述 考试范围 1. 计算产业概述 2. 计算系统架构概述 2.1 处理器芯片概述 2.2 服务器软硬 ...

  4. 智能问答系统构思(持续更新)

    本次智能问答系统设计,分为前台.后台.知识库构建三个主要功能模块,其中前台是为问答操作提供界面,后台实现产品文档录入.知识库管理以及与前台通信.知识库构建根据录入文档实现"QA对" ...

  5. python逻辑回归识别猫(持续更新中)

    逻辑回归 简单来说, 逻辑回归(Logistic Regression)是一种用于解决二分类(0 or 1)问题的机器学习方法,用于估计某种事物的可能性.比如某用户购买某商品的可能性,某病人患有某种疾 ...

  6. 数字+字母 通用验证码图片识别 无限识别

    背景 最近在研究验证码图片识别,主要是字母+数字类型的验证码图片,找到了很多方法,但是大多都需要自己去通过深度学习自己训练,而且深度学习代码又看不懂.运气好,找到一个完整的深度学习代码能够去自己训练验 ...

  7. Python通过selenium与ddddocr库识别验证码的爆破小脚本

    最近正在学习python,本菜狗突发奇想用python写一个实现识别验证码的爆破小脚本 说干就干,于是上网查找了一下python中有没有验证码识别的库 然后就发现了ddddocr这个库,于是想通过dd ...

  8. 极验点选验证码位置识别(一):点选验证码位置识别技术总览

    极验点选验证码位置识别(一):点选验证码位置识别技术总览 声明 一.技术栈 1. 验证码图片下载 2. 验证码图片预处理 3. 标签图分割 4. 背景图图标标注 5. 背景图图标训练&识别 5 ...

  9. 验证码识别OCR技术

    在开发爬虫时,会遇到验证码识别,在网站中加入验证码的目的是加强用户安全性和提高反爬虫机制. 验证码类型:字符验证码,图片验证码,gif动图验证码,极验验证码(拖动滑块完成拼图),手机验证码,视频验证码 ...

最新文章

  1. PARAMETER FILE研究
  2. android 显示 PDF 文件
  3. 生成对抗网络GANs理解(附代码)
  4. WPF路径动画(动态逆向动画)
  5. 或成为性能宠儿,荣耀8x Max 骁龙660版首销在即
  6. 【技术文档】jeecg3.7.3-maven搭建环境入门
  7. 组策略下更改本地管理员名称和密码
  8. 【转载好文】对char *和char []做形参的深入理解+const char*/char const*/char *const的解析
  9. C语言-----职工信息管理系统
  10. 关于oracle端口映射的远程连接
  11. VPX SRIO交换板VPX3U-1Swit-CPS1848
  12. 性能优化,进无止境---内存篇
  13. 计量芯片应用心得之软件篇
  14. vue中watch的详解
  15. 前端图片在线转换Base64 图片编码Base64
  16. 小学计算机网络信息安全教案,黑教版信息技术五年级上册第十五课《网络信息安全》教案.doc...
  17. Python气象绘图笔记——常用气象绘图函数脚本封装与使用记录
  18. 将多个列重新排版成交叉表
  19. java制作SM2证书
  20. 2021-4月Python 机器学习——中文新闻文本标题分类

热门文章

  1. 人脸皮肤高清xyz贴图库分享
  2. 微信怎么查计算机成绩查询,如何用微信免费查询自己的成绩?——易查分快速帮您实现...
  3. VS Code下载,安装,汉化
  4. Git切换项目当前登录账号
  5. datawindow自动行高、根据行高自动调整字体大小
  6. 你知道有哪些用于文件同步的方法?
  7. 点云处理--点云平移和旋转
  8. python 的下载安装
  9. Ubuntu18.04添加自启动脚本
  10. Mac和Windows共享文件,不借助任何软件