AutoGod:一款擁有AI視覺的安卓自動(dòng)化框架

AutoGod:一款擁有AI視覺的安卓自動(dòng)化框架

一、背景

在安卓自動(dòng)化領(lǐng)域,傳統(tǒng)方案存在幾個(gè)痛點(diǎn):

  1. 元素定位脆弱:UI改版后腳本失效
  2. 兼容性差:不同設(shè)備需適配多套腳本
  3. 安全性低:腳本容易被反編譯

Auto God通過AI視覺識(shí)別 + VMP混淆引擎,重新定義了安卓自動(dòng)化。

AIGamePro特點(diǎn).png

二、核心技術(shù)架構(gòu)

2.1 多引擎OCR識(shí)別

支持三種識(shí)別引擎,根據(jù)場(chǎng)景靈活切換:

// 切換引擎
$ocr.v("ncnn");  // 速度最快,適合實(shí)時(shí)識(shí)別
$ocr.v("mlkit"); // 準(zhǔn)確率高,兼容性好(默認(rèn))
$ocr.v("ppv5");  // 支持中英文+特殊字符
// 初始化
$ocr.init();
// 灰度化識(shí)別(速度提升30%-50%)
var options = {
    region: [0, 0, 500, 300],
    gray: true
};
var result = $ocr.detect(options);
if (result.isSuccess()) {
    var lines = result.getLines();
    for (var i = 0; i < lines.size(); i++) {
        console.log(lines.get(i).getText());
    }
}

2.2 YOLO目標(biāo)檢測(cè)

支持YoloV5-V13全系列:

var yolo = $yolo.create(8);  // 創(chuàng)建YoloV8
// 配置參數(shù)
yolo.setUseGpu(true);           // GPU加速
yolo.setSize(640, 640);         // 輸入尺寸(必須32的倍數(shù))
yolo.setProbThreshold(0.5);     // 置信度閾值
// 加載自定義模型
// yolo.loadModel("/sdcard/custom.model");
// 執(zhí)行檢測(cè)
var img = $img.capture();
var detections = yolo.detect(img);
// 處理結(jié)果
for (var i = 0; i < detections.length; i++) {
    var det = detections[i];
    console.log("標(biāo)簽: " + det.label + 
                " 位置: (" + det.x + "," + det.y + ")" +
                " 置信度: " + det.confidence);
}

2.3 擴(kuò)展庫加載

支持加載Dex、Jar、Apk、So文件:

// 加載單個(gè)dex文件
$ext.loadDex("/sdcard/custom.dex");
// 加載多個(gè)dex文件
$ext.loadDexs(["/sdcard/lib1.dex", "/sdcard/lib2.dex"]);
// 加載jar文件
$ext.loadJar("/sdcard/library.jar");
// 加載apk文件
$ext.loadApk("/sdcard/plugin.apk");
// 加載帶so庫的dex
var options = {
    path: ["/sdcard/custom.dex"],
    so: [
        {path: "/sdcard/libnative.so", load: true}
    ]
};
$ext.loadDex(options);

三、應(yīng)用場(chǎng)景

3.1 自動(dòng)化測(cè)試

// 測(cè)試用例:登錄流程
function testLogin() {
    // 識(shí)別并點(diǎn)擊登錄按鈕
    var loginBtn = $ocr.getPoint("登錄", {
        region: [0, 0, 1080, 500]
    });
    
    if (loginBtn == null) {
        console.log("測(cè)試失敗:登錄按鈕未找到");
        return false;
    }
    
    $act.click(loginBtn);
    sleep(1000);
    
    // 驗(yàn)證登錄結(jié)果
    var result = $ocr.line({
        region: [0, 200, 1080, 400],
        gray: true
    });
    
    if (result.indexOf("歡迎") !== -1) {
        console.log("測(cè)試通過");
        return true;
    }
    
    return false;
}
testLogin();

3.2 游戲自動(dòng)化

// 初始化:創(chuàng)建并緩存YOLO對(duì)象
var storage = $storage.create("game_config");
var yoloId = storage.getStr("yolo_id", null);
if (yoloId == null || !$yolo.has(yoloId)) {
    var yolo = $yolo.create(8);
    yolo.setUseGpu(true);
    yolo.setSize(640, 640);
    storage.putStr("yolo_id", yolo.getId());
}
// 使用:獲取緩存的YOLO對(duì)象
var yolo = $yolo.get(storage.getStr("yolo_id"));
// 檢測(cè)游戲目標(biāo)
var screenImg = $img.capture();
var targets = yolo.detect(screenImg);
// 點(diǎn)擊目標(biāo)
for (var i = 0; i < targets.length; i++) {
    $act.click(targets[i].x, targets[i].y);
    sleep(500);
}

3.3 企業(yè)級(jí)RPA

// 自動(dòng)填寫表單
function fillForm(data) {
    // 填寫姓名
    var nameField = $ocr.getPoint("姓名");
    if (nameField) {
        $act.click(nameField);
        $act.input(data.name);
    }
    
    // 填寫電話
    var phoneField = $ocr.getPoint("電話");
    if (phoneField) {
        $act.click(phoneField);
        $act.input(data.phone);
    }
    
    // 提交
    var submitBtn = $ocr.getPoint("提交");
    if (submitBtn) {
        $act.click(submitBtn);
    }
}
var formData = {
    name: "張三",
    phone: "13800138000"
};
fillForm(formData);

四、安全機(jī)制

4.1 VMP混淆引擎

腳本在執(zhí)行前會(huì)編譯成混淆碼:

  • 函數(shù)名加密
  • 字符串加密
  • 字段混淆
  • 無法還原源碼

4.2 云端驗(yàn)證

  • 非對(duì)稱加密傳輸
  • 本地+云端雙校驗(yàn)
  • 防離線破解

五、并發(fā)編程支持

// 多線程截圖(Auto God支持并發(fā))
function task1() {
    var img1 = $img.capture();
    // 處理圖片...
}
function task2() {
    var img2 = $img.capture();
    // 處理圖片...
}
// 兩個(gè)線程可以同時(shí)截圖,互不干擾
var thread1 = new Thread(task1);
var thread2 = new Thread(task2);
thread1.start();
thread2.start();

六、總結(jié)

Auto God的優(yōu)勢(shì):

  • ? AI視覺識(shí)別,無需固定坐標(biāo)
  • ? 多引擎支持,靈活切換
  • ? VMP混淆,安全性高
  • ? 并發(fā)編程,穩(wěn)定可靠
  • ? 擴(kuò)展性強(qiáng),支持第三方庫
畫圖-app截屏1.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容