12306验证码破解思路分享

 更新时间:2015年03月25日 16:30:59   投稿:hebedich  
本文给大家分享的是个人对于12306的新的验证码系统的破解思路,仅仅是思路,还没进行实地验证,推荐给大家,抛砖引玉吧。

一个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递归函数定义与用法实例分析

    JavaScript递归函数定义与用法实例分析

    这篇文章主要介绍了JavaScript递归函数定义与用法,结合实例形式分析了javascript递归的原理、函数定义、使用方法及操作注意事项,需要的朋友可以参考下
    2019-01-01
  • 原生js实现波浪导航效果

    原生js实现波浪导航效果

    这篇文章主要为大家详细介绍了原生js实现波浪导航效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • js表单登陆验证示例

    js表单登陆验证示例

    这篇文章主要介绍了js表单登陆验证的方法,基于thinkPHP前端页面实现javascript针对表单用户名与密码的验证功能,需要的朋友可以参考下
    2016-10-10
  • 微信小程序利用Canvas绘制图片和竖排文字详解

    微信小程序利用Canvas绘制图片和竖排文字详解

    这篇文章主要介绍了微信小程序利用Canvas绘制图片和竖排文字详解,合成图片应该按照 Canvas 的文档来做都没什么问题,主要是有个竖排文字的需求,这里和大家分享一下,需要的朋友可以参考下
    2019-06-06
  • 使用canvas实现鲤鱼跃龙门的动画效果

    使用canvas实现鲤鱼跃龙门的动画效果

    这篇文章主要给大家介绍了使用canvas实现鲤鱼跃龙门的动画效果,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,感兴趣的小伙伴可以自己动手尝试一下
    2024-02-02
  • javascript 随机抽奖程序代码

    javascript 随机抽奖程序代码

    javascript 随机抽奖程序代码,主要是利用了js的Math.random方法。需要的朋友可以参考下。
    2009-11-11
  • JS事件监听与事件委托举例详解(前端小白必学)

    JS事件监听与事件委托举例详解(前端小白必学)

    在JavaScript的学习中我们经常会遇到JavaScript的事件机制,例如,事件绑定、事件监听、事件委托(事件代理)等,下面这篇文章主要给大家介绍了关于JS事件监听与事件委托的相关资料,需要的朋友可以参考下
    2024-07-07
  • JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析

    JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析

    这篇文章主要介绍了JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作,结合实例形式分析了JavaScript针对HTML DOM 元素 (节点)的新增,编辑,删除相关操作技巧与使用注意事项,需要的朋友可以参考下
    2020-03-03
  • JavaScript 计算图片加载数量的代码

    JavaScript 计算图片加载数量的代码

    先定义一个图片的数组,然后通过image的onload事件来计算,注意,onload在ie和火狐有所不同。
    2011-01-01
  • JavaScript Map 和 Object 的区别解析

    JavaScript Map 和 Object 的区别解析

    在JavaScript中,Map 和 Object 看起来都是用键值对来存储数据,那么他们有什么不同呢,这篇文章主要介绍了JavaScript Map 和 Object 的区别,需要的朋友可以参考下
    2022-08-08

最新评论