安卓8.1以上系统安装教程
下载地址(主):
备用地址(蓝奏): https://wwr.lanzouw.com/b0e9d05ah 密码:666
自助提卡地址
https://tk.d3dv.cn/6.html
自助换绑地址
微霸自动平台官方接口文档
一、微霸自动化简介
微霸自动平台API基于自动化框架,通过运行JS脚本进行转换及调用。
基本语法采用js的语法。
1.1API说明
一、获取界面指定控件对象的几种接口
1、获取界面上指定文字内容的控件对象
使用方法: $("|文字内容|") 指定文字内容
$("文字内容%") 以文字内容开头
$("%文字内容") 以文字内容结尾
$("文字内容") 包含该文字内容
使用示例: $("|通讯录|") 获取界面上文字内容为通讯录的控件
$("通讯录%") 获取界面上文字内容为通讯录开头的控件
$("%通讯录") 获取界面上文字内容为通讯录结尾的控件
2、通过content-desc获取控件对象
使用方法: $("?desc描述?") 指定desc描述内容的控件对象
$("?desc描述") 包含desc描述内容的控件对象
使用示例: $("?搜索?") 获取指定desc为搜索的控件对象
$("?搜索") 获取desc包含搜索的控件对象
3、获取指定class的控件对象
使用方法: $(".class") 指定class的控件对象
$(".class|text") 指定class的子控件中包含文字内容为text的控件
使用示例: $(".android.widget.LinearLayout") 获取class为LinearLayout的控件对象
$(".android.widget.LinearLayout|昵称") 获取class为LinearLayout子控件包含"昵称"的控件对象
4、获取指定resource-id的控件对象
使用方法: $("#resource-id") 指定resource-id的控件对象
使用示例: var id = "#com.xenxent.mm:id/as6";
$(id) 获取resource-id为com.xenxent.mm:id/as6的控件对象
5、获取指定package的控件
使用方法: $("~package") 指定package的控件对象
使用示例: $("~com.xenxent.mm") 获取package为com.xenxent.mm的控件对象
6、 其他约束条件
约束条件包括:
checkable checked clickable enabled focusable focused longClickable scrollable selected
使用方法: [属性值:false/true] 指定属性值
使用示例: [checked:false] 表示控件未被选中
二、获取控件对象后可以执行的方法
通过以上获取界面指定控件对象的几种方式调用可执行的方法
1、判断控件是否存在
使用方法:exist
使用示例: $("|通讯录|"). exist() 判断指定文字内容是否存在
2、等待一定时间
使用方法:waitShort/wait/waitLong waitShort等待3秒 wait等待6秒 waitLong等待12秒
使用示例: $("通讯录").waitLong()
3、单击
使用方法:click
使用示例: $("通讯录").click() 点击通讯录
4、获取子控件的数目(有子控件的情况下)
使用方法: getChildCount
使用示例: $(".android.widget.ListView").getChildCount() 获取ListView的子条目个数
5、填写文字内容
使用方法: setText
使用示例: $(".android.widget.EditText").setText("你好") 填入“你好”的文字内容
6、唤醒设备
使用方法:$.wakeUp();
7、启动指定应用
使用方法:launch("威信");
8、等待指定包名的应用
使用方法:waitForPackage(包名);
使用示例: waitForPackage("com.xenxent.mm");
9、退出应用返回到桌面
使用方法:quitApp();
10、等待指定时间
使用方法:sleep(2000);//休息2秒
11、弹出toast提示
使用方法:toast(提示内容);
toast("正在改机并清除威信数据");
12、 单击指定坐标
使用方法:$.click(x,y);
使用示例: $.click(360,710);
13、拖动
使用方法:$.drag(x1,y1,x2,y2,step);//从(x1,y1)经过step步长拖动到(x2,y2)
使用示例: $.drag(100,694,500,694,50);
14、按返回键
使用方法:$.pressBack();
15、按Home键
使用方法:$.pressHome();
16、加载其他js脚本
使用方法:load(脚本路径);脚本路径可以为本地或者网络路径
使用示例: load("/sdcard/Pictures/weiba-customed-fama.js");//加载本地的js脚本
17、打印日志
使用方法:log(打印对象或内容);
三、高级接口
微霸新机、账号获取、保存等相关接口
1、自定义伪装参数
使用方法:app.customHook(jsonstr);
2、一键新机并清除应用数据
使用方法:app.newDevice(包名);//针对该包名进行数据清除
使用示例: app.newDevice('com.xenxent.mm');
3、获取当前账户信息
使用方法:app.getCurrentAppAccount(包名); 返回类型为JSONObject,目前只支持威信和陌陌
返回的数据结构为:{"strName":name,"strId":id,"strFilePath":path}
4、获取保存的所有账户信息
使用方法:app.getAppAccounts(包名); 返回类型为JSONArray,每个元素为JSONObject
使用示例: var wxaccounts = app.getAppAccounts("com.xenxent.mm");
var account = wxaccounts.optJSONObject(i);
5、一键保存
使用方法:app.accountStore(JSONObject);
使用示例: app.accountStore(account);
account为JSONObject{"strName":name,"strId":id,"strFilePath":path}
6、一键恢复指定账户
使用方法:app.accountRecover(filepath);
其中filepath为从返回的账户JSONObject中取得,
filepath = account.optString("strFilePath");
7、深度清理指定应用
使用方法:app.deepClearApp(包名);
使用示例: app.deepClearApp("com.xenxent.mobileqq");
8、获取手机分辨率比例(标准为720*1080)
使用方法:app.getStandardScale("width");//当前设备宽度与720的比
app.getStandardScale("heigth");//当前设备高度与1080的比
9、开关飞行模式
使用方法:app.airplaneModeTigger();
10、寻找指定颜色色块
使用方法:app.findColorBlock(颜色值,色块宽,色块高,startX,startY);
文件操作相关接口
1、读取指定目录的文件
使用方法:fileUtils.readFile(String path);
2、写入内容到指定文件
使用方法:fileUtils.writeFile(String text,String path);
网络请求相关接口
1、get请求
使用方法:http.get(url, options, callback);
2、post请求
使用方法:http.post(url, data, options, callback);
1.2完整切换账户示例
run();
function run(){
toast("脚本开始");
var currentaccount = app.getCurrentAppAccount("com.android.mmx");
app.accountStore(currentaccount);
toast("保存当前账户完成");
var wxaccounts = app.getAppAccounts("");
for(var i = 0 ; i < wxaccounts.length(); i++){
var account = wxaccounts.optJSONObject(i);
if(account){
var filepath = account.optString("strFilePath");
var accountname = account.optString("strName") || account.optString("strId") || "?";
if(filepath){
toast("现在的是:"+accountname);
app.accountRecover(filepath);
toast("已切换,开始");
openWxAndSupportAccount();
sleep(2000);
toast("账户保存");
currentaccount = app.getCurrentAppAccount("com.xenxent.mm");
app.accountStore(currentaccount);
}
}
}
}
function openWx() {
$.wakeUp();
launch("APP");
waitForPackage("com.android.mmx");
}
function openSupportAccount(){
openWx();
sleep(5000);
//随机策略
if(random(1, 5) == 2){
load("http://aaa.js");
}
else {
toast("策略:随机查看");
}
sleep();
return;
}
1.3外部API
外部API,用于其他APP或软件来调用微霸内部接口
注:外部API推荐使用POST方式调用,但也支持GET方式。方式就是将postdata的JSON对象拆分成GET的查询参数。
下属地址都默认携带卡号token=aaaa;其中aaa表示购买的卡密
------------------------------------------------------------------------------------------
所有接口在电脑上可以使用POSTMAN等工具调试。具体方法:
1)电脑跟手机需要在同一个局域网网络下
2)查询当前手机的内网ip(不会找百度)
3)例如,手机ip是192.168.0.11;那么打开postman,测试用例0:http://192.168.0.11:8888;返回OK则为成功。
------------------------------------------------------------------------------------------
0.微霸对外API测试接口
路径 | http://127.0.0.1:8888 |
方式 | GET |
返回 |
OK //正确返回。无响应则表示微霸未启动或挂死 |
1.获取微霸号:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"deviceId"} |
返回 |
{ |
GET方式:http://127.0.0.1:8888/cmd?group=AppTool&action=deviceId
2.一键改机并抹除:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"newDevice","params":["com.aaa.mm"]} //params里填需要抹除的应用包名 |
返回 |
{ data:"错误信息"//一键改机的错误在此处 |
GET方式:http://127.0.0.1:8888/cmd?group=AppTool&action=newDevice¶ms=["com.aaa.mm"]
3.云码恢复:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"cloudCodeRecover","params":["wbp:xxxxxxxxx"]} //params里填云码 |
返回 |
{ |
4.获取所有账户:(查单个账户看9号接口)
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"getAppAccounts","params":["com.aaa.mm"]} //params里填APP包名 |
返回 |
{ ..... |
5.账户文件恢复:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"accountRecover","params":["/sdcard/Download/weiba/wx/wxid_x776z3p2j52c22.wbwx"]} //params里填文件路径(见接口4返回内容的“strFilePath”字段) |
返回 |
{ |
6.账户保存:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"accountStore","params":[{ //params里是某个账户信息(见接口4返回内容) |
返回 |
{ data:"错误信息"//一键保存的错误在此处 |
按键精灵用例 |
Dim 参数="[{""strId""%3A""13099324333"",""strPkg""%3A""com.aaa.mm"",""strName""%3A
""13888888888"",""strWxUUID""%3A""wxid_qx3anrk9bp3322"",""strNote""%3A
""API测试"",""strApp""%3A""aa"",""strVersion""%3A""6.7.0""}]"//注意,所有冒号要转义为%3A,不然不认
TracePrint Url.Get ("http://127.0.0.1:8888/cmd?group=AppTool&action=accountStore¶ms="&参数,20) |
7.生成云码:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"genCloudCode","params":[{ //params里是某个账户信息(见接口4返回内容) |
返回 |
{ data:"wbp:xxasdxxxx"//返回的云码 } |
按键精灵用例 |
写法类似接口7 |
8.获取当前账户:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"getCurrentAppAccount","params":["com.aaa.mm"]} //params里是填应用包名 |
返回 |
{ data:{ |
9.根据账户ID查找账户:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"getAppAccountById","params":["com.aaa.mm","13802310***"]} //params里是填应用包名,账户ID |
返回 |
{ data:{ |
10.地理位置设置:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"Dependence","action":"setLocation","params":["111.111222","33.33333444"]} //params里是经度、维度 |
返回 |
{ |
11.强杀、打开app:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"killApp","params":["com.aaa.mm"]} //action:killApp--强杀;openApp---打开 //params:填应用包名 |
返回 |
{ |
12.执行shell命令:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"shell","params":["reboot"]} //params:填执行的命令(reboot:表示重启设备) |
返回 |
{ |
13.获取手机路径里的文件:
路径 |
http://127.0.0.1:8888/getFile?fileName=/sdcard/Download //fileName:手机路径 |
方式 | GET |
返回 |
{"success":1,"data":["weiba",".log","TrackEmulator1.txt","TrackEmulator2.txt","14-16-42-image.jpg","app-debug.apk","com.md188.weiba-1","1.txt","weiba.apk"]} //data里内容是文件列表 |
14.授权刷新:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"freshAuth"} |
返回 |
{ |
备注 |
如果长时间跑,可能会出现掉授权,那么调用此接口。注意15分钟间隔效果较好 |
15.开启或关闭地理位置:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"Dependence","action":"setHookLocation","params":[true]} //params 填true表示开启,false表示关闭。关闭后上述API10将无效 |
返回 |
{ |
16.提取A16数据:
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"getA16","params":["13313444222","password123"]} //params 第一个填手机号,第二个填密码 |
返回 |
{"success":1, "data":"13313****|password123|A57fxa04ff8*****|865687025271048|oo2g068s7nmruktw|02:00:00:00:00:00|armeabi-v7a|Xiaomi"} //data格式:手机号|密码|数据|IMEI|安卓ID|mac地址|平台构架|手机品牌 |
17.调用wx扫一扫(收费接口,不予开放)
18.获取微霸授权信息
路径 | http://127.0.0.1:8888/cmd |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA |
{"group":"AppTool","action":"getAuth"} |
返回 |
{
"success": 1,
"data": {
"nDays": 34,//微霸授权剩余时间
"strUser": "VIP",//微霸授权VIP名字
"strToken": "07699c86b819",
"nExpireDate": 20210615094601,//微霸授权到期时间
"nXp": 1,
"nCrown": 1,
"nDetail": 1,
"authed": true,
"time": 1620870356657
}
}
|
1.4云控API
1,当前运行参数模板获取
路径 | http://v8.md180.com:7101/weiba/publicapi/yun/scriptmodel/:脚本名称/:微霸设备号 |
方式 | GET |
返回 |
2,上报注册信息
路径 |
http://v8.md180.com:7101/weiba/publicapi/yun/account/:nUser/:nId/:微霸设备号 nUser:上面接口1中的nUser字段;nId:上面接口1中的nId字段 |
方式 | POST |
HEADER | Content-Type:application/json |
POSTDATA | |
返回 |
{ "status": 1} 1:成功,0:失败。 |
文章评论