查看: 838|回复: 3

[源码分享] 【Ctrl.js】微信自动抢红包源码

[复制链接]
发表于 2020-11-27 13:29 | 显示全部楼层 |阅读模式
非法程序、 2020-11-27 13:29 838 3 显示全部楼层
  1. //--------------------------------------------------------------------------------------------------
  2. //Ctrl.js 开发环境:http://ikaiwei.com:8889/ctrljs/
  3. //Ctrl.js 视频教程:https://www.bilibili.com/video/BV1y54y1D7rr?from=search&seid=6533699600441036938
  4. //Ctrl.js 帮助文档:http://www.ikaiwei.com/download/ctrljs/ctrl.js.pdf
  5. //Ctrl.js 开发文档:http://ikaiwei.com:8889/ctrljsapi/index.html
  6. //Ctrl.js 手机app(开维控制精灵)华为下载:https://appstore.huawei.com/app/C100728387
  7. //Ctrl.js 后台保活:禁止屏幕休眠;开启悬浮框;关闭电池优化
  8. //--------------------------------------------------------------------------------------------------

  9. // 脚本功能:微信抢红包V1.0
  10. // 脚本使用:脚本运行后,切换到微信抢红包界面,点击开始运行脚本即可
  11. // 脚本范围:只抢最后一个红包;修改代码时注意抢不可太频繁
  12. // 运行环境:无需root权限;华为手机,安卓9.0以上版本;微信版本7.0.19
  13. // 注意事项:1.确保微信登陆状态 2.微信的节点会随版本变化,如果版本不同则需要修改代码


  14. // 悬浮窗代码
  15. var v = fui.layout(
  16.     <frame>
  17.         <button id="action" text="开始运行" w="90" h="50"/>
  18.     </frame>
  19. );

  20. var flag = true;
  21. var x = 0, y = 0;
  22. var startX = 0, startY = 0;
  23. var windowX = 0, windowY = 0;
  24. var positionX = 0, pisitionY = 0;
  25. var downTime;
  26. fui.id("action").touch(function(view, event){
  27.     switch(event.getAction()){
  28.       case event.ACTION_DOWN:
  29.         startX = event.getRawX();
  30.         startY = event.getRawY();
  31.         windowX = event.getRawX() - x;
  32.         windowY = event.getRawY() - y;
  33.         downTime = new Date().getTime();
  34.         break;
  35.       case event.ACTION_MOVE:
  36.         if(x !== 0){
  37.             fui.setPostin(event.getRawX() - windowX, event.getRawY() - windowY);
  38.         }
  39.         x = event.getRawX() - windowX;
  40.         y = event.getRawY() - windowY;
  41.         break;
  42.       case event.ACTION_UP:
  43.         // 如果移动的距离小于 5, 则认为点击事件
  44.         if(Math.abs(event.getRawY() - startY) < 100 && Math.abs(event.getRawX() - startX) < 100){
  45.             // 如果点击的时间长于 1.5s, 则认为是长按事件
  46.             if(new Date().getTime() - downTime > 1500){
  47.                 longClick();
  48.             }else{
  49.                 onClick();
  50.             }
  51.         }
  52.         break;
  53.     }
  54. });

  55. // 函数功能:悬浮窗长按消失
  56. function longClick() {
  57.     fui.close();
  58. }

  59. // 函数功能:悬浮窗点击时间
  60. function onClick(){
  61.   var view = fui.id('action');
  62.   if(view.getText() == '开始运行'){
  63.     view.setText("停止运行");
  64.     flag = true;
  65.     startrun();
  66.   }else{
  67.     view.setText("开始运行");
  68.     flag = false;
  69.   }
  70.      
  71. }

  72. // 函数功能:在此添加监控脚本
  73. // 函数说明:此函数为监控红包控件状态,只循环抢最后一个红包
  74. // 函数参数:抢红包不可太频繁操作,否则容易被监控
  75. function startrun(){
  76.     while(flag){
  77.       // 有红包消息
  78.       toast("开始扫描红包");
  79.       var hongBao = cs.text("微信红包").find();
  80.       if(hongBao.size() <= 0){
  81.         toast("没有找到红包");
  82.         sleep(3000);
  83.         continue;
  84.       }
  85.       // 红包个数
  86.       toast("找到红包个数为:" + hongBao.size());
  87.       for(var i = hongBao.size() - 1;i >= 0 && i > hongBao.size() - 2;i--){
  88.         // 红包消息不在了, 被消息冲掉
  89.         if(hongBao.get(i) == null){
  90.           break;
  91.         }
  92.         // 红包消息还在, 没有被消息冲掉
  93.         // 红包还没有抢完
  94.         if(cs.text("微信红包").find().get(i).getParent().getParent().getChild(0).getChild(1).getChildCount() == 1){
  95.           // 点击红包消息
  96.           cs.text("微信红包").find().get(i).getParent().getParent().getParent().click();
  97.           sleep(2000);
  98.           // 如果红包可以打开
  99.           if(cs.desc("开").find().size() > 0){
  100.             // 开红包
  101.             cs.desc("开").findOnce().click();
  102.             sleep(2000);
  103.           }
  104.           back();
  105.           sleep(2000);
  106.         }
  107.       }
  108.          
  109.     }  
  110. }
复制代码


QQ截图20201127132918.jpg
发表于 2020-11-27 14:03 | 显示全部楼层
时光如飞刀,刀刀催人老
回复

使用道具 举报

发表于 2020-11-27 14:34 | 显示全部楼层
邹小歪 2020-11-27 14:34 显示全部楼层
搞G上真牛提问下资源!
回复

使用道具 举报

发表于 2020-11-28 13:01 | 显示全部楼层
5201314meng 2020-11-28 13:01 显示全部楼层
小白看不懂
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表 发新帖

快速回复 返回顶部 返回列表