【验证码挑战】ICP/IP地址/域名备案查询 单滑块验证专用通过率90%
评论
收藏

【验证码挑战】ICP/IP地址/域名备案查询 单滑块验证专用通过率90%

经验分享
【耐家军】DC
2026-04-17 11:11·浏览量:217
【耐家军】DC
影刀专家
影刀认证工程师
发布于 2026-04-17 11:11217浏览

效果展示

打码流程

py代码

# 使用提醒:
# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能
# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能
# 3. 当此模块作为流程独立运行时执行main函数
# 4. 可视化流程中可以通过"调用模块"的指令使用此模块

import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
import cv2
import numpy as np
import base64


def find_gap_from_base64(base64_str, block_size=70):
    try:
        if "base64," in base64_str:
            base64_str = base64_str.split(",")[1]

        img_data = base64.b64decode(base64_str)
        np_arr = np.frombuffer(img_data, np.uint8)
        img = cv2.imdecode(np_arr, cv2.IMREAD_COLOR)

        if img is None:
            print("❌ base64 解码失败")
            return None

        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        h, w = gray.shape
        best_val = 999999
        best_x = best_y = 0

        # 暴力遍历:找【灰度在 175~230 之间】的灰色块
        for y in range(0, h - block_size, 4):
            for x in range(0, w - block_size, 4):
                patch = gray[y:y + block_size, x:x + block_size]
                avg = np.mean(patch)

                if 175 < avg < 230:
                    var = np.var(patch)
                    if var < best_val:
                        best_val = var
                        best_x = x
                        best_y = y

        print("✅ 成功找到缺口!X =", best_x)

        # 显示结果
        # cv2.imshow("RESULT", img)
        # cv2.waitKey(0)
        # cv2.destroyAllWindows()

        return best_x

    except Exception as e:
        print("❌ 报错:", str(e))
        return None

def main(args):
    pass

所需库

opencv-python numpy

猜你喜欢

【验证码挑战】手搓之文字点选系列,百分百免费借助ddddcor开源库

手搓系列之ddddocr解决计算验证码100%免费通过率百分之90以上

DCpage:搞定反验证码网站就是如此简单,py纯免费无需云码接口

【验证码挑战】手搓系列之躲避障碍验证码,方法你绝对想不到

手搓系列之天眼查单缺口滑块验证——思路可拓展其他单缺口滑块完全免费通过率99%

手搓系列之oppo滑块验证通过率90%——思路可拓展其他滑块验证

收藏2
全部评论1
最新
发布评论
评论