关于程序员:薅羊毛软件抢福袋源码分享

概述

这是一个系列分享,我会逐渐凋谢更多的分享。
基于AutoJs实现的薅羊毛App专业版源码大分享。我分享的源码,全是正在商业应用的性能源码。源码的品质大家能够本人均衡。

抢福袋(抖音、抖音极速、抖音火山)全副兼容

性能笼罩所有版本,明天分享根底版本,不蕴含智能版,下期分享智能抢福袋,智能避免风控。

界面


ui.layout(
    <vertical padding="16" id="parent">
        <TextView text="抢福袋" gravity="center" textSize="24sp" />
        <Switch id="autoService" text="无障碍服务" checked="{{auto.service != null}}" padding="8 8 8 8" textSize="15sp" />
        <horizontal>
            <TextView w="auto"  text="只查看" />
            <input w="auto" id="maxWait" minWidth="50" inputType="number" text="180" />
            <TextView w="auto" text="秒以内" />
        </horizontal>
        <horizontal>
            <TextView w="auto"  text="中奖概率大于"/>
            <input w="auto" id="gl" minWidth="50" inputType="number" text="0.1" />
        </horizontal>

        <horizontal>
            <button w="*" id="openapp" text="开始工作" />
        </horizontal>
    </vertical>
);

依据以后概率、预估最终概率

qfd.checkYgl = function (time) {
    waitTime(3)
    var txtwg = textMatches(/^[1-9][0-9]*.*[1-9][0-9]*人/).findOnce();
    if (txtwg == null) {
        return false;
    }
    var nu = textMatches(/^\d+$/).className("android.view.View").findOnce();
    if (nu == null) {
        return false;
    }
    if (!this.checkedfsp()) {
        var txt = txtwg.text();
        txt = txt.replace("钻石", "")
        txt = txt.replace("(", "")
        txt = txt.replace(")", "")
        txt = txt.replace("抖币:", "|")
        log(txt)
        var totaldb = parseInt(txt.split('|')[0])
        var total = parseInt(txt.split('|')[1])
        total = total == 0 ? 1 : total;
        var average = totaldb / total;
        var gl = total * time * 1.0 / (parseInt(nu.text()) * 600);
        ydb = average * gl
        log("能够取得" + average * gl + "抖币")
        var ms = average * gl > 1.0;
        if (!ms) {
            log("-------亏本生意,放弃------")
        }
    } else {
        return true;
    }
    return ms;

}
qfd.qfd = function () {
    var mswg = textMatches(/^([0-1]{1}\d|2[0-3]):([0-5]\d)$/).find();
    var size = mswg.length
    if (size != 0) {
        var had=false;
        for (let index = size - 1; index >= 0; index--) {
            if(had){
                break;
            }
            had=false;
            const txtwg = mswg[index];
            var txt = txtwg.text();
            var time =timeToSec(txt);
            if(txtwg.parent()==null){
                continue;                 
            }
            if (qfd.ouTime(time)) {
                log("超出工夫范畴" + txt);
                continue;
            }
            txtwg.parent().parent().click();
            waitTime(3, "加载...")
            if (!text("福袋").exists()) {
                click(device.width * 0.1, device.height * 0.3);
                waitTime(0.5)
                
                continue;
            }
            had=true;
            //检测是否满足福袋要求
            if (!qfd.checkYgl(time)) {
                click(device.width * 0.1, device.height * 0.3);
                waitTime(0.5)
                continue;
            }
            //满足
            textStartsWith("一键参加").findOne().click();
            qfd.randomsend(time / 5);
            waitTime(time+2, "期待福袋");
            click(device.width * 0.1, device.height * 0.3);
            waitTime(3, "---")
            log(txt);
            break;
        }
    }
    nextVideo();
    waitTime(6);
}

抢福袋过程中 随机参加互动


qfd.sentMsg = function (msg) {
    waitTime(1, "随机发消息:" + msg);
    click(device.width * 0.1, device.height * 0.97)
    waitTime(1, "发送");
    var wg = className("android.widget.EditText").findOnce();
    if (wg != null) {
        wg.setText(msg);
    }
    waitTime(1, "发送");
    var wg2 = className("android.widget.Button").desc("发送").findOnce()
    if (wg2 != null) {
        wg2.click();
    }
    waitTime(1, "发送实现");
}

开源代码地址:
https://github.com/kkevsekk1/…
留神:本代码只兼容 autox.js 4.2.8 以上,auto.js 4.1 和auto.pro 都不兼容哦,因为应用了最新的个性。

如果有趣味须要代码打包好的apk能够发问,(其实你本人打包也是几分钟的事件)

最初分享几张效果图

评论

发表回复

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

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理