位置: 编程技术 - 正文

Python实现图片滑动式验证识别方法(python图像移动)

编辑:rootadmin

推荐整理分享Python实现图片滑动式验证识别方法(python图像移动),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python图片移动,python在图片上画图,python 滑块,python 滑块,python图像平滑,python图片移动,python图片移动,python让图片动起来,内容如对您有帮助,希望把文章链接给更多的朋友!

1 abstract

验证码作为一种自然人的机器人的判别工具,被广泛的用于各种防止程序做自动化的场景中。传统的字符型验证安全性已经名存实亡的情况下,各种新型的验证码如雨后春笋般涌现。目前最常见的一种形式就是“滑动拼图式”

2 内容概述

关于滑动式验证,最早由国内某网络安全公司首次提出的行为式验证,以滑动拼图解锁的方式呈现在世人面前。然后大概过了好几年之后,各种各样的滑动式验证产品都出来了,那么这些看似一样的产品,它们的安全性到底如何呢?

本文特意挑选出了一些后来者的小厂商的滑动式验证来做下实验,仅从第一步的图像学上分析一下安全性。因为我的主技术路线是图像学,关于前端的js并不熟悉,所以就只在图像学上点到即止即可。仅供会一些自动化技术的同学提供一些知识补充吧。

由于研究的实验对象实在是太简单,所以本文涉及的一些图像学的知识也不难,基本上python的初级选手就可以跑通本程序。仅供大家学习学习。

3 研究对象

某小站点上由小厂商提供的“滑动式验证”:

使用python写一个简单的爬虫自动化脚本,将此网站上的验证码资源多请求几次,并保存到本地,观查图片特点。

一般情况下,这一步是必须的,多下载一些图片,很多规律是可以一眼看出的。比如,从公开的页面中,连续请求此验证的资源 次,下载张图片后。

一眼看上去,此验证的图片素材都只有一种模式,那么就放心了,因为这个问题就比较单一,而不是多模式下你必须要解决多个问题。

4 定性分析

将这种单一模式的图片筛选一张出来,如下:

发现如下特点:

和前端展示相关的图片有:方块位置提示图A,小方块B,完整背景图C。

A图完全是由B和C合成

显然,设计这个验证图片的人没啥安全方面的经验,有如下两个产品细节没有注意:

Python实现图片滑动式验证识别方法(python图像移动)

对图片没做任何的特殊处理

对外公开提供了过多信息

于是使得识别此图片的位置变得极其简单。

5 定量分析

在前面一小节中,我们只是直观的看到了这些图片的一些特别,但是要解答这个题目,还需要进行量化,量化后才能程序化,程序化后才能全自动化。

使用matplotlib工具打开此图片。量化得到如下参数:

图片整体规格:w:,h:

由上到下分为三部分,每部分高度为

6 求解图片

很明显,只要将第一张图和第三张图相应的像素相减,神奇的事情就发生了:

“左上” 减去 “右下” 就得到 “左下”的结果。

这个时候,对x方向的R通道的像素点进行累加统计。

得到如下的统计图:

然后对这个曲线求一阶导数或者只要发现有个突变值超过最大像素值的某百分比时,即可得到最左边的那个y方向突变点的位置。

到此为止,此图片的位置已经成功解出。

下面是相应的python代码:

总结

以上所述是小编给大家介绍的Python实现图片滑动式验证识别方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

Python3调用微信企业号API发送文本消息代码示例 本文主要向大家分享了Python3调用微信企业号API发送文本消息示例的有关代码,具体如下:#!/usr/bin/envpython#-*-coding:utf-8-*-importurllib.requestimportjsonimportsysimpo

python使用正则表达式的search()函数实现指定位置搜索功能 前面学习过search()可以从任意一个文本里搜索匹配的字符串,也就是说可以从任何位置里搜索到匹配的字符串。但是现实世界很复杂多变的,比如限定你

python的文件操作方法汇总 文件的读操作示例:print("-文件句柄的获取,读操作:")f=open('无题','r',encoding='utf8')d=f.read()f.close()print(d)print('-例二:')f=open('无题','r',encoding='utf8')e=f.read(9)

标签: python图像移动

本文链接地址:https://www.jiuchutong.com/biancheng/372205.html 转载请保留说明!

上一篇:浅谈python中的占位符(python占位)

下一篇:Python3调用微信企业号API发送文本消息代码示例(python接入微信)

  • 月末存款余额
  • 事业单位长期股权投资持有期间被投资单位
  • 企业出售商铺需要预缴增值税吗
  • 退休职工能否扣医保
  • 经审计的财务报告包括的内容
  • 专票打印偏下可以用吗
  • 增值税可以退税嘛
  • 企业所得税抵扣项
  • 预付押金是否可以作为成本
  • 企业注销企业所得税年报怎么申报
  • 认缴出资怎么填财务报表
  • 小企业会计准则适用于哪些企业
  • 原始投资额包括资本化利息吗
  • 会计核算制度包括哪些准则
  • 金融资产转回
  • 房租怎么抵扣个税计算方法
  • 总分公司能互相开票吗
  • 发票复印件能报账吗
  • 工业用地厂房要交契税吗
  • 出售废旧物资可以开专票吗
  • abs付款是现金吗
  • 事业单位接受捐赠的货币资金在财务会计中确认捐赠收入
  • 工程施工科目月末如何结转
  • 工程用的东西有什么
  • 一次性收取一年租金
  • u盘装机大师怎么用
  • php字符串型数据的定义方式
  • 苹果macOSBigSur是什么型号
  • sci期刊投稿步骤
  • sigmoid函数求导表达式
  • elementui ts
  • 库存现金总分类账怎么登记
  • 目前税收工作中存在的主要问题及对策
  • 社保缴费基数如何调整
  • 小规模纳税人增值税申报表怎么填
  • 命令行激活profile命令的格式
  • 无数据库cms
  • 代销产品的形式有哪些
  • 计提坏账准备需要确认递延所得税吗
  • 非财政补助结转是什么类科目
  • dubbo 实现原理
  • 城市维护建设税,教育费附加,地方教育费附加
  • 资产负债表日后事项包括哪些
  • mongodb $and
  • 收到政府扶贫款如何做分录
  • 劳务报酬个人所得税税率表2023
  • 修改mysql配置
  • 银行承兑汇票和贴现的区别
  • 预收账款年底是不是不能有余额
  • 工人发生工伤的责任划分
  • 借款合同需要交印花税吗
  • 非正常损失进项税额转出怎么计算
  • 财务费用是负数什么意思
  • 以现金形式发工资的公司
  • 对公账户可以报税吗
  • 购买需要安装的生产设备会计分录
  • 残保金减免优惠政策2023最新
  • sql server设置主键primary key
  • bios如何关闭网卡
  • Windows自带的游戏怎么删除
  • windows的气泡屏保会加速
  • win7系统如何创建新用户
  • linux终端有哪些
  • 重装win7系统后鼠标键盘不能用
  • win8应用商店怎么卸载
  • 批处理文件命令大全
  • shell脚本 教程
  • listary 替代
  • bash脚本加密
  • 引用jquery后没反应
  • 下列关于javascript的叙述正确的有
  • 老司机指的是
  • jquery的dialog
  • android获取sha1
  • 不配合税务检查的法律责任
  • 陕西国家税务总局官网登录入口
  • 成都高新区税务局办税服务厅电话
  • 南京税务举报
  • 佛山退休办理
  • 新一轮税制改革的背景是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设