为了更好的实现防检测,我们实现了结合 OCR文字识别 和 蓝牙HID硬件操作 的自动化脚本。该脚本通过OCR识别屏幕文字,并通过HID模拟外设操作实现防检测的自动化流程(如电商比价、数据采集等),完整代码及关键解析如下:

一、脚本场景:电商商品价格抓取与翻页

目标:自动滑动页面 → OCR识别商品价格 → 收集数据 → 翻页循环
防风控:全程使用HID硬件模拟操作,规避无障碍服务检测。


二、前置条件

  1. 硬件准备

    • Android 7.0+ 手机,安装冰狐智能辅助APP(官网下载

    • 蓝牙HID设备(如蓝牙键盘/鼠标,需提前配对手机)

  2. 权限配置

    • 开启冰狐的截屏权限(用于OCR)

    • 关闭无障碍服务(改用HID操作)

    • 在冰狐设置中启用HID硬件操控选项


三、完整Demo代码

// ===== 1. 初始化HID连接 =====
const HID_SERVER = 'http://127.0.0.1:9123'; // HID硬件本地服务地址

function hidClick(x, y) {
    httpGet(`${HID_SERVER}/click?x=${x}&y=${y}`); // 模拟点击:cite[1]
}

function hidSwipeVertical(startY, endY) {
    // 从屏幕中部垂直滑动(模拟自然手势)
    httpGet(`${HID_SERVER}/swip?x1=500&y1=${startY}&x2=500&y2=${endY}`); 
}

// ===== 2. OCR识别核心函数 =====
function recognizePrices() {
    requestScreenShot(); // 请求截屏权限
    const screenHeight = device.height;
    // 识别屏幕中下部的商品区域(参数为比例坐标)
    const ocrResults = ocr(0.1, 0.4, 0.8, 0.5, { 
        awesome: { threshold: 0.85, count: 4 } // 高精度模式:cite[2]
    });
    
    const prices = [];
    ocrResults.forEach(item => {
        // 匹配价格文本(如¥19.9)
        if (/%?¥\d+\.\d+/.test(item.text)) { 
            prices.push({
                text: item.text,
                x: item.region[0] + item.region[2]/2, // 中心坐标
                y: item.region[1] + item.region[3]/2
            });
        }
    });
    return prices;
}

// ===== 3. 主流程:收集数据并翻页 =====
function main() {
    let page = 1;
    const allPrices = [];
    
    while (page <= 5) { // 最多采集5页
        toast("开始识别第" + page + "页");
        delay(3000); // 等待页面加载
        
        // Step 1: OCR识别当前页价格
        const currentPrices = recognizePrices();
        if (currentPrices.length === 0) {
            console.error("识别失败,启用增量学习模型");
            // 此处可触发模型训练(参考:cite[2])
            break;
        }
        allPrices.push(...currentPrices);
        
        // Step 2: 用HID模拟滑动翻页
        hidSwipeVertical(screenHeight * 0.8, screenHeight * 0.2); 
        delay(2000); // 滑动动画等待
        page++;
    }
    
    // Step 3: 结果处理
    console.log("采集完成,共识别到价格:", allPrices);
    // 此处可添加数据上报或保存到文件
}

四、关键实现解析

1. OCR高精度识别优化
  • 区域定位ocr(0.1, 0.4, 0.8, 0.5) 参数表示识别左起10%、上起40%、宽80%、高50%的矩形区域(避免无关内容干扰)

  • 增量学习:若识别失败,可按2方法训练自定义模型:

    1. 将错误样本(如“¥19.9”误识别为“¥1q.9”)加入训练库

    2. 在线训练后下载model.bin并打包到APK

  • 正则过滤/%?¥\d+\.\d+/ 匹配价格格式,避免非价格文本

2. HID防检测策略
  • 完全替代无障碍服务:通过HTTP指令操作HID硬件(如/click/swip),系统判定为真实外设操作1

  • 模拟自然手势swip使用曲线参数(如垂直滑动带偏移),避免固定轨迹被风控识别

  • 操作延迟:关键步骤间添加delay(),模拟人类操作间隔

3. 错误处理增强
// 当OCR识别失败时,启用备用方案
if (currentPrices.length === 0) {
    // 方案1:调整识别区域再试一次
    const retryResults = ocr(0.1, 0.3, 0.8, 0.6); 
    // 方案2:坐标点击“刷新”按钮(需提前获取位置)
    hidClick(700, 200); 
}

五、应用场景扩展

此框架可快速适配以下需求:

  1. 自动化巡检:OCR识别设备状态灯 + HID按键截图存档

  2. 跨APP数据同步:从微信OCR读取文本 → HID模拟输入到企业系统

  3. 游戏自动化:OCR识别敌人位置 → HID模拟手柄瞄准射击


六、调试与进阶

  • 实时日志:在冰狐Web端查看console.log()输出和OCR识别详情

  • 性能提升

    • 减少awesome模式使用次数(非必要场景用基础OCR)

    • 将HID操作封装为模块复用(如import 'hid_utils';

  • 企业级需求

    • 通过冰狐Open API将数据同步到自有服务器

    • 使用卡密系统实现脚本分发与授权管理

点击访问冰狐智能辅助官网,获取完整API文档和案例库

Logo

一站式 AI 云服务平台

更多推荐