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 相关文章推荐
jQuery的实现原理的模拟代码 -1 核心部分
Aug 01 Javascript
javascript hashtable 修正版 下载
Dec 30 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
Sep 10 Javascript
jquery 如何动态添加、删除class样式方法介绍
Nov 07 Javascript
JavaScript字符串插入、删除、替换函数使用示例
Jul 25 Javascript
JavaScript中json使用自己总结
Aug 13 Javascript
jQuery实现瀑布流的取巧做法分享
Jan 12 Javascript
浅谈$('div a') 与$('div>a')的区别
Jul 18 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
May 22 Javascript
Vue.js实现列表清单的操作方法
Nov 15 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
Sep 09 Javascript
angular共享依赖的解决方案分享
Oct 15 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
FCKeditor的安装(PHP)
2007/01/13 PHP
CodeIgniter php mvc框架 中国网站
2008/05/26 PHP
PHP面向对象教程之自定义类
2014/06/10 PHP
php实现有趣的人品测试程序实例
2015/06/08 PHP
php处理带有中文URL的方法
2016/07/11 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
Laravel Reponse响应客户端示例详解
2020/09/03 PHP
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
jquery导航制件jquery鼠标经过变色效果示例
2013/12/05 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
js的window.showModalDialog及window.open用法实例分析
2015/01/29 Javascript
创建你的第一个AngularJS应用的方法
2015/06/16 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
vue下axios拦截器token刷新机制的实例代码
2020/01/17 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
Python多线程编程(一):threading模块综述
2015/04/05 Python
Python基于高斯消元法计算线性方程组示例
2018/01/17 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
python3 property装饰器实现原理与用法示例
2019/05/15 Python
python实现中文文本分句的例子
2019/07/15 Python
基于Python采集爬取微信公众号历史数据
2020/11/27 Python
某个公司的Java笔面试题
2016/03/11 面试题
Overload和Override的区别
2012/09/02 面试题
客服工作职责
2013/12/11 职场文书
大学生军训感想
2014/02/16 职场文书
经济职业学院毕业生自荐书
2014/03/17 职场文书
内勤主管岗位职责
2014/04/03 职场文书
2014年医生工作总结
2014/11/21 职场文书
教师旷工检讨书
2015/08/15 职场文书
《刺客之王:C罗全景传记》:时代从来不会亏待手艺人
2019/11/28 职场文书
基于docker安装zabbix的详细教程
2022/06/05 Servers