使用低成本的蓝牙HID硬件模拟鼠标和键盘来实现自动化脚本

server/2024/11/20 5:23:02/

做过自动化脚本的都知道,现在很多传统的自动化脚本方案几乎都可以被检测,比如基于root,adb等方案。用外置的带有鼠标和键盘功能集的蓝牙HID硬件来直接点击和滑动是非常靠谱的方案,也是未来的趋势所在。

一、使用蓝牙HID硬件的优势

  1. 不会被检测到,因为现在的手机本身支持蓝牙鼠标,蓝牙键盘,蓝牙游戏柄等。我们实现的也是一种标准蓝牙外部设备。app总不能完全禁止使用手机蓝牙外设吧,所以是非常靠谱的。
  2. 成本低,我们选用国产esp32c3芯片,成本不足10块钱。
  3. 兼容性好,只要支持蓝牙的手机都可以,不挑手机。
  4. 支持冰狐智能辅助,可以直接在冰狐上使用js编写脚本逻辑,做到完全随心所欲。

二、代码实战

冰狐智能辅助官方支持使用蓝牙HID硬件,非常方便。我们可以使用冰狐官方提供的BleClient来和蓝牙HID硬件通信,将各种指令发送给蓝牙硬件,让蓝牙硬件执行点击,滑动等操作。

function main() {var ble = new BleClient('sssss-xxxx-344-xxx-fffff', 'ffff-xxx-xxx-xxxx-ffff');if (1 == ble.connect()) {// 点击bleClick(ble, 400, 400);// sleep(3000);// // 滑动// bleSwipe(ble, rsScreenWidth / 2, rsScreenHeight / 3 * 2, rsScreenWidth / 2, rsScreenHeight / 3, 1000)}
}// 点击
function bleClick(ble, x, y) {x = parseInt(x * 10000 / rsScreenWidth);y = parseInt(y * 10000 / rsScreenHeight);var cmd = `c${x},${y}`;console.log('cmd:' + cmd)var ret = ble.send(cmd)console.log('send ret:', ret)
}// 滑动
function bleSwipe(ble, x1, y1, x2, y2, duration) {x1 = parseInt(x1 * 10000 / rsScreenWidth);y1 = parseInt(y1 * 10000 / rsScreenHeight);x2 = parseInt(x2 * 10000 / rsScreenWidth);y2 = parseInt(y2 * 10000 / rsScreenHeight);var cmd = `m${x1},${y1},${x2},${y2},${duration}`;console.log('cmd:' + cmd)var ret = ble.send(cmd)console.log('send ret:', ret)
}// 输出文本
function bleOutput(ble) {var ret = ble.send('z:ab12')console.log('send ret:', ret)
}// 全选
function bleSelectAll(ble) {var ret = ble.send('s')console.log('send ret:', ret)
}// 拷贝
function bleCopy(ble) {var ret = ble.send('o')console.log('send ret:', ret)
}// 剪切
function bleCut(ble) {var ret = ble.send('t')console.log('send ret:', ret)
}// 粘贴
function blePaste(ble) {var ret = ble.send('p')console.log('send ret:', ret)
}// 最近应用
function bleRecentApps(ble) {var ret = ble.send('r')console.log('send ret:', ret)
}// 亮屏
function bleWakeup(ble) {var ret = ble.send('w')console.log('send ret:', ret)
}// 锁屏
function bleLock(ble) {var ret = ble.send('l')console.log('send ret:', ret)
}// 按home键
function bleHome(ble) {var ret = ble.send('h')console.log('send ret:', ret)
}// 按返回键
function bleBack(ble) {var ret = ble.send('b')console.log('send ret:', ret)
}

三、总结

综上所述,蓝牙HID硬件在实现自动化脚本方面具有独特的优势和应用前景。通过合理地编写脚本和配置硬件,可以高效地实现各种自动化任务。具有很强的防检测、防风控能力,具有超强的性价比。


http://www.ppmy.cn/server/143388.html

相关文章

基于Java Springboot滁州市特产销售系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…

【jvm】方法区的理解

目录 1. 说明2. 方法区的演进3. 内部结构4. 作用5.内存管理 1. 说明 1.方法区用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码缓存等数据。它是各个线程共享的内存区域。2.尽管《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分,但它却…

android 如何获取当前 Activity 的类名和包名

其一:getClass().getSimpleName() public static String getTopActivity(Context context){ ActivityManager am (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE); ComponentName cn am.getRunningTasks(1).get(0).topAct…

前端搭建低代码平台,微前端如何选型?

目录 背景 一、微前端是什么? 二、三大特性 三、现有微前端解决方案 1、iframe 2、Web Components 3、ESM 4、EMP 5、Fronts 6、无界(文档) 7、qiankun 四、我们选择的方案 引入qiankun并使用(src外层作为主应用) 主应…

【设计模式-迪米特法则】

迪米特法则(Law of Demeter,LoD),也称为最少知识原则(Principle of Least Knowledge),是一种面向对象编程中的设计原则。它的核心思想是:一个对象应当尽可能少地了解其他对象&#x…

SpringBoot集成jpa使用步骤以及场景

应用场景 将环形独立为starter后涉及到创建表数据&#xff0c;想要实现每一个项目在使用该starter项目的时候就把表结构导入到自己的项目中&#xff0c;使用jpa实现 实现步骤 1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <a…

React Native 全栈开发实战班 - 性能与调试之打包与发布

在完成 React Native 应用的开发与性能优化后&#xff0c;下一步就是将应用打包并发布到各大应用市场&#xff0c;如 Apple App Store 和 Google Play Store。本章节将详细介绍 React Native 应用的打包与发布流程&#xff0c;包括 Android 和 iOS 平台的打包步骤、签名配置、发…

【深度学习目标检测|YOLO算法6-27】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析...

【深度学习目标检测|YOLO算法6-2&7】YOLO家族进化史&#xff1a;从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析… 【深度学习目标检测|YOLO算法6-2&7】YOLO家族进化史&#xff1a;从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析… 文章目录 【深度…