12306验证码破解思路分享


Posted in Javascript onMarch 25, 2015

一个12306验证码破解思路,
图片采集 + 概率

//分析:
1. 单次验证码里面有8个图片,类型最多8种,最少不太确定
2. 8个图是规则排列,可以很容易分隔
3. 图片库应该是有限的,可以采集,计算hash入库,这里需要关联相同类型图片
(比如  “杯子”,“刷子”等)
备注:这里的图片hash并不是md5,有很多算法,自行搜索吧。
 
//下面,我假设图片已经采集好了,分类也完成了,开始进行识别:
1. 选一张验证码,分隔成8个图片,分别计算hash,然后查询 这些hash对应的
类型(比如  “杯子”,“刷子”等),这里 假设图片识别正确率 100%
 
2. 随机选择一个上一步中查询到的类型,点击相应位置。 这里不需要识别上面的
汉字,按概率来说,极端情况,8个图片都不同,随机选择正确率 12.5%。于是,
理论上尝试8次以内,就能成功登录。
 
//难点:
1. 麻烦的可能是要分类,需要将相同类型的图片关联起来
 
//一些增加识别难度的建议
1. 图片中加入线形干扰,或者是 扭曲图片
2. 不规则排列8个图片,使之难以分割
 
// 仅仅凭借以往经验的一些思路,尚未实践。欢迎吐槽...

以上所述就是本文的全部内容了,请您花一点时间将文章分享给您的朋友或者留下评论。我们将会由衷感谢您的支持!

Javascript 相关文章推荐
js 禁止选择功能实现代码(兼容IE/Firefox)
Apr 23 Javascript
jQuery之按钮组件的深入解析
Jun 19 Javascript
js利用clipboardData实现截屏粘贴功能
Oct 12 Javascript
Move.js入门
Feb 08 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
Apr 01 Javascript
使用Node搭建reactSSR服务端渲染架构
Aug 30 Javascript
VUE中使用MUI方法
Feb 12 Javascript
解决layer.confirm选择完之后消息框不消失的问题
Sep 16 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
May 01 Javascript
5个你不知道的JavaScript字符串处理库(小结)
Jun 01 Javascript
微信小程序中的列表切换功能实例代码详解
Jun 09 Javascript
Javascript异步流程控制之串行执行详解
Sep 27 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
Mar 25 #Javascript
jQuery获得document和window对象宽度和高度的方法
Mar 25 #Javascript
jQuery设置指定网页元素宽度和高度的方法
Mar 25 #Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
Mar 25 #Javascript
Jquery实现鼠标移动放大图片功能实例
Mar 25 #Javascript
jQuery延迟加载图片插件Lazy Load使用指南
Mar 25 #Javascript
jQuery实现购物车计算价格功能的方法
Mar 25 #Javascript
You might like
菜鸟学PHP之Smarty入门
2007/01/04 PHP
Memcache 在PHP中的使用技巧
2010/02/08 PHP
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
用PHP来计算某个目录大小的方法
2014/04/01 PHP
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
ThinkPHP5&5.1框架关联模型分页操作示例
2019/08/03 PHP
js实现可拖动DIV的方法
2013/12/17 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
JS实现Select的option上下移动的方法
2016/03/01 Javascript
jQuery.ajax实现根据不同的Content-Type做出不同的响应
2016/11/03 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
vue.js的安装方法
2017/05/12 Javascript
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
在Python中实现贪婪排名算法的教程
2015/04/17 Python
在Python中的Django框架中进行字符串翻译
2015/07/27 Python
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
2018/05/28 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
Pytorch Tensor的统计属性实例讲解
2019/12/30 Python
django xadmin中form_layout添加字段显示方式
2020/03/30 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
幼儿园保教管理制度
2014/02/03 职场文书
《阳光》教学反思
2014/02/23 职场文书
八一建军节感言
2014/02/28 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
2014年个人总结范文
2015/03/09 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python