/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ 772:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const nodes = __webpack_require__(590);
module.exports = {
packageName: "com.ss.android.ugc.aweme",
versions: ["26.0.0", "27.0.0", "28.0.0", "28.1.0", "28.2.0", "28.3.0", "28.4.0", "28.5.0", "28.6.0", "28.7.0", "28.8.0", "28.9.0", "29.0.0", "29.1.0","29.2.0","29.3.0"],
commonts: ["又刷到你了", "看看我的作品", "来我主页转转"],
sxhs: ["很高兴认识你", "常来常往"],
zfhs: ["互粉", "回关", "关注", "互赞"],
czyhGjzs: ["多少", "价格", "联系"],
dqGjzs: ["安徽", "浙江", "江苏"],
nodes: nodes,
}
/***/ }),
/***/ 922:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const utility = __webpack_require__(580);
const conf = __webpack_require__(772);
const engine = __webpack_require__(312);
var douyin = {
version: "",
nodes: {},
init() {
var info = utility.packageInfo(conf.packageName);
if (utility.isEmpty(info)) {
alert("请安装支持的抖音版本!");
return false;
} else if (conf.versions.includes(info.versionName)) {
this.version = info.versionName;
this.nodes = conf.nodes[info.versionName] || {};
return true;
} else {
alert("不支持 抖音(" + info.versionName + ")请安装支持的抖音版本!");
return false;
}
},
execClose() {
for (utility.inputHide(); ;) {
var closeBtn = desc("关闭").visibleToUser().findOnce();
if (!closeBtn) {
break;
}
closeBtn.click();
sleep(1000);
}
},
execCancel() {
while (true) {
var closeBtn = id("cancel_btn").visibleToUser().findOnce();
if (!closeBtn) {
break;
}
closeBtn.click();
sleep(1000);
}
},
execBackOnce() {
var backBtn = desc("返回").visibleToUser().findOnce();
return backBtn !== null && (backBtn.click(), sleep(500), true);
},
execBack() {
while (this.execBackOnce()) ;
},
execLike() {
var wdz = className("android.widget.LinearLayout").descStartsWith("未点赞").descEndsWith("按钮").visibleToUser().findOnce();
return !!wdz && (utility.toast("执行点赞"), wdz.click(), sleep(1000), true);
},
execTxdz() {
var txdz;
if (desc("用户头像").visibleToUser().findOnce().click()) {
sleep(500);
txdz = className("android.widget.RelativeLayout").visibleToUser().findOnce();
sleep(500);
txdz.click();
engine.sleepMs(1000, 2000);
back();
sleep(1000);
}
},
popupAndClose() {
threads.start(function () {
while (true) {
var a;
sleep(200);
if (text("授权提示").exists()) {
text("同意授权").click();
}
sleep(200);
if (text("休息一下吧").exists()) {
text("取消").click();
}
sleep(200);
if (text("很晚了,睡个好觉").exists() || text("早点睡觉吧").exists()) {
text("取消").click();
}
sleep(200);
if (text("朋友推荐").exists() && (a = desc("关闭").findOnce())) {
a.click();
}
sleep(200);
if (text("发现通讯录好友").exists()) {
text("取消").click();
}
sleep(200);
if (text("个人信息保护指引").exists()) {
text("好的").click();
}
sleep(200);
if (text("去商店评分").exists()) {
text("取消").click();
}
sleep(200);
if (text("开启青少年模式").exists()) {
text("我知道了").click();
}
sleep(200);
if (text("检测到更新").exists()) {
text("以后再说").click();
}
sleep(200);
if (text("跳过广告").exists()) {
text("跳过广告").click();
}
sleep(200);
if (text("下次").exists()) {
text("下次").click();
}
sleep(1000);
}
});
},
getNode(path) {
var tp;
var path = path.split(".");
let node = this.nodes;
for (tp of path) {
if ((node = node[tp] || null) === null) {
break;
}
}
if (!node) {
node = conf.nodes.all;
for (let tp of path) {
if ((node = node[tp] || null) === null) {
break;
}
}
}
return node;
},
isRecommend() {
return descContains("推荐").descEndsWith("按钮").descContains("已选中").visibleToUser().findOnce() !== null || descContains("精选").descEndsWith("按钮").descContains("已选中").visibleToUser().findOnce() !== null;
},
IsVideo() {
var node = douyin.getNode("video.like");
return node !== null && id(node.id).visibleToUser().findOnce() !== null || className("android.widget.LinearLayout").descContains("点赞").descEndsWith("按钮").visibleToUser().findOnce() !== null;
},
IsVideoDelay(ms) {
return className("android.widget.LinearLayout").descContains("点赞").descEndsWith("按钮").visibleToUser().findOne(ms) !== null;
},
skipVideo() {
return !this.IsVideo() && (utility.toast("跳过非视频或图集作品!"), sleep(500), engine.slide(), true);
},
IsFollow() {
return className("android.widget.Button").desc("关注").visibleToUser().findOnce() !== null;
},
execFollow() {
var con = className("android.widget.Button").desc("关注").visibleToUser().findOnce();
return !!con && (utility.toast("执行关注"), con.click(), true);
},
sikpFollow() {
return !this.IsFollow() && (utility.toast("跳过已关注用户"), sleep(500), engine.slide(), true);
},
IsLike() {
return className("android.widget.LinearLayout").descStartsWith("已点赞").descEndsWith("按钮").visibleToUser().findOnce() !== null;
},
sikpLike() {
return !!this.IsLike() && (utility.toast("跳过已点赞视频"), sleep(500), engine.slide(), true);
},
getLikeNum() {
let num = 0;
try {
var desc = className("android.widget.LinearLayout").descContains("点赞").descEndsWith("按钮").visibleToUser().findOnce().desc();
num = parseFloat(desc.match(/[0-9]+(\.[0-9]{0,2})?/g)[0]);
if (desc.indexOf("w") >= 0 || desc.indexOf("万") >= 0) {
num *= 10000;
}
} catch (e) {
num = 0;
}
return num;
},
IsAd() {
return textContains("广告").visibleToUser().findOnce() !== null;
},
sikpAp() {
return !!this.IsAd() && (utility.toast("跳过忽略广告"), sleep(500), engine.slide(), true);
},
IsCommerce() {
try {
if (textEndsWith("限时秒杀").visibleToUser().findOnce() !== null) {
return true;
}
if (textEndsWith("优惠团购").visibleToUser().findOnce() !== null) {
return true;
}
} catch (e) {
}
return false;
},
sikpCommerce() {
return !!this.IsCommerce() && (utility.toast("跳过商业视频!"), sleep(500), engine.slide(), true);
},
watchVideo(startTime, watchTime) {
startTime = engine.getUnix() - startTime;
if ((watchTime -= startTime = startTime > 60 ? 60 : startTime) > 0) {
console.log("观看时间:", watchTime);
engine.sleep(watchTime);
console.log("已观看时间:", watchTime);
utility.toast("继续观看视频" + watchTime + "秒");
} else {
utility.toast("已观看视频" + startTime + "秒");
}
sleep(500);
},
canComment() {
let num = 0;
try {
var desc = className("android.widget.LinearLayout").descContains("评论").descEndsWith("按钮").visibleToUser().findOnce().desc();
num = parseFloat(desc.match(/[0-9]+(\.[0-9]{0,2})?/g)[0]);
} catch (e) {
num = 0;
}
return num > 0;
},
sendComment(hs, isComment, isLike, pltp) {
try {
isComment = !!isComment || isComment === undefined;
var plBtn = className("android.widget.LinearLayout").descStartsWith("评论").descEndsWith("按钮").visibleToUser().findOnce();
if (plBtn && plBtn.click()) {
let editText = className("android.widget.EditText").visibleToUser().findOne(3000);
if (editText === null) {
sleep(1000);
editText = className("android.widget.EditText").visibleToUser().findOne(2000);
}
if (editText === null) {
utility.toast("没有识别到评论框");
sleep(500);
} else {
if (isLike) {
utility.toast("执行评论点赞");
sleep(1000);
(commentZanBtns = descStartsWith("赞").descEndsWith("未选中").visibleToUser().find()).forEach(el => {
(el.clickable() ? el : el.parent()).click();
engine.sleepMs(500, 1000);
});
}
var hsLen = hs.length;
if (!isComment || hsLen < 1) {
utility.toast("不执行评论");
sleep(500);
} else {
utility.toast("准备发表评论");
if (editText.click()) {
sleep(1000);
setText(hs[random(0, hsLen - 1)]);
engine.sleepMs(1000, 3000);
if (pltp && desc("插入图片").visibleToUser().findOne(3000) !== null) {
if (!desc("插入图片").visibleToUser().findOne().click()) {
utility.toast("没有成功点击到发布图片按钮");
}
sleep(2000);
let listBox = id("com.ss.android.ugc.aweme:id/content_container").visibleToUser().findOne(2000);
if ((listBox = listBox.find(id("com.ss.android.ugc.aweme:id/root_view"))).length == 0) {
alert("没有图片!", "手机相册里请先准备好图片!");
return;
}
if (!listBox[random(0, listBox.length - 1)].click()) {
utility.toast("图片点击失败!");
back();
}
engine.sleepMs(1000, 2000);
}
let sendBtn = className("android.widget.ImageView").visibleToUser().desc("发送").findOne(5000);
if ((sendBtn = (sendBtn = sendBtn || className("android.widget.TextView").visibleToUser().text("发送").findOne(5000)) || text("发送").findOne(5000)) === null) {
utility.toast("没有获取到发送按钮");
sleep(1000);
} else {
if (sendBtn.clickable()) {
if (!sendBtn.click()) {
utility.toast("没有成功点击发送按钮");
sleep(1000);
this.execClose();
return;
}
} else if (!sendBtn.parent().click()) {
utility.toast("没有成功点击parent发送按钮");
sleep(1000);
this.execClose();
return;
}
utility.toast("评论完成");
if (text("我也发一张").visibleToUser().findOne(5000) !== null) {
this.execBack();
}
engine.sleepMs(2000, 5000);
}
} else {
utility.toast("没有成功点击评论框");
sleep(500);
}
}
}
this.execClose();
}
} catch (e) {
console.log(e);
utility.toast("评论操作失败");
sleep(500);
this.execClose();
}
},
isHome() {
return id(this.getNode("user.homeMark").id).visibleToUser().findOne(10000) !== null;
},
previewHome() {
var head = id(this.getNode("index.headimg").id).visibleToUser().findOnce();
if (head !== null && head.click()) {
utility.toast("访问用户首页");
if (this.isHome()) {
engine.sleep(2, 5);
if (random(1, 3) == 1) {
engine.slide();
engine.sleep(2, 5);
}
} else {
console.log("打开用户首页失败");
}
this.execBackOnce();
}
},
previewHomeTc() {
let yhxb = 0;
var head = id(this.getNode("index.headimg").id).visibleToUser().findOnce();
if (head !== null && head.click()) {
utility.toast("访问用户首页");
if (this.isHome()) {
engine.sleepMs(2000, 3000);
if (descStartsWith("男").visibleToUser().findOnce() !== null) {
yhxb = 1;
}
if (descStartsWith("女").visibleToUser().findOnce() !== null) {
yhxb = 2;
}
this.execBackOnce();
return yhxb;
}
console.log("打开用户首页失败");
this.execBackOnce();
}
},
getVideoDesc() {
var vedioDesc = id(douyin.getNode("index.desc").id).visibleToUser().findOnce();
if (vedioDesc === null) {
return "";
} else {
return vedioDesc.text();
}
},
getVideoTitle() {
var vedioTitle = id(douyin.getNode("index.title").id).visibleToUser().findOnce();
if (vedioTitle === null) {
return "";
} else {
return vedioTitle.text();
}
},
getVideoMark() {
return this.getVideoDesc() + this.getVideoTitle();
}
};
module.exports = douyin;
/***/ }),
/***/ 312:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
if (__webpack_require__.g.ENV_CONF === "undefined") {
__webpack_require__.g.ENV_CONF = {};
}else{
console.log("执行参数",__webpack_require__.g.ENV_CONF)
}
module.exports = {
deviceWidth: ENV_CONF.screenWidth || device.width,
deviceHeight: ENV_CONF.screenHeight || device.height,
exit() {
engines.stopAll();
exit();
},
swipeEx(qx, qy, zx, zy, time) {
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(this.bezier_curves(point, i).x), parseInt(this.bezier_curves(point, i).y)];
xxy.push(xxyy);
}
gesture.apply(null, xxy);
},
bezier_curves(cp, t) {
cx = (cp[1].x - cp[0].x) * 3;
bx = (cp[2].x - cp[1].x) * 3 - cx;
ax = cp[3].x - cp[0].x - cx - bx;
cy = (cp[1].y - cp[0].y) * 3;
by = (cp[2].y - cp[1].y) * 3 - cy;
ay = cp[3].y - cp[0].y - cy - by;
tSquared = t * t;
tCubed = tSquared * t;
(result = {
x: 0,
y: 0
}).x = ax * tCubed + bx * tSquared + cx * t + cp[0].x;
result.y = ay * tCubed + by * tSquared + cy * t + cp[0].y;
return result;
},
shortSlide() {
this.swipeEx(this.deviceWidth * 0.5, this.deviceHeight * 0.8, this.deviceWidth * 0.5, this.deviceHeight * 0.8 - 500, 300);
},
middleSlide() {
this.swipeEx(this.deviceWidth * 0.5, this.deviceHeight * 0.8, this.deviceWidth * 0.5, this.deviceHeight * 0.5, 300);
},
deSlide() {
this.swipeEx(this.deviceWidth * 0.5, this.deviceHeight * 0.3, this.deviceWidth * 0.5, this.deviceHeight, 300);
},
bshortSlide() {
this.swipeEx(this.deviceWidth * 0.5, this.deviceHeight * 0.8, this.deviceWidth * 0.5, this.deviceHeight * 0.8 - 500, 300);
},
slide() {
this.swipeEx(this.deviceWidth * 0.8, this.deviceHeight * 0.7, this.deviceWidth * 0.8, 0, random(300, 500));
},
fanslide() {
this.swipeEx(this.deviceWidth * 0.9, this.deviceHeight * 0.5, this.deviceWidth * 0.9, this.deviceHeight * 0.01, 500);
},
regionClick(region) {
click(random(region[0], region[0] + region[2]), random(region[1], region[1] + region[3]));
},
boundsClick(bounds) {
var x = bounds.width() * 0.2;
var y = bounds.height() * 0.2;
bounds.left += x;
bounds.right -= x;
bounds.top += y;
bounds.bottom -= y;
click(random(bounds.left, bounds.right), random(bounds.top, bounds.bottom));
},
sleepMs() {
var argLen = arguments.length;
let min = 0;
let max = 0;
if (argLen == 1) {
min = arguments[0];
max = arguments[0];
} else {
if (argLen < 2) {
return;
}
min = arguments[0];
max = arguments[1];
}
if (min >= max) {
sleep(min);
} else {
sleep(random(min, max));
}
},
sleep() {
var argLen = arguments.length;
let min = 0;
let max = 0;
if (argLen == 1) {
min = arguments[0];
max = arguments[0];
} else {
if (argLen < 2) {
return;
}
min = arguments[0];
max = arguments[1];
}
if (min >= max) {
sleep(min * 1000);
} else {
sleep(random(min, max) * 1000);
}
},
getUnix() {
return parseInt(Date.now() / 1000);
}
};
/***/ }),
/***/ 590:
/***/ ((module) => {
var nodes = {
all: {
index: {
headimg: {
id: "com.ss.android.ugc.aweme:id/user_avatar"
},
desc: {
id: "com.ss.android.ugc.aweme:id/desc"
},
title: {
id: "com.ss.android.ugc.aweme:id/title"
},
searchInput: {
id: "com.ss.android.ugc.aweme:id/et_search_kw"
}
}
},
"26.0.0": {
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/dc7"
},
zan: {
id: "com.ss.android.ugc.aweme:id/er2"
}
},
video: {
like: {
id: "com.ss.android.ugc.aweme:id/er-"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/t5o"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/w8o"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/w8s"
},
username: {
id: "com.ss.android.ugc.aweme:id/nsc"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/w9h"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/po9"
}
},
live: {
msglistbox: {
id: "com.ss.android.ugc.aweme:id/mwq"
},
userlistbox: {
id: "com.ss.android.ugc.aweme:id/xzb"
}
}
},
"27.0.0": {
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/dh7"
},
zan: {
id: "com.ss.android.ugc.aweme:id/eyg"
}
},
video: {
like: {
id: "com.ss.android.ugc.aweme:id/eyp"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/vkl"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/yr5"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/yr9"
},
username: {
id: "com.ss.android.ugc.aweme:id/ohq"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/ys7"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/qpd"
}
},
live: {
msglistbox: {
id: "com.ss.android.ugc.aweme:id/njx"
},
userlistbox: {
id: "com.ss.android.ugc.aweme:id/zkc"
}
}
},
"27.3.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/e3z"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/dms"
},
zan: {
id: "com.ss.android.ugc.aweme:id/e3p"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/v0f"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/y=3"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/y=7"
},
username: {
id: "com.ss.android.ugc.aweme:id/oth"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/y_7"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q1y"
}
},
live: {
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nu1"
},
userlistbox: {
id: "com.ss.android.ugc.aweme:id/z35"
}
}
},
"27.4.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/e3="
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/dm2"
},
zan: {
id: "com.ss.android.ugc.aweme:id/e30"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/v0u"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/y_h"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/y_l"
},
username: {
id: "com.ss.android.ugc.aweme:id/os-"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/y-k"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q19"
}
},
live: {
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nuw"
},
userlistbox: {
id: "com.ss.android.ugc.aweme:id/z4t"
}
}
},
"27.5.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/e3+"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/dnm"
},
zan: {
id: "com.ss.android.ugc.aweme:id/e33"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/v1f"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/y-e"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/y-i"
},
username: {
id: "com.ss.android.ugc.aweme:id/osz"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/y+h"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q2n"
}
},
live: {
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nuh"
},
userlistbox: {
id: "com.ss.android.ugc.aweme:id/z5o"
}
}
},
"27.6.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/e5o"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/dow"
},
zan: {
id: "com.ss.android.ugc.aweme:id/e5e"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/v2+"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/y+-"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/zac"
},
username: {
id: "com.ss.android.ugc.aweme:id/ouo"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/za+"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q4b"
}
},
live: {
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nv8"
},
userlistbox: {
id: "com.ss.android.ugc.aweme:id/z7s"
}
}
},
"27.7.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/exn"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/df+"
},
zan: {
id: "com.ss.android.ugc.aweme:id/exd"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/v83"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/zic"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/zig"
},
username: {
id: "com.ss.android.ugc.aweme:id/ov4"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/zjf"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q6o"
}
},
live: {
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nsz"
},
userlistbox: {
id: "com.ss.android.ugc.aweme:id/0cc"
}
}
},
"27.8.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/eyq"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/dg_"
},
zan: {
id: "com.ss.android.ugc.aweme:id/eyg"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/v_e"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/zku"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/zky"
},
username: {
id: "com.ss.android.ugc.aweme:id/oyz"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/zlu"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q72"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/0ew"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nwv"
}
}
},
"27.9.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/ezh"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/dhs"
},
zan: {
id: "com.ss.android.ugc.aweme:id/ey="
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/waf"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/zn6"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/zn="
},
username: {
id: "com.ss.android.ugc.aweme:id/o0p"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/zo7"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q97"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/0h="
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nz9"
}
}
},
"28.0.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/ezh"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/dho"
},
zan: {
id: "com.ss.android.ugc.aweme:id/ey="
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/wcy"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/zqq"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/zqu"
},
username: {
id: "com.ss.android.ugc.aweme:id/o13"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/zrr"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q_r"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/0kz"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/n19"
}
}
},
"28.1.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/ezy"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/dh0"
},
zan: {
id: "com.ss.android.ugc.aweme:id/ezo"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/wd8"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/zrs"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/zrw"
},
username: {
id: "com.ss.android.ugc.aweme:id/o2_"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/zsu"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q-1"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/0lw"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/n3u"
}
}
},
"28.2.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/efs"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/c1a"
},
zan: {
id: "com.ss.android.ugc.aweme:id/efi"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/vsx"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/y6j"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/y6n"
},
username: {
id: "com.ss.android.ugc.aweme:id/oe9"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/y7f"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/qod"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/zzu"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nbk"
}
}
},
"28.3.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/egc"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/c1r"
},
zan: {
id: "com.ss.android.ugc.aweme:id/ef6"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/vvo"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/y9g"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/y9k"
},
username: {
id: "com.ss.android.ugc.aweme:id/og0"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/y=c"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/qp-"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/z2s"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nc4"
}
}
},
"28.4.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/ehq"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/c2="
},
zan: {
id: "com.ss.android.ugc.aweme:id/ehf"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/v09"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/zbf"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/zbj"
},
username: {
id: "com.ss.android.ugc.aweme:id/old"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/zcb"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/qu-"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/z9i"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/ng7"
}
}
},
"28.5.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/eio"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/c31"
},
zan: {
id: "com.ss.android.ugc.aweme:id/eid"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/v3+"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/zex"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/ze1"
},
username: {
id: "com.ss.android.ugc.aweme:id/on1"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/zft"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/qx3"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/z-5"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nje"
}
}
},
"28.6.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/ei-"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/c4g"
},
zan: {
id: "com.ss.android.ugc.aweme:id/ei1"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/v7c"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/zh="
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/zia"
},
username: {
id: "com.ss.android.ugc.aweme:id/op1"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/zi7"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/qz9"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/0ck"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nk-"
}
}
},
"28.7.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/ejz"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/c41"
},
zan: {
id: "com.ss.android.ugc.aweme:id/ejo"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/v97"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/zk="
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/zla"
},
username: {
id: "com.ss.android.ugc.aweme:id/ory"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/zl6"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q2d"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/0fr"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nm6"
}
}
},
"28.8.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/ekj"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/c5g"
},
zan: {
id: "com.ss.android.ugc.aweme:id/ej-"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/v+_"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/zph"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/zpl"
},
username: {
id: "com.ss.android.ugc.aweme:id/ot-"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/zqd"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q47"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/0jz"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nor"
}
}
},
"28.9.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/el2"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/c6w"
},
zan: {
id: "com.ss.android.ugc.aweme:id/elr"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/wej"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/zt8"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/zt-"
},
username: {
id: "com.ss.android.ugc.aweme:id/owx"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/zu4"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q7="
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/0ol"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nrb"
}
}
},
"29.0.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/el5"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/c6v"
},
zan: {
id: "com.ss.android.ugc.aweme:id/elu"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/wgx"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/zxf"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/zxj"
},
username: {
id: "com.ss.android.ugc.aweme:id/ox2"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/zyb"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q9u"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/0r0"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nrq"
}
}
},
"29.1.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/emy"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/c7i"
},
zan: {
id: "com.ss.android.ugc.aweme:id/eml"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/poo"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/z1u"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/z1y"
},
username: {
id: "com.ss.android.ugc.aweme:id/o07"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/z2q"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q-z"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/0wc"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nv_"
}
}
},
"29.2.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/emx"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/c19"
},
zan: {
id: "com.ss.android.ugc.aweme:id/emk"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/wkf"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/z1b"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/z1f"
},
username: {
id: "com.ss.android.ugc.aweme:id/o0y"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/z1_"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/q-2"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/0vz"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/nv1"
}
}
},
"29.3.0": {
video: {
like: {
id: "com.ss.android.ugc.aweme:id/en6"
}
},
comment: {
button: {
id: "com.ss.android.ugc.aweme:id/c3g"
},
zan: {
id: "com.ss.android.ugc.aweme:id/eni"
}
},
user: {
homeMark: {
id: "com.ss.android.ugc.aweme:id/wn4"
},
gznum: {
id: "com.ss.android.ugc.aweme:id/z5j"
},
fansnum: {
id: "com.ss.android.ugc.aweme:id/z5n"
},
username: {
id: "com.ss.android.ugc.aweme:id/o3b"
},
lanv: {
id: "com.ss.android.ugc.aweme:id/z6f"
},
followBtn: {
id: "com.ss.android.ugc.aweme:id/rbk"
}
},
live: {
userlistbox: {
id: "com.ss.android.ugc.aweme:id/0z9"
},
msglistbox: {
id: "com.ss.android.ugc.aweme:id/fu3"
}
}
}
};
module.exports = nodes;
/***/ }),
/***/ 580:
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
const {packageName} = __webpack_require__(772);
if (__webpack_require__.g.floatyToastWindow === undefined) {
__webpack_require__.g.floatyToastWindow = floaty.rawWindow(`
`);
floatyToastWindow.setTouchable(false);
floatyToastWindow.setSize(-1, -2);
floatyToastWindow.setPosition(0, (ENV_CONF.screenHeight || device.height) * 0.75);
}
module.exports = {
currentRunPackage(packageName) {
return currentPackage() == packageName || (app.launch(conf.packageName), false);
},
packageInfo(packageName) {
try {
return context.getPackageManager().getPackageInfo(packageName, 0);
} catch (e) {
return null;
}
},
checkVersion(packageName, versions) {
var info = this.packageInfo(packageName);
if (this.isEmpty(info)) {
alert("请安装抖音!");
return false;
} else {
packageName = app.getAppName(packageName);
return !!versions.includes(info.versionName) || (alert("不支持 " + packageName + "(" + info.versionName + "),请安装支持版本!"), false);
}
},
isEmpty(value) {
switch (typeof value) {
case "undefined":
return true;
case "string":
if (value.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$)/g, "").length == 0) {
return true;
}
break;
case "boolean":
if (value) {
break;
}
return true;
case "number":
if (value === 0 || isNaN(value)) {
return true;
}
break;
case "object":
if (value !== null && value.length !== 0) {
for (var i in value) {
return false;
}
}
return true;
}
return false;
},
checkProbability(value, hdfs) {
var temp = random(1, 99);
console.log(hdfs + "计算概率:" + temp + (temp < value ? "未超出" : "超出") + value);
return temp < value;
},
strFindKeys(s, keys) {
for (w of keys) {
if (s.indexOf(w) != -1) {
return w;
}
}
return "";
},
error(packageName, e) {
if (e.fileName) {
packageName = this.packageInfo(packageName);
let versionName = "未知版本";
packageName = "版本号:" + (versionName = packageName && packageName.versionName ? packageName.versionName : versionName) + "\r\n";
packageName = (packageName = (packageName += "错误:" + e.toString() + "\r\n") + ("模块:" + e.fileName.replace(".js", "") + "\r\n")) + ("错误码:" + e.lineNumber + "\r\n") + "====================================\r\n";
files.write("/sdcard/error_bzy.log", packageName);
} else {
console.log("运行错误:", e.toString());
}
},
inputShow() {
for (var i = 0; auto.windows[i] != null; i++) {
if (auto.windows[i].type == 2) {
return true;
}
}
return false;
},
inputHide() {
while (this.inputShow()) {
back();
sleep(1000);
}
},
toast(msg) {
ui.run(function () {
console.log(msg);
floatyToastWindow.text.setText(msg);
floatyToastWindow.text.attr("visibility", "visible");
});
},
toastHide() {
try {
floatyToastWindow.text.attr("visibility", "invisible");
} catch (e) {
}
},
objectToStr(obj) {
try {
var str = obj.toString();
var index = str.indexOf(";");
if (index === -1) {
return "";
} else {
return str.slice(0, index);
}
} catch (error) {
return "";
}
},
compareVersion(version1, version2) {
var arr1 = version1.split(".");
var arr2 = version2.split(".");
var length1 = arr1.length;
var length2 = arr2.length;
var minlength = Math.min(length1, length2);
let i = 0;
for (i; i < minlength; i++) {
var a = parseInt(arr1[i]);
var b = parseInt(arr2[i]);
if (b < a) {
return 1;
}
if (a < b) {
return -1;
}
}
if (length2 < length1) {
for (let j = i; j < length1; j++) {
if (parseInt(arr1[j]) != 0) {
return 1;
}
}
} else if (length1 < length2) {
for (let j = i; j < length2; j++) {
if (parseInt(arr2[j]) != 0) {
return -1;
}
}
}
return 0;
}
};
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/global */
/******/ (() => {
/******/ __webpack_require__.g = (function() {
/******/ if (typeof globalThis === 'object') return globalThis;
/******/ try {
/******/ return this || new Function('return this')();
/******/ } catch (e) {
/******/ if (typeof window === 'object') return window;
/******/ }
/******/ })();
/******/ })();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
(() => {
const douyin = __webpack_require__(922);
const conf = __webpack_require__(772);
const engine = __webpack_require__(312);
const utility = __webpack_require__(580);
var param = {
yxgs: 50,
czjg1: 3,
czjg2: 5,
gksj1: 3,
gksj2: 6,
tggz: true,
tgsy: true,
dz: 0,
gz: 0,
pl: 100,
zyyl: 100,
plhs: conf.commonts
};
var znyh = {
init() {
return !!douyin.init() && !(typeof ENV_CONF != "undefined" && Object.assign(param, ENV_CONF), param.pl > 0 && param.plhs.length < 1 ? (alert("请设置评论话术"), 1) : douyin.isRecommend() ? (utility.toast("开始任务:智能养号"), engine.sleep(1), device.keepScreenDim(), douyin.popupAndClose(), 0) : (alert("请在 首页-推荐 视频播放页运行"), 1));
},
run() {
if (znyh.init()) {
let runCount = 0;
while (true) {
if (runCount >= param.yxgs) {
device.cancelKeepingAwake();
alert("任务完成!");
return;
}
utility.toast("已观看 " + runCount + " 个有效视频,任务数" + param.yxgs);
var startTime = engine.getUnix();
if (douyin.skipVideo()) {
douyin.execClose();
} else if (!douyin.sikpAp() && !douyin.sikpLike() && (!param.tggz || !douyin.sikpFollow()) && (!param.tgsy || !douyin.sikpCommerce())) {
watchTime = random(param.gksj1, param.gksj2);
douyin.watchVideo(startTime, watchTime);
if (utility.checkProbability(param.dz, "点赞")) {
douyin.execLike();
engine.sleep(param.czjg1, param.czjg2);
} else {
utility.toast("不点赞");
}
if (utility.checkProbability(param.gz, "关注")) {
douyin.execFollow();
engine.sleep(param.czjg1, param.czjg2);
} else {
utility.toast("不关注");
}
if (utility.checkProbability(param.pl, "评论") && douyin.canComment()) {
douyin.sendComment(param.plhs);
engine.sleep(param.czjg1, param.czjg2);
} else {
utility.toast("不评论");
}
if (utility.checkProbability(param.zyyl, "访问主页")) {
douyin.previewHome();
engine.sleep(param.czjg1, param.czjg2);
} else {
utility.toast("不访问用户首页");
}
if (!douyin.IsVideo()) {
douyin.execClose();
}
runCount++;
engine.slide();
engine.sleep(1);
}
}
}
}
};
try {
znyh.run();
} catch (error) {
utility.error(conf.packageName, error);
} finally {
engine.exit();
}
})();
/******/ })()
;