腾讯过滑块验证码开源

腾讯过滑块验证码开源

.版本 2 .支持库 BmpOperate .支持库 spec .程序集 极验 .子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用 .子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用 .子程序 到位图, 字节集, 公开 .参数 图片数据, 字节集, 参考 .局部变量 图片, 对象 .局部变量 图, 字节集 图 = 图片数据 .如果真 (取字节集左边 (图, 2) ≠ { 66, 77 } 或 取字节集数据 (图, #短整数型, 29) > 8) 图片.创建图片对象 (图) 图 = 图片.取回图片 () 图片.清除 () .如果真结束 返回 (图) .子程序 计算坐标, 整数型, 公开 .参数 阴影图, 字节集 .参数 原图, 字节集 .参数 滑块, 字节集 .参数 Y坐标, 整数型 .局部变量 位图_阴影图, 位图 .局部变量 位图_原图, 位图 .局部变量 分割组数量, 整数型 .局部变量 分割组, 整数型, , "0" .局部变量 识别宽度, 整数型 .局部变量 差值, 整数型 .局部变量 上次差异次数, 整数型 .局部变量 最大差值, 整数型 .局部变量 逆向差值, 整数型 .局部变量 逆向上次差异次数, 整数型 .局部变量 逆向最大差值, 整数型 .局部变量 逆向X, 整数型 .局部变量 最终X, 整数型 .局部变量 偏移X, 整数型 .局部变量 差异次数, 整数型 .局部变量 偏移差异次数, 整数型 .局部变量 边, 整数型 .局部变量 a, 整数型 .局部变量 i, 整数型 .局部变量 X, 整数型 .局部变量 Y, 整数型 .局部变量 滑块_宽, 整数型 .局部变量 滑块_高, 整数型 .局部变量 位图_滑块, 位图 .局部变量 XX, 整数型 .局部变量 YY, 整数型 .局部变量 跳出, 逻辑型 位图_滑块.载入数据 (滑块) 滑块_宽 = 位图_滑块.取宽度 () 滑块_高 = 位图_滑块.取高度 () .计次循环首 (滑块_宽, XX) .计次循环首 (滑块_高, YY) .如果真 (位图_滑块.取某点颜色 (XX - 1, YY - 1) ≠ #白色) 跳出 = 真 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (跳出) 边 = XX + 2 跳出循环 () .如果真结束 .计次循环尾 () 位图_阴影图.载入数据 (阴影图) 位图_原图.载入数据 (原图) 位图_阴影图 = 取位图区域 (位图_阴影图, 0, Y坐标, 位图_阴影图.取宽度 (), 滑块_高) 位图_原图 = 取位图区域 (位图_原图, 0, Y坐标, 位图_原图.取宽度 (), 滑块_高) 分割组数量 = 分割_差异次数 (位图_阴影图, 位图_原图, 分割组) .如果真 (分割组数量 = 0 或 位图_阴影图.取宽度 () ≠ 位图_原图.取宽度 ()) 返回 (0) .如果真结束 识别宽度 = 分割组数量 - 滑块_宽 .计次循环首 (识别宽度, i) 差异次数 = 分割组 [i] 差值 = 差异次数 - 上次差异次数 .如果真 (差值 > 最大差值) 最大差值 = 差值 X = i .如果真结束 上次差异次数 = 差异次数 逆向差值 = 分割组 [分割组数量 - i + 1] - 逆向上次差异次数 .如果真 (逆向差值 > 逆向最大差值) 逆向最大差值 = 逆向差值 逆向X = 分割组数量 - i + 1 .如果真结束 逆向上次差异次数 = 分割组 [分割组数量 - i + 1] .计次循环尾 () 识别宽度 = 滑块_宽 - 边 × 2 偏移X = 逆向X - 识别宽度 .如果真 (X > i) X = i .如果真结束 .如果真 (偏移X ≤ 0) 偏移X = 1 .如果真结束 .如果真 (X ≤ 0) X = 1 .如果真结束 .计次循环首 (识别宽度, a) 偏移差异次数 = 偏移差异次数 + 分割组 [偏移X + a - 1] 差异次数 = 差异次数 + 分割组 [X + a - 1] .计次循环尾 () .判断开始 (偏移差异次数 ≥ 差异次数) 最终X = 偏移X - 边 .默认 最终X = X - 边 .判断结束 返回 (最终X) .子程序 取位图区域, 位图 .参数 原位图, 位图 .参数 图片左边, 整数型 .参数 图片顶边, 整数型 .参数 图片宽度, 整数型 .参数 图片高度, 整数型 .局部变量 bmp, 位图 .局部变量 X, 整数型 .局部变量 Y, 整数型 .局部变量 颜色, 整数型 调试输出 (图片宽度, 图片高度, 原位图.取位深度 ()) bmp.创建 (图片宽度, 图片高度, 原位图.取位深度 (), ) .计次循环首 (图片宽度, X) .计次循环首 (图片高度, Y) 颜色 = 原位图.取某点颜色 (图片左边 + X - 1, 图片顶边 + Y - 1) bmp.置某点颜色 (X - 1, Y - 1, 颜色) .计次循环尾 () .计次循环尾 () 返回 (bmp) .子程序 分割_差异次数, 整数型 .参数 原图_位图, 位图 .参数 阴影图_位图, 位图 .参数 返回分割组, 整数型, 参考 数组 .局部变量 X, 整数型 .局部变量 Y, 整数型 .局部变量 差异度, 双精度小数型 .局部变量 差异次数, 整数型 .计次循环首 (原图_位图.取宽度 (), X) .计次循环首 (原图_位图.取高度 (), Y) 差异度 = 取差异度 (到字节集 (原图_位图.取某点颜色 (X - 1, Y - 1)), 到字节集 (阴影图_位图.取某点颜色 (X - 1, Y - 1))) .如果真 (差异度 > 10) 差异次数 = 差异次数 + 1 .如果真结束 .计次循环尾 () 加入成员 (返回分割组, 差异次数) 差异次数 = 0 .计次循环尾 () 返回 (取数组成员数 (返回分割组)) .子程序 取差异度, 双精度小数型 .参数 颜色1, 字节集 .参数 颜色2, 字节集 .局部变量 y1, 双精度小数型 .局部变量 u1, 双精度小数型 .局部变量 v1, 双精度小数型 .局部变量 y2, 双精度小数型 .局部变量 u2, 双精度小数型 .局部变量 v2, 双精度小数型 y1 = 0.299 × 颜色1 [1] + 0.587 × 颜色1 [2] + 0.114 × 颜色1 [3] u1 = -0.14713 × 颜色1 [1] - 0.28886 × 颜色1 [2] + 0.436 × 颜色1 [3] v1 = 0.615 × 颜色1 [1] - 0.51498 × 颜色1 [2] - 0.10001 × 颜色1 [3] y2 = 0.299 × 颜色2 [1] + 0.587 × 颜色2 [2] + 0.114 × 颜色2 [3] u2 = -0.14713 × 颜色2 [1] - 0.28886 × 颜色2 [2] + 0.436 × 颜色2 [3] v2 = 0.615 × 颜色2 [1] - 0.51498 × 颜色2 [2] - 0.10001 × 颜色2 [3] 返回 (求平方根 ((y1 - y2) × (y1 - y2) + (u1 - u2) × (u1 - u2) + (v1 - v2) × (v1 - v2))) .子程序 鼠标轨迹, 文本型, 公开 .参数 X坐标, 整数型 .局部变量 t, 整数型 .局部变量 t1, 整数型 .局部变量 t2, 整数型 .局部变量 t3, 整数型 .局部变量 t4, 整数型 .局部变量 t5, 整数型 .局部变量 x, 整数型 .局部变量 x1, 整数型 .局部变量 x2, 整数型 .局部变量 x3, 整数型 .局部变量 x4, 整数型 .局部变量 x5, 整数型 .局部变量 y, 整数型 .局部变量 y1, 整数型 .局部变量 y2, 整数型 .局部变量 y3, 整数型 .局部变量 y4, 整数型 .局部变量 y5, 整数型 .局部变量 begintime, 文本型 .局部变量 endtime, 文本型 .局部变量 JS, 类_脚本组件 .局部变量 tokenid, 文本型 .局部变量 tokents, 文本型 .局部变量 mouseDownValue_t, 文本型 .局部变量 mouseDownValue_y, 文本型 .局部变量 mouseDownValue_x, 文本型 .局部变量 A, 整数型 .局部变量 B, 整数型 .局部变量 C, 整数型 .局部变量 i, 整数型 .局部变量 number, 整数型 .局部变量 max, 整数型 .局部变量 slideValue, 文本型 .局部变量 slideValue_x, 整数型 .局部变量 slideValue_t, 整数型 .局部变量 slideValue_y, 整数型 .局部变量 data, 文本型 .局部变量 Return, 文本型 .局部变量 norm, 双精度小数型 .局部变量 total, 双精度小数型 置随机数种子 () t = 取随机数 (1, 5) t1 = 取随机数 (1, 5) + t t2 = 取随机数 (550, 590) t3 = t2 + 取随机数 (5, 10) t4 = t3 + 1 t5 = t4 + 1 x = 取随机数 (50, 100) x1 = x - 取随机数 (1, 5) x2 = 取随机数 (100, 500) x3 = x2 + 取随机数 (1, 99) x4 = 取随机数 (10, 50) x5 = x4 + 取随机数 (10, 20) y = 取随机数 (10, 500) y1 = 取随机数 (1, 5) + y y2 = 取随机数 (0, 100) y3 = y2 + 取随机数 (100, 150) y4 = y3 + 取随机数 (1, 10) y5 = y4 + 取随机数 (1, 10) endtime = 到文本 (到长整数 (时间_取现行时间戳 (真)) - 70) begintime = 到文本 (到长整数 (endtime) - 5) JS.执行 (#tokenid) tokenid = JS.运行 (“gettokenid”, , , , , , ) tokents = 到文本 (到长整数 (begintime) - 取随机数 (80000, 100000)) mouseDownValue_t = 到文本 (t4) mouseDownValue_x = 到文本 (x4) mouseDownValue_y = 到文本 (到整数 (y4) - 1) slideValue = 自动生成滑动轨迹 (X坐标) data = “{\mousemove\:[{\t\:0,\x\:891,\y\:77},{\t\:1,\x\:862,\y\:182},{\t\:2,\x\:930,\y\:206}],\mouseclick\:[],\keyvalue\:[],\user_Agent\:\chrome/53.0.2785.104\,\resolutionx\:1920,\resolutiony\:1080,\winSize\:[1920,946],\url\:\http://captcha.guard.qcloud.com/cap_union_new_show\,\refer\:\\,\begintime\:” + begintime + “,\endtime\:” + endtime + “,\platform\:1,\os\:\other\,\keyboards\:0,\flash\:1,\pluginNum\:11,\index\:1,\ptcz\:\\,\tokenid\:” + tokenid + “,\e\:” + tokenid + “,\btokenid\:null,\tokents\:1508155166,\ips\:{\in\:[\10.0.251.244\]},\colorDepth\:24,\cookieEnabled\:true,\timezone\:8,\wDelta\:0,\keyUpCnt\:0,\keyUpValue\:[],\mouseUpValue\:[{\t\:3,\x\:964,\y\:206}],\mouseUpCnt\:1,\mouseDownValue\:[{\t\:1,\x\:846,\y\:199}],\mouseDownCnt\:1,\orientation\:[{\x\:0,\y\:0,\z\:0}],\bSimutor\:0,\focusBlur\:{\in\:[],\out\:[],\t\:[]},\fVersion\:27,\charSet\:\UTF-8\,\resizeCnt\:0,\errors\:[],\screenInfo\:\1920-1080-1040-24-*-*-*\,\elapsed\:1000,\ft\:\6f_7P_n_H\,\coordinate\:[820,9,0.5],\clientType\:\2\,\trycnt\:1,\refreshcnt\:0,\slideValue\:[[847,199,38],” + slideValue + “[0,0,67]],\dragobj\:0}” data = 子文本替换 (data, “\”, #引号, , , 真) JS.执行 (#网页信息加密) Return = JS.运行 (“AES”, data, , , , , ) 返回 (Return) .子程序 自动生成滑动轨迹, 文本型 .参数 X坐标, 整数型 .局部变量 x, 整数型 .局部变量 y, 整数型 .局部变量 t, 整数型 .局部变量 Max, 整数型 .局部变量 Norm, 整数型 .局部变量 proba, 整数型 .局部变量 Time, 整数型 .局部变量 Final, 整数型 .局部变量 Number, 整数型 .局部变量 StartTime, 整数型 .局部变量 轨迹, 文本型 Final = X坐标 ÷ 1.349 Norm = Final ÷ 3 proba = 65 .判断循环首 (Number < Final) .判断循环首 (Max < proba) 置随机数种子 () x = x + 1 Max = 取随机数 (0, 99) .判断循环尾 () y = 多项选择 (取随机数 (1, 3), -1, 0, 1) t = 取随机数 (14, 20) 轨迹 = 轨迹 + “[” + 到文本 (x) + “,” + 到文本 (y) + “,” + 到文本 (t) + “],” Time = Time + t Number = Number + x x = 0 y = 0 Max = 0 .判断循环尾 () 延时 (Time + 1000) 返回 (轨迹)
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

腾讯过滑块验证码开源》有0个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注