精易论坛

标题: 做百度发帖工具必备百度九宫格验证码破J [打印本页]

作者: wanghs    时间: 2013-11-16 15:39
标题: 做百度发帖工具必备百度九宫格验证码破J
本帖最后由 wanghs 于 2013-11-16 18:08 编辑

百度九宫格验证码破J

近日,有网友在做贴吧发帖工具时,遇到了麻烦,发帖过于频繁,系统就会弹出九宫格验证码,如下:


九宫格验证码输入时,无需手动打字,只需用鼠标点击相应字格,鼠标所在坐标中的文字图片即可添加到验证码输入框中。通过提取,得到如下图片:


这是一张完整的图片,是如何通过验证的呢?点击图片,相应区域的图片如何到达验证码输入中呢?
下面开始一一分析。
通过 POST截取工具获得如下封包:


复制代码


经过分析可得知   captcha_input_str=00000000000100000001000100010002  即为验证码坐标码。此坐标码共32位,若8位代表一个坐标,正好是4个字坐标。经过多次点击、分析、归纳、总结,得到如下对应表格:


由此表可知:00000000000100000001000100010002   所代表的的对应格子为1、2、5、8,下面的工作就相对简单了,我们只需画九个图片框在9个外形框中,外形框的尺寸为48×40,通过调整图片框的位置,分别显示不同的区域;同样的方法再绘制4个作为验证码输入框;同样再绘制一个145×39的外形框显示需要验证的字符:


用一个字节集变量赋予14个图片框后,测试运行效果如下:



当我们点击九宫格中的图片时,判断点击的图片框位置,根据点击位置,调整验证码输入框中图片位置,显示当前点击的文字图片,并生成当前文字在九宫格中的坐标码:



至此,九宫格验证码破J步骤已完成。  欢迎大家加入qq交流群38719064

百度九宫格验证码破J.zip (8.2 KB, 下载次数: 401)

作者: 清水常流    时间: 2013-11-16 15:45
东西不错。。。。。。。。。。。
作者: wxr155    时间: 2013-11-16 15:54
好支持顶了
作者: Learn    时间: 2013-11-16 15:54
LZ大神。。。。。
作者: 老酋长    时间: 2013-11-16 15:57
  真心佩服~
作者: yixin    时间: 2013-11-16 16:04
好难的样子
作者: 兔纸兄    时间: 2013-11-16 16:05
技术贴 必须支持
作者: Violation    时间: 2013-11-16 16:06
技术贴必须牛啊
作者: syzll    时间: 2013-11-16 16:08
好厉害的样子
作者: 北冥    时间: 2013-11-16 16:47
技术帖子支持!
作者: wbt15902242581    时间: 2013-11-16 16:58
技术帖子支持!
作者: 大白兔°    时间: 2013-11-16 17:03
不错不错
作者: 天中小和尚    时间: 2013-11-16 18:00
牛人 啊    +99
作者: 洃铯‰感伤    时间: 2013-11-16 18:14
看看,学习学习。
作者: №無道メ    时间: 2013-11-16 19:47
看看,学习学习。


作者: 泷泽萝啦啦啦    时间: 2013-11-16 21:40
= =    看起来好牛。。。下载看看
作者: qqq123123123    时间: 2013-11-17 08:58
没必要这么麻烦的···
作者: zzg7530    时间: 2013-11-17 13:26
似乎很强大
作者: teamlast    时间: 2013-11-19 19:01
qqq123123123 发表于 2013-11-17 08:58
没必要这么麻烦的···

那怎么弄,这很简单了
作者: 宇智波·佐助    时间: 2013-11-24 16:38
不错         
作者: 刘浪汉    时间: 2013-11-24 16:39
看起来很牛13的样子啊,膜拜一下
作者: feiyang168    时间: 2013-11-25 16:34
撸主强悍!
作者: laneagle007    时间: 2013-11-26 15:43
学习了,顶一下
作者: 另外一种fee1    时间: 2013-11-26 15:52
很牛X的样子
作者: wionch    时间: 2013-12-9 11:35
牛叉啊。。这样就破J了??
作者: 张升    时间: 2013-12-14 07:05
谢谢 分享 i学习中!
作者: 程序开发推广    时间: 2013-12-14 21:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: 新纪元    时间: 2013-12-27 10:19
我去,你转帖能注明出处吗?http://hi.baidu.com/chingtao/item/efae826c56affe2769105b90这是我空间9-11日发的。。求罩。。
作者: 新纪元    时间: 2013-12-27 10:20
我去,你转帖能注明出处吗?http://hi.baidu.com/chingtao/item/efae826c56affe2769105b90这是我空间9-11日发的。。求罩。。

作者: 新纪元    时间: 2013-12-27 10:28
我去,你转帖能注明出处吗? 虽然对你帮我扩散很感谢,但。。。

↓这是我空间9-11日首发的!



↓这是我在另一个论坛10-31日发的。。



。。求罩。。

作者: 半夏时光    时间: 2014-2-3 23:13
38719064[e]
.版本 2
.支持库 spec

.程序集 窗口程序集1
.程序集变量 位置1, 文本型
.程序集变量 位置2, 文本型
.程序集变量 位置3, 文本型
.程序集变量 位置4, 文本型
.程序集变量 图片, 字节集

.子程序 _图片框A0_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

.判断开始 (图片框A.可视 = 假)
    位置1 = “00000000”
    图片框A.可视 = 真
    图片框A.移动 (0, -35, , )
.判断 (图片框B.可视 = 假)
    位置2 = “00000000”
    图片框B.可视 = 真
    图片框B.移动 (0, -35, , )
.判断 (图片框C.可视 = 假)
    位置3 = “00000000”
    图片框C.可视 = 真
    图片框C.移动 (0, -35, , )
.判断 (图片框D.可视 = 假)
    位置4 = “00000000”
    图片框D.可视 = 真
    图片框D.移动 (0, -35, , )
    调试输出 (位置1 + 位置2 + 位置3 + 位置4)
.默认

.判断结束


.子程序 _图片框A1_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

.判断开始 (图片框A.可视 = 假)
    位置1 = “00010000”
    图片框A.可视 = 真
    图片框A.移动 (-48, -35, , )
.判断 (图片框B.可视 = 假)
    位置2 = “00010000”
    图片框B.可视 = 真
    图片框B.移动 (-48, -35, , )
.判断 (图片框C.可视 = 假)
    位置3 = “00010000”
    图片框C.可视 = 真
    图片框C.移动 (-48, -35, , )
.判断 (图片框D.可视 = 假)
    位置4 = “00010000”
    图片框D.可视 = 真
    图片框D.移动 (-48, -35, , )
    调试输出 (位置1 + 位置2 + 位置3 + 位置4)
.默认

.判断结束


.子程序 _图片框A2_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

.判断开始 (图片框A.可视 = 假)
    位置1 = “00020000”
    图片框A.可视 = 真
    图片框A.移动 (-96, -35, , )
.判断 (图片框B.可视 = 假)
    位置2 = “00020000”
    图片框B.可视 = 真
    图片框B.移动 (-96, -35, , )
.判断 (图片框C.可视 = 假)
    位置3 = “00020000”
    图片框C.可视 = 真
    图片框C.移动 (-96, -35, , )
.判断 (图片框D.可视 = 假)
    位置4 = “00020000”
    图片框D.可视 = 真
    图片框D.移动 (-96, -35, , )
    调试输出 (位置1 + 位置2 + 位置3 + 位置4)
.默认

.判断结束


.子程序 _图片框B0_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

.判断开始 (图片框A.可视 = 假)
    位置1 = “00000001”
    图片框A.可视 = 真
    图片框A.移动 (0, -85, , )
.判断 (图片框B.可视 = 假)
    位置2 = “00000001”
    图片框B.可视 = 真
    图片框B.移动 (0, -85, , )
.判断 (图片框C.可视 = 假)
    位置3 = “00000001”
    图片框C.可视 = 真
    图片框C.移动 (0, -85, , )
.判断 (图片框D.可视 = 假)
    位置4 = “00000001”
    图片框D.可视 = 真
    图片框D.移动 (0, -85, , )
    调试输出 (位置1 + 位置2 + 位置3 + 位置4)
.默认

.判断结束


.子程序 _图片框B1_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

.判断开始 (图片框A.可视 = 假)
    位置1 = “00010001”
    图片框A.可视 = 真
    图片框A.移动 (-48, -85, , )
.判断 (图片框B.可视 = 假)
    位置2 = “00010001”
    图片框B.可视 = 真
    图片框B.移动 (-48, -85, , )
.判断 (图片框C.可视 = 假)
    位置3 = “00010001”
    图片框C.可视 = 真
    图片框C.移动 (-48, -85, , )
.判断 (图片框D.可视 = 假)
    位置4 = “00010001”
    图片框D.可视 = 真
    图片框D.移动 (-48, -85, , )
    调试输出 (位置1 + 位置2 + 位置3 + 位置4)
.默认

.判断结束


.子程序 _图片框B2_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

.判断开始 (图片框A.可视 = 假)
    位置1 = “00020001”
    图片框A.可视 = 真
    图片框A.移动 (-96, -85, , )
.判断 (图片框B.可视 = 假)
    位置2 = “00020001”
    图片框B.可视 = 真
    图片框B.移动 (-96, -85, , )
.判断 (图片框C.可视 = 假)
    位置3 = “00020001”
    图片框C.可视 = 真
    图片框C.移动 (-96, -85, , )
.判断 (图片框D.可视 = 假)
    位置4 = “00020001”
    图片框D.可视 = 真
    图片框D.移动 (-96, -85, , )
    调试输出 (位置1 + 位置2 + 位置3 + 位置4)
.默认

.判断结束


.子程序 _图片框C0_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

.判断开始 (图片框A.可视 = 假)
    位置1 = “00000002”
    图片框A.可视 = 真
    图片框A.移动 (0, -135, , )
.判断 (图片框B.可视 = 假)
    位置2 = “00000002”
    图片框B.可视 = 真
    图片框B.移动 (0, -135, , )
.判断 (图片框C.可视 = 假)
    位置3 = “00000002”
    图片框C.可视 = 真
    图片框C.移动 (0, -135, , )
.判断 (图片框D.可视 = 假)
    位置4 = “00000002”
    图片框D.可视 = 真
    图片框D.移动 (0, -135, , )
    调试输出 (位置1 + 位置2 + 位置3 + 位置4)
.默认

.判断结束


.子程序 _图片框C1_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

.判断开始 (图片框A.可视 = 假)
    位置1 = “00010002”
    图片框A.可视 = 真
    图片框A.移动 (-48, -135, , )
.判断 (图片框B.可视 = 假)
    位置2 = “00010002”
    图片框B.可视 = 真
    图片框B.移动 (-48, -135, , )
.判断 (图片框C.可视 = 假)
    位置3 = “00010002”
    图片框C.可视 = 真
    图片框C.移动 (-48, -135, , )
.判断 (图片框D.可视 = 假)
    位置4 = “00010002”
    图片框D.可视 = 真
    图片框D.移动 (-48, -135, , )
    调试输出 (位置1 + 位置2 + 位置3 + 位置4)
.默认

.判断结束


.子程序 _图片框C2_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

.判断开始 (图片框A.可视 = 假)
    位置1 = “00020002”
    图片框A.可视 = 真
    图片框A.移动 (-96, -135, , )
.判断 (图片框B.可视 = 假)
    位置2 = “00020002”
    图片框B.可视 = 真
    图片框B.移动 (-96, -135, , )
.判断 (图片框C.可视 = 假)
    位置3 = “00020002”
    图片框C.可视 = 真
    图片框C.移动 (-96, -135, , )
.判断 (图片框D.可视 = 假)
    位置4 = “00020002”
    图片框D.可视 = 真
    图片框D.移动 (-96, -135, , )
    调试输出 (位置1 + 位置2 + 位置3 + 位置4)
.默认

.判断结束


.子程序 _图片框3_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

.判断开始 (图片框D.可视 = 真)
    图片框D.可视 = 假
.判断 (图片框C.可视 = 真)
    图片框C.可视 = 假
.判断 (图片框B.可视 = 真)
    图片框B.可视 = 假
.判断 (图片框A.可视 = 真)
    图片框A.可视 = 假
.默认

.判断结束


.子程序 __启动窗口_创建完毕

图片 = #图片
图片框2.图片 = 图片
图片框A.图片 = 图片
图片框B.图片 = 图片
图片框C.图片 = 图片
图片框D.图片 = 图片
图片框A0.图片 = 图片
图片框A1.图片 = 图片
图片框A2.图片 = 图片
图片框B0.图片 = 图片
图片框B1.图片 = 图片
图片框B2.图片 = 图片
图片框C0.图片 = 图片
图片框C1.图片 = 图片
图片框C2.图片 = 图片
图片框A0.移动 (0, -35, , )
图片框A1.移动 (-48, -35, , )
图片框A2.移动 (-96, -35, , )
图片框B0.移动 (0, -85, , )
图片框B1.移动 (-48, -85, , )
图片框B2.移动 (-96, -85, , )
图片框C0.移动 (0, -135, , )
图片框C1.移动 (-48, -135, , )
图片框C2.移动 (-96, -135, , )
[/e]
作者: 新纪元    时间: 2014-3-10 17:50
请楼主加上我的原文链接谢谢!
作者: 波哥野结衣    时间: 2014-4-14 08:32
我擦  神贴!
作者: 比利叔    时间: 2014-7-4 19:12
只能说这个看起来好屌好厉害的样子
作者: cumtljj    时间: 2015-4-7 22:38
这样的话验证码还是要手动输入 像这样九宫格的如何自动识别呢?
作者: zitian    时间: 2015-9-5 21:45
这个。。。有点好牛的样子
作者: luozhan    时间: 2015-9-30 11:34
非常感激.......




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4