主页 > 网络教程 > Autojs进阶 > 随机仿真曲线划动

推荐服务

Autojs尊享学员培训服务

Autojs尊享学员培训服务

编号: S83   浏览: 2911

Autojs免Root脚本定制服务

Autojs免Root脚本定制服务

编号: S84   浏览: 6152

推荐工具

千若微信养号辅助工具

千若微信养号辅助工具

编号: S1   浏览: 2788

织梦dedeCMS评论插件免费修复版

织梦dedeCMS评论插件免费修复版

编号: S2   浏览: 2983

随机仿真曲线划动

浏览: 次     责任编辑: Dawolf

仿真曲线划动目的就是规避系统检测,实现仿人工曲线上划或下拉操作:

function 上划() {
    var sml_moveqx = device.width * random(3, 7) / 10;
    var sml_movezx = device.width * random(3, 7) / 10;
    var sml_moveqy = device.height * random(6, 9) / 10;
    var sml_movezy = device.height * random(2, 4) / 10;
    var sml_movetime = random(700, 1200);
    sml_move(Math.floor(sml_moveqx), Math.floor(sml_moveqy), Math.floor(sml_movezx), Math.floor(sml_movezy), Math.floor(sml_movetime));
}

function 下拉() {
    var sml_moveqx = device.width * random(3, 7) / 10;
    var sml_movezx = device.width * random(3, 7) / 10;
    var sml_moveqy = device.height * random(2, 4) / 10;
    var sml_movezy = device.height * random(6, 9) / 10;
    var sml_movetime = random(500, 1000);//时间不能过长,防止变成下拉悬停
    sml_move(Math.floor(sml_moveqx), Math.floor(sml_moveqy), Math.floor(sml_movezx), Math.floor(sml_movezy), Math.floor(sml_movetime));
}

//仿真随机带曲线滑动开始  
function bezier_curves(cp, t) {
    cx = 3.0 * (cp[1].x - cp[0].x);
    bx = 3.0 * (cp[2].x - cp[1].x) - cx;
    ax = cp[3].x - cp[0].x - cx - bx;
    cy = 3.0 * (cp[1].y - cp[0].y);
    by = 3.0 * (cp[2].y - cp[1].y) - cy;
    ay = cp[3].y - cp[0].y - cy - by;
    tSquared = t * t;
    tCubed = tSquared * t;
    result = {
        "x": 0,
        "y": 0
    };
    result.x = (ax * tCubed) + (bx * tSquared) + (cx * t) + cp[0].x;
    result.y = (ay * tCubed) + (by * tSquared) + (cy * t) + cp[0].y;
    return result;
}

function sml_move(qx, qy, zx, zy, time) {//qx, qy, zx, zy, time 代表起点x,起点y,终点x,终点y,过程耗时单位毫秒
    var xxy = [time];
    var point = [];
    var dx0 = {
        "x": qx,
        "y": qy
    };
    var dx1 = {
        "x": random(qx - 100, qx + 100),
        "y": random(qy, qy + 50)
    };
    var dx2 = {
        "x": random(zx - 100, zx + 100),
        "y": random(zy, zy + 50),
    };
    var dx3 = {
        "x": zx,
        "y": zy
    };
    for (var i = 0; i < 4; i++) {
        eval("point.push(dx" + i + ")");
    };
    for (let i = 0; i < 1; i += 0.08) {
        xxyy = [parseInt(bezier_curves(point, i).x), parseInt(bezier_curves(point, i).y)]
        xxy.push(xxyy);
    }
    gesture.apply(null, xxy);
}
//仿真随机带曲线滑动结束


其中上划和下拉函数内的随机值是可以更改的,但是宽度间隔不要太大,防止被手机识别成横向划动!

具体效果可以通过打开Autojs的查看坐标功能,然后运行上述函数,查看划动轨迹。

版权保护: 本文由[ 千若网络 ]编辑,如需转载敬请保留本文链接: http://www.sss.top/jc/autojsjj/95.html