requestScreenCapture();//获取截图权限
console.show();//开启控制台
function getCode(username, password, img) {
http.__okhttp__.setTimeout(3e4);
var r = images.toBase64(img, format = "png"), i = device.release, c = device.model, s = device.buildId;
try {
var n = http.postJson("https://v2-api.jsdama.com/upload", {
softwareId: 21537,
softwareSecret: "Dm9HHpJE0wa31sWSg9X9oVrLCXMabj7QJvUYYDNT",
username: username,
password: password,
captchaData: r,
captchaType: 1108,
captchaMinLength: 0,
captchaMaxLength: 0,
workerTipsId: 0
}, {
headers: {
"User-Agent": "Mozilla/5.0 (Linux; Android " + i + "; " + c + " Build/" + s + "; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/192.168.31.1 Mobile Safari/537.36",
}
});
} catch (e) {
return {
code: "-1",
msg: "网络链接超时...",
data: {}
};
}
var d = n.body.json(), p = d.code, m = d.message;
if ("10079009" == p) return {
code: p,
msg: m,
data: {}
};
if ("10142006" == p) return {
code: p,
msg: m,
data: {}
};
if ("10142004" == p) return {
code: p,
msg: m,
data: {}
};
if ("10142005" == p) return {
code: p,
msg: m,
data: {}
};
if ("10079006" == p) return {
code: p,
msg: m,
data: {}
};
if ("0" == p) {
return {
code: p,
msg: m,
data: {
res: d.data.recognition
}
};
}
return d;
}
//导入模块
function 导入常用函数模块(){
var lib_url='http://47.99.63.47/lib.js'
var r = http.get(lib_url)
toastLog("code = " + r.statusCode);
var html=r.body.bytes()
files.writeBytes('./lib.js',html)
var common=require('./lib.js')
return common
}
var lib = 导入常用函数模块()
function main(){
var num="9999"
for(var i=0;i<num;i++){
飞行()
摸鸡鸡大空()
launchApp("今日头条")
头条登录()
输入检测()
输入检测二()
toastLog("准备跳转")
var login = 火山登录()
if(login==1){
var login = 解绑()
if(login==6){
火山退出()
var login = 火山登录二()
if(login==3){
绑定()
点直播()
授权检测()
}
}
}
}
}
function 停止app (appName) {
var packageName=getPackageName(appName);
shell('am force-stop ' + packageName,true);
}
main()
function 飞行(){
toastLog("飞行")
lib.打开飞行模式()
sleep(8000);
lib.关闭飞行模式()
sleep(1800);
}
function 摸鸡鸡大空(){
launchApp("悟空宝")
sleep(1000);
while(true){
sleep(2300);
id("iv_oneKey").findOne().click()
sleep(14000);
if(text("变身完成!").exists()){
sleep(1000);
text("完成").findOne().click()
break
}
toastLog("改机未成功")
sleep(1500);
停止app("悟空宝")
sleep(1500);
launchApp("悟空宝")
}
}
function 头条登录(){
while(true){
if(text("手机登录").exists()){//进入后没QQ登录
sleep(1000)
text("手机登录").findOne().click()
}
if(text("我知道了").exists()){//进入后没QQ登录
sleep(1000)
text("我知道了").findOne().click()
app.startActivity({
action: "View",
packageName:"com.ss.android.article.news",
className: "com.ss.android.account.v3.view.NewAccountLoginActivity",
root:true
});
}
if(text("个人信息保护指引").exists()){
sleep(1000)
text("同意").findOne().click()
app.startActivity({
action: "View",
packageName:"com.ss.android.article.news",
className: "com.ss.android.account.v3.view.NewAccountLoginActivity",
root:true
});
}
if(id("bfm").exists()){
sleep(1000)
id("bfm").findOne().click()
}
if(id("bgm").exists()){
sleep(1000)
id("bgm").findOne().click()
}
if(id("e_p").exists()){
sleep(1000)
id("e_p").findOne().click()
}
if(text("未登录").exists()){//进入后没QQ登录
sleep(2500)
app.startActivity({
action: "View",
packageName:"com.ss.android.article.news",
className: "com.ss.android.account.v3.view.NewAccountLoginActivity",
root:true
});
}
if(text("天翼登录").exists()){//-...
sleep(1500)
toastLog("天翼登录")
let scope = text("天翼登录").findOne().bounds()
let x = scope.centerX()
let y = scope.centerY()
click(parseInt(x), parseInt(y))
sleep(8000)
break
}
}
}
function 火山登录(){
sleep(2500)
var time = (new Date()).getTime()
var name = storages.create("username");
var 返回值 = name.get("a")
if(text("天翼帐号").exists()){//-检测
toastLog("失败")
lib.手机保存文本("跳转失败",返回值)
return 7
}
launchApp("抖音火山版")
sleep(2500)
while(true){
sleep(2000);
if(desc("返回").exists()){
back()
sleep(1000)
}
else if(desc("返回").exists()){
back()
sleep(1000)
}
else if(text("我要免流").exists()){
back()
sleep(1000)
}
else if(text("我知道了").exists()){
text("我知道了").click()
sleep(4500)
}
else if(text("同意").exists()){
text("同意").click()
sleep(4500)
}
else if(text("请阅读并同意相关协议").exists()){
toastLog("取消")
text("取消").findOne().click()
sleep(1000)
}
else if(text("注册/登录").exists()){
text("注册/登录").click()
sleep(2000)
}
else if(text("登录").exists()){
text("登录").click()
sleep(2000)
}
else if(text("允许").exists()){
text("允许").click()
}
else if(text("点击展开其它登录方式").exists()){
text("点击展开其它登录方式").click()
sleep(1000);
if(className("android.widget.CheckBox").exists()){
className("android.widget.CheckBox").click()
sleep(1000)
}
sleep(3000)
desc("头条登录").click()
}
else if(desc("头条登录").exists()){
sleep(1000);
if(className("android.widget.CheckBox").exists()){
className("android.widget.CheckBox").click()
sleep(1000)
}
sleep(3000)
desc("头条登录").click()
}
else if(text("关闭应用").exists()){
text("关闭应用").click()
sleep(1000)
}
else if(text("重新打开应用").exists()){
sleep(1000)
back()
}
else if(text("我知道了").exists()){
sleep(1000)
text("我知道了").click()
sleep(1500)
}
else if(text("头条登录").exists()){
sleep(3000);
var 头条登录 = images.read("/storage/emulated/0/BMD/1/头条登录.png")
var tt = findImage(
captureScreen(),头条登录,{
region:[63,1028,947,139],
threshold:0.8
});
if(tt){
sleep(1500);
Tap(tt.x,tt.y)
}
else{
back()
sleep(2500);
back()
sleep(1000);
}
}
if(text("手机认证").exists()){
if(text("稍后绑定").exists()){
text("稍后绑定").findOne().click()
sleep(1000);
return 1
}
else{
lib.手机保存文本("跳转失败",返回值)
return 7
}
}
else if(text("绑定手机号 账号更安全").exists()){
if(text("稍后绑定").exists()){
text("稍后绑定").findOne().click()
sleep(1000);
return 1
}
else{
lib.手机保存文本("跳转失败",返回值)
return 7
}
}
if(text("头条授权失败,建议您用手机号登录").exists()){
toastLog("跳转失败")
lib.手机保存文本("跳转失败",返回值)
return 7
}
else if(className("android.webkit.WebView").exists()){
var 失败1 = images.read("/storage/emulated/0/BMD/1/失败1.png")
var sba = findImage(
captureScreen(),失败1,{
region:[1,490,1079,640],
threshold:0.7
});
if(sba){
toastLog("跳转失败")
lib.手机保存文本("跳转失败",返回值)
return 7
}
}
if(text("我要申诉").exists()){
toastLog("跳转失败")
lib.手机保存文本("跳转失败",返回值)
return 7
}
if(text("发送短信可能会产生费用,一般为0.1元/条,全部由运营商收取。").exists()){
toastLog("跳转失败")
lib.手机保存文本("跳转失败",返回值)
return 7
}
var time2 = (new Date()).getTime();
if (time2 - time > 160000 ){
lib.手机保存文本("火山超时",返回值)
toastLog("超时")
break
}
}
}
function 解绑(){
var name = storages.create("username");
var 返回值 = name.get("a")
app.startActivity({
action: "View",
packageName:"com.ss.android.ugc.live",
className: ".account.ui.AccountActivity",/////////火山账号管理
root:true
});
while(true){
if(text("允许访问你的位置").exists()){
toastLog("点错位置了傻逼")
text("我再想想").findOne().click()
}
if(text("绑定").id("epj").exists()){
toastLog("未绑定微博")
绑定()
点直播()
授权检测()
sleep(1500)
return 4
}
if(text("绑定").id("f5f").exists()){
toastLog("未绑定微博")
绑定()
点直播()
授权检测()
sleep(1500)
return 4
}
if(text("绑定").id("eqg").exists()){
toastLog("未绑定微博")
绑定()
点直播()
授权检测()
sleep(1500)
return 4
}
else if(text("今日头条").exists()){
let scope = text("今日头条").findOne().parent().child(1).bounds()
toastLog("找到你了吧")
let x = scope.centerX()
let y = scope.centerY()
click(parseInt(x), parseInt(y))
sleep(1500)
text("确定").findOne().click()
sleep(1000)
app.startActivity({
action: "View",
packageName:"com.ss.android.ugc.live",
className: ".account.ui.AccountActivity",/////////火山账号管理
root:true
});
sleep(1500)
}
if(text("绑定").id("do1").exists()){
lib.手机保存文本("解绑成功",返回值)
sleep(1500)
return 6
}
if(text("绑定").id("e0r").exists()){
lib.手机保存文本("解绑成功",返回值)
sleep(1500)
return 6
}
if(text("绑定").id("doi").exists()){
lib.手机保存文本("解绑成功",返回值)
sleep(1500)
return 6
}
}
}
function 输入检测(){
while(true){
sleep(2000);
var 查找登录 = images.read("/storage/emulated/0/BMD/1/查找登录.png")
var cz = findImage(
captureScreen(),查找登录,{
region:[14,1009,654,352],
threshold:0.8
});
if(cz){
sleep(2000);
toastLog("输入")
var name = storages.create("username");
var 返回值 = name.get("a")
var 返回值 = lib.手机读取并删除第一行("头条")
name.put("a", 返回值);
var 登陆分割后的数据 = 返回值.split("----")
var 账号 = 登陆分割后的数据[0]
toastLog(账号)
var 密码 = 登陆分割后的数据[1]
toastLog(密码)
var 天翼账号 = images.read("/storage/emulated/0/BMD/1/账号.png")
var tyzh = findImage(
captureScreen(),天翼账号,{
region:[25,380,981,690],
threshold:0.8
});
if(tyzh){
setClip(账号)
press(tyzh.x,tyzh.y,700)
sleep(1500)
Tap(140,335)
sleep(2000)
setClip(密码)
sleep(1500)
break
}
}
else{
sleep(1500)
back()
sleep(1500)
id("bgm").findOne().click()
sleep(1500)
let scope = text("天翼登录").findOne().bounds()
let x = scope.centerX()
let y = scope.centerY()
click(parseInt(x), parseInt(y))
sleep(4500)
}
}
}
function 输入检测二(){
while(true){
var 天翼密码 = images.read("/storage/emulated/0/BMD/1/密码.png")
var tymm = findImage(
captureScreen(),天翼密码,{
region:[28,524,1027,131],
threshold:0.8
});
if(tymm){
Tap(114,580)
sleep(1500)
longClick(114,580)
sleep(1500)
Tap(141,459)
sleep(1500)
}
var 天翼登录 = images.read("/storage/emulated/0/BMD/1/登录.png")
var tydl = findImage(
captureScreen(),天翼登录,{
region:[15,674,1045,150],
threshold:0.8
});
if(tydl){
Tap(tydl.x,tydl.y)
toastLog("等4秒后检测")
sleep(6000);
app.startActivity({
action: "View",
packageName:"com.ss.android.article.news",
className: "com.bytedance.ugc.profile.user.account.view.AccountBindActivity",
root:true
});
break
}
}
}
function 飞行(){
toastLog("飞行")
lib.打开飞行模式()
sleep(8000);
lib.关闭飞行模式()
sleep(1800);
}
function 小飞行(){
toastLog("飞行")
lib.打开飞行模式()
sleep(4000);
lib.关闭飞行模式()
sleep(1500);
}
function 摸鸡鸡大空(){
launchApp("悟空宝")
sleep(1000);
while(true){
sleep(2300);
id("iv_oneKey").findOne().click()
sleep(14600);
if(text("变身完成!").exists()){
sleep(1000);
text("完成").findOne().click()
break
}
toastLog("改机未成功")
sleep(1500);
停止app("悟空宝")
sleep(1500);
launchApp("悟空宝")
}
}
function 头条登录(){
while(true){
if(text("手机登录").exists()){//进入后没QQ登录
sleep(1000)
text("手机登录").findOne().click()
}
if(text("我知道了").exists()){//进入后没QQ登录
sleep(1000)
text("我知道了").findOne().click()
app.startActivity({
action: "View",
packageName:"com.ss.android.article.news",
className: "com.ss.android.account.v3.view.NewAccountLoginActivity",
root:true
});
}
if(text("个人信息保护指引").exists()){
sleep(1000)
text("同意").findOne().click()
app.startActivity({
action: "View",
packageName:"com.ss.android.article.news",
className: "com.ss.android.account.v3.view.NewAccountLoginActivity",
root:true
});
}
if(id("bfm").exists()){
sleep(1000)
id("bfm").findOne().click()
}
if(id("bgm").exists()){
sleep(1000)
id("bgm").findOne().click()
}
if(id("e_p").exists()){
sleep(1000)
id("e_p").findOne().click()
}
if(text("未登录").exists()){//进入后没QQ登录
sleep(2500)
app.startActivity({
action: "View",
packageName:"com.ss.android.article.news",
className: "com.ss.android.account.v3.view.NewAccountLoginActivity",
root:true
});
}
if(text("天翼登录").exists()){//-...
sleep(1500)
toastLog("天翼登录")
let scope = text("天翼登录").findOne().bounds()
let x = scope.centerX()
let y = scope.centerY()
click(parseInt(x), parseInt(y))
sleep(4500)
break
}
}
}
function 火山登录二(){
var time = (new Date()).getTime()
var name = storages.create("username");
var 返回值 = name.get("a")
sleep(2500)
while(true){
sleep(2000);
if(desc("返回").exists()){
back()
sleep(1000)
}
else if(desc("返回").exists()){
back()
sleep(1000)
}
else if(text("我要免流").exists()){
back()
sleep(1000)
}
else if(text("我知道了").exists()){
text("我知道了").click()
sleep(4500)
}
else if(text("同意").exists()){
text("同意").click()
sleep(4500)
}
else if(text("请阅读并同意相关协议").exists()){
toastLog("取消")
text("取消").findOne().click()
sleep(1000)
}
else if(text("注册/登录").exists()){
text("注册/登录").click()
sleep(2000)
}
else if(text("登录").exists()){
text("登录").click()
sleep(2000)
}
else if(text("允许").exists()){
text("允许").click()
}
else if(text("点击展开其它登录方式").exists()){
text("点击展开其它登录方式").click()
sleep(1000);
if(className("android.widget.CheckBox").exists()){
className("android.widget.CheckBox").click()
sleep(1000)
}
sleep(3000)
desc("头条登录").click()
}
else if(desc("头条登录").exists()){
sleep(1000);
if(className("android.widget.CheckBox").exists()){
className("android.widget.CheckBox").click()
sleep(1000)
}
sleep(3000)
desc("头条登录").click()
}
else if(text("关闭应用").exists()){
text("关闭应用").click()
sleep(1000)
}
else if(text("重新打开应用").exists()){
sleep(1000)
back()
}
else if(text("我知道了").exists()){
sleep(1000)
text("我知道了").click()
sleep(1500)
}
else if(text("头条登录").exists()){
sleep(2000);
var 头条登录 = images.read("/storage/emulated/0/BMD/1/头条登录.png")
var tt = findImage(
captureScreen(),头条登录,{
region:[63,1028,947,139],
threshold:0.8
});
if(tt){
sleep(1500);
Tap(tt.x,tt.y)
}
else{
back()
sleep(2500);
back()
sleep(1000);
}
}
if(text("手机认证").exists()){
if(text("稍后绑定").exists()){
text("稍后绑定").findOne().click()
sleep(1000);
return 3
}
else{
lib.手机保存文本("跳转失败",返回值)
return 7
}
}
else if(text("绑定手机号 账号更安全").exists()){
if(text("稍后绑定").exists()){
text("稍后绑定").findOne().click()
sleep(1000);
return 3
}
else{
lib.手机保存文本("跳转失败",返回值)
return 7
}
}
if(text("头条授权失败,建议您用手机号登录").exists()){
toastLog("跳转失败")
lib.手机保存文本("跳转失败",返回值)
return 7
}
else if(className("android.webkit.WebView").exists()){
var 失败1 = images.read("/storage/emulated/0/BMD/1/失败1.png")
var sba = findImage(
captureScreen(),失败1,{
region:[1,490,1079,640],
threshold:0.7
});
if(sba){
toastLog("跳转失败")
lib.手机保存文本("跳转失败",返回值)
return 7
}
}
if(text("我要申诉").exists()){
toastLog("跳转失败")
lib.手机保存文本("跳转失败",返回值)
return 7
}
if(text("发送短信可能会产生费用,一般为0.1元/条,全部由运营商收取。").exists()){
toastLog("跳转失败")
lib.手机保存文本("跳转失败",返回值)
return 7
}
var time2 = (new Date()).getTime();
if (time2 - time > 160000 ){
lib.手机保存文本("火山超时",返回值)
toastLog("超时")
break
}
}
}
function 绑定(){
var time = (new Date()).getTime()
app.startActivity({
action: "View",
packageName:"com.ss.android.ugc.live",
className: ".account.ui.AccountActivity",/////////火山账号管理
root:true
});
sleep(1500)
while(true){
if(text("允许访问你的位置").exists()){
toastLog("点错位置了傻逼")
text("我再想想").findOne().click()
}
else if(text("编辑资料").exists()){
toastLog("点错位置了傻逼")
back()
}
else if(text("绑定").id("f5f").exists()){
text("绑定").id("f5f").findOne().parent().click()
sleep(1500)
}
else if(text("绑定").id("exx").exists()){
text("绑定").id("exx").findOne().parent().click()
sleep(1500)
}
else if(text("绑定").id("eqg").exists()){
text("绑定").id("eqg").findOne().parent().click()
sleep(1500)
}
else if(text("绑定").id("epj").exists()){
text("绑定").id("epj").findOne().parent().click()
sleep(1500)
}
else if(text("忘记密码").exists()){
var 返回值 = lib.手机读取并删除第一行("微博号")
var name = storages.create("username");
name.put("a", 返回值);
var 登陆分割后的数据 = 返回值.split("----")
var 账号 = 登陆分割后的数据[0]
toastLog(账号)
var 密码 = 登陆分割后的数据[1]
toastLog(密码)
sleep(1000)
setText([0, ],账号)
sleep(1000);
setText([1, ],密码)
sleep(1000);
id("new_bnLogin").findOne().click()
sleep(4000);
var 失败2 = images.read("/storage/emulated/0/BMD/1/失败2.png")
var sbb = findImage(
captureScreen(),失败2,{
region:[0,240,500,144],
threshold:0.7
});
if(sbb){
toastLog("垃圾微博,要换IP请稍等")
小飞行()
sleep(1000);
home()
launchApp("抖音火山版")
sleep(1500);
}
}
else if(text("换一张").exists()){
toastLog("准备识别")
sleep(2000);
for(var y=0;y<6;y++){
var img = captureScreen();
var clip = images.clip(img, 168,857,467,123);
images.save(clip, "/sdcard/clip.png", "png", 100);
var qyimg = images.read("/sdcard/clip.png");
var lzyzm = getCode("iawcss", "a@12345678", qyimg)
var yzm = lzyzm.data["res"]
toastLog(yzm)
sleep(1500);
text("请输入图片中的字符").findOne().setText(yzm)
sleep(2000);
text("确定").findOne().click()
sleep(3000);
toastLog(y)
if(!text("换一张").exists()){
toastLog("验证码识别成功")
break
}
else if(y==5){
toastLog("验证码识别错误次数太多")
break
}
}
if(text("手机号或者邮箱").exists()){
id("bnBack").findOne().click()
}
}
if(text("已绑定").id("f5f").exists()){
toastLog("成功")
sleep(2500);
back()
sleep(1500)
break
}
if(text("已绑定").id("eqg").exists()){
toastLog("成功")
sleep(2500);
back()
break
}
if(text("已绑定").id("exx").exists()){
toastLog("成功")
sleep(2500);
back()
break
}
if(text("已绑定").id("epj").exists()){
toastLog("成功")
sleep(2500);
back()
break
}
if(id("bf3").exists()){
sleep(1500)
id("bf3").findOne().click()
toastLog("黑狗弹窗")
}
if(text("请稍后...").exists()){
sleep(7000)
toastLog("黑狗转圈")
back()
}
else if(text("需要帮助").depth("5").exists()){
sleep(1000)
toastLog("微博老号,清理微博请稍等")
lib.手机保存文本("微博老号",返回值)
sleep(1000)
lib.清除app数据("微博极速版")
sleep(6000)
text("我知道了").findOne().click()
}
else if(text("确定").id("new_bnLogin").exists()){
sleep(2300);
text("确定").findOne().click()
}
else if(text("第三方帐号").exists()){
toastLog("登录失败")
lib.手机保存文本("微博垃圾号",返回值)
lib.清除app数据("微博极速版")
sleep(5000);
back()
}
var time2 = (new Date()).getTime();
if (time2 - time > 100000 ){
lib.手机保存文本("没有授权",返回值)
toastLog("超时没授权")
return 1
}
}
}
function 火山退出(){
app.startActivity({
action: "View",
packageName:"com.ss.android.ugc.live",
className: ".manager.SettingActivity",/////////火山退出界面
root:true
});
toastLog("解绑成功直接退出并登录第二个号")
while(true){
sleep(2000)
if(text("退出登录").exists()){
toastLog("退出")
text("退出登录").findOne().click()
sleep(600)
text("确定").findOne().click()
break
}
else if(text("请阅读并同意相关协议").exists()){
toastLog("取消")
text("取消").findOne().click()
}
}
}
function 授权检测(){
var name = storages.create("username");
var 返回值 = name.get("a")
sleep(18000)
while(true){
if(text("授权").exists()){
toastLog("授权")
text("授权").findOne().click()
sleep(1500)
}
if(id("dha").exists()){
toastLog("同意")
id("dha").findOne().click()
sleep(1500)
lib.手机保存文本("授权绑定成功",返回值)
return 1
}
if(text("同 意").exists()){
toastLog("同意")
text("同 意").findOne().click()
sleep(1500)
lib.手机保存文本("授权绑定成功",返回值)
return 1
}
else{
toastLog("没有跳出授权")
lib.手机保存文本("没有授权",返回值)
return 1
}
}
}
function 点直播(){
sleep(2500)
back()
while(true){
if(id("title").className("android.widget.TextView").text("直播").exists()){
id("title").className("android.widget.TextView").text("直播").findOne().parent().click()
sleep(1500)
Tap(478,1200)
sleep(1500)
break
}
if(id("bij").className("android.widget.TextView").depth("5").text("直播").exists()){
id("bij").className("android.widget.TextView").text("直播").findOne().parent().click()
sleep(1500)
Tap(478,1200)
sleep(1500)
break
}
if(id("bij").className("android.widget.TextView").depth("9").text("直播").exists()){
sleep(1000)
let scope = id("bij").className("android.widget.TextView").depth("9").text("直播").findOne().bounds()
let x = scope.centerX()
let y = scope.centerY()
click(parseInt(x), parseInt(y))
sleep(1500)
Tap(478,1200)
sleep(1500)
break
}
}
}
console