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 相关文章推荐
简单时间提示DEMO从0开始一直进行计时
Nov 19 Javascript
jquery iframe操作详细解析
Nov 20 Javascript
jQuery中focus事件用法实例
Dec 26 Javascript
JavaScript删除数组元素的方法
Mar 20 Javascript
JS跨域解决方案之使用CORS实现跨域
Apr 14 Javascript
如何检测JavaScript的各种类型
Jul 30 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
Jan 23 Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
Mar 04 Javascript
BACKBONE.JS 简单入门范例
Oct 17 Javascript
Vue 表情包输入组件的实现代码
Jan 21 Javascript
AntV F2和vue-cli构建移动端可视化视图过程详解
Oct 08 Javascript
关于Vue中axios的封装实例详解
Oct 20 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下载远程文件类(支持断点续传)
2008/11/14 PHP
php把大写命名转换成下划线分割命名
2015/04/27 PHP
IOS 开发之NSDictionary转换成JSON字符串
2017/08/14 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
javascript编程起步(第四课)
2007/02/27 Javascript
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
jquery.map()方法的使用详解
2015/07/09 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
jQuery简单实现列表隐藏和显示效果示例
2016/09/12 Javascript
JS基于面向对象实现的选项卡效果示例
2016/12/20 Javascript
JS实现双击内容变为可编辑状态
2017/03/03 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
解决layui的table插件无法多层级获取json数据的问题
2019/09/19 Javascript
React Native登录之指纹登录篇的示例代码
2020/11/03 Javascript
[01:19:54]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#1Alliance VS EHOME
2016/03/03 DOTA
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python实现从URL地址提取文件名的方法
2015/05/15 Python
django接入新浪微博OAuth的方法
2015/06/29 Python
pycharm运行程序时在Python console窗口中运行的方法
2018/12/03 Python
python打开使用的方法
2019/09/30 Python
python绘制彩虹图
2019/12/16 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
JDK安装目录下有哪些内容
2014/08/25 面试题
几个常见的消息中间件(MOM)
2014/01/08 面试题
《我的第一本书》教学反思
2014/02/15 职场文书
工作求职信
2014/07/04 职场文书
延安红色之旅心得体会
2014/10/07 职场文书
单位接收函格式
2015/01/30 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
少年派的奇幻漂流观后感
2015/06/08 职场文书
golang json数组拼接的实例
2021/04/28 Golang