是否可以在越狱的ios上使用外部键盘模拟触摸事件?

2024-04-25

是否可以在 iOS 越狱以及越狱涉及的所有元素上模拟特定屏幕坐标中的触摸事件,按下物理外部键盘(通过相机连接套件或蓝牙的 USB)上的特定按键?

我会用它来用脚按下应用程序(振幅)中的按钮,我想使用键盘作为脚踏开关。

仅供私人使用。没有应用商店或 Cydia。 谢谢。


您可以在计算机上编写脚本,并基于模拟触摸库使用键盘和鼠标来控制您的 iOS 设备。

iOS13-模拟触摸是一个开源库,允许您在系统级别模拟触摸事件。您可以使用任何编程语言编写脚本来模拟 iOS 设备上的触摸事件远程或本地。请检查源代码[Github] iOS13-SimulateTouch https://github.com/xuan32546/IOS13-SimulateTouch


IOS13-模拟触摸

iOS 11.0 - 13.6 系统级触摸模拟 iOS13 simulate touch

需要越狱设备

描述 https://github.com/xuan32546/IOS13-SimulateTouch/blob/master/README.md#description

该库使您只需一行代码即可在 iOS 11.0 - 13.6 上模拟触摸事件!稍后将发布所有源代码。

Features https://github.com/xuan32546/IOS13-SimulateTouch/blob/master/README.md#features

  1. 支持多点触摸(您找不到其他库支持多点触摸)。
  2. 可编程的。控制脚本可以使用您想要的所有编程语言进行编程。
  3. 支持即时控制。可以无延迟地从其他设备/计算机控制 ios 设备。
  4. 系统级触摸模拟(不会注入任何进程)。

安装 https://github.com/xuan32546/IOS13-SimulateTouch/blob/master/README.md#installation

  1. 打开Cydia - 来源 - 编辑 - 添加 -http://47.114.83.227 http://47.114.83.227(“http”而不是“https”!请仔细检查。)
  2. Install 《ZJX触摸模拟》 tweak
  3. Done

代码示例 https://github.com/xuan32546/IOS13-SimulateTouch/blob/master/README.md#code-example

Python Version

import socket
import time

# event types
TOUCH_UP = 0
TOUCH_DOWN = 1
TOUCH_MOVE = 2
SET_SCREEN_SIZE = 9

# you can copy and paste this method to your code
def formatSocketData(type, index, x, y):
    return '{}{:02d}{:05d}{:05d}'.format(type, index, int(x*10), int(y*10))

s = socket.socket()
s.connect(("127.0.0.1", 6000))  # connect to the tweak. Replace "127.0.0.1" with the ip address of your device
s.send(("1"+formatSocketData(SET_SCREEN_SIZE, 0, 2048, 2732)).encode())  # tell the tweak that the screen size is 2048x2732 (your screen size might differ). This should be send to the tweak every time you kill the SpringBoard (just send once)
time.sleep(1)  # sleep for 1 sec to get setting size process finished
s.send(("1"+formatSocketData(TOUCH_DOWN, 7, 300, 400)).encode())  # tell the tweak to touch 300x400 on the screen
# IMPORTANT: NOTE the "1" at the head of the data. This indicates the event count and CANNOT BE IGNORED.
s.close()

实际上触摸仅由一行执行:

s.send(("1"+formatSocketData(TOUCH_DOWN, 7, 300, 400)).encode()) 

整洁又简单。

执行触摸移动

s.send(("1"+formatSocketData(TOUCH_MOVE, 7, 800, 400)).encode())  # tell the tweak to move our finger "7" to (800, 400)

执行修饰

s.send(("1"+formatSocketData(TOUCH_UP, 7, 800, 400)).encode())  # tell the tweak to touch up our finger "7" at (800, 400)

将它们结合起来

s.send(("1"+formatSocketData(TOUCH_DOWN, 7, 300, 400)).encode())
time.sleep(1)
s.send(("1"+formatSocketData(TOUCH_MOVE, 7, 800, 400)).encode())
time.sleep(1)
s.send(("1"+formatSocketData(TOUCH_UP, 7, 800, 400)).encode())

首先手指触摸(300, 400),然后移动到(800, 400),然后“离开”屏幕。所有触摸事件均无延迟地执行。

Usage https://github.com/xuan32546/IOS13-SimulateTouch/blob/master/README.md#usage

  1. 安装后,该调整将开始侦听端口 6000。
  2. 使用套接字将触摸数据字段发送到调整

data field should always be decimal digits, specified below event data img

NOTE:将来可能会更新用法。我会更新这篇文章,但请在 github 上跟踪使用_iOS13-SimulateTouch https://github.com/xuan32546/IOS13-SimulateTouch/blob/master/README.md#usage

Event Count(1 位数字):指定单个事件的计数。如果您要同时发送多个事件,只需增加事件计数并将事件附加到数据中即可。

在单个事件中

Type(1 位数字):指定单个事件的类型。

支持的事件类型:

  1. 事件:触摸。标志: 0 描述: 指定该事件为触摸事件
  2. 事件:着陆。标志: 1. 描述: 指定该事件为触地事件
  3. 事件:触摸移动。标志: 2 描述: 指定该事件为 touch-move 事件(移动手指)
  4. 事件:设置大小。标志:9. 描述:设置屏幕尺寸(必填!!下面会解释)

Touch Index(2 位):Apple 支持多点触控,因此在发布触摸事件时必须指定手指索引。手指索引的范围是1-20(0是保留的,不要使用0作为手指索引)。

x Coordinate(5 位数字):您要触摸的位置的 x 坐标。前 4 位为整数部分,最后一位为小数部分。例如,如果您想在屏幕上触摸(123.4,2432.1),则应填写“01234”。

y Coordinate(5 位数字):您要触摸的位置的 y 坐标。前 4 位为整数部分,最后一位为小数部分。例如,如果您想在屏幕上触摸(123.4,2432.1),则应填写“24321”。

Moreover

因此,如果您想用手指“3”在屏幕上触摸(123.4,1032.1),只需使用套接字连接到tweak并发送“11030123410321”。

数字 0:“1”表示仅执行一个事件。

第1位:“1”表示事件类型:TOUCH_DOWN(标志位为1)。

数字2-3:“03”表示该事件由手指“3”执行。

数字4-8:“01234”表示x坐标123.4。

数字9-13:“10321”表示y坐标1032.1。

重要的提示 https://github.com/xuan32546/IOS13-SimulateTouch/blob/master/README.md#important-note

The touch coordinate does not depend on the orientation of your device. See picture below to get more information. However you place your device, the click point on the screen will not be changed. coordinate_note img

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以在越狱的ios上使用外部键盘模拟触摸事件? 的相关文章

随机推荐

  • 从 Android 中的纬度和经度获取城市名称提供的服务不可用 Android 4.0.3?

    我在应用程序中使用的是Android 4 0 3版本 现在我想获取城市名称或其他信息LATITUDE and 经度但当我运行应用程序时 显示服务不可用 Logcat 01 10 13 58 29 279 W System err 1211
  • Twitter Bootstrap Collapse 插件方向 - 水平而不是垂直

    有没有办法从水平方向而不是垂直方向折叠 Bootstrap Collapse 插件 看看代码 这种能力似乎没有内置 但我希望我只是错过了一些东西 任何帮助将不胜感激 谢谢 我想出了如何在不修改或添加任何 JavaScript 的情况下非常轻
  • 自定义 jquery 验证和不显眼的 JavaScript

    我正在尝试编写一个自定义验证 如果在提交表单时文本区域中存在 html 则会给出错误 我有以下内容 它不起作用 我不知道为什么 我也不明白不引人注目的部分 有人可以告诉我如何做到这一点 因为我看到其他有它的例子 文本区域有一个类 note
  • 使用 Polyfit 进行垂直线拟合

    这只是一个基本问题 我正在使用拟合线来分散点polyfit 在某些情况下 我的散点具有相同的 X 值并且polyfit无法在其上放置一条线 必须有某种东西可以处理这种情况 毕竟 它只是一个线配合 我可以尝试交换 X 和 Y 然后再画一条线
  • 在 Perl eval 中捕获变量赋值

    我希望能够从 Perl eval 捕获变量赋值 也就是说 确定代码中分配给哪些变量名称并提取它们的值 例如 如果我运行 eval foo 42 bar 3 14 eval 的结果是 3 14 最后评估的值 但我还希望能够确定名称 foo 和
  • 使用 htmlAttributes 正确制作 ActionLink 扩展

    我为我的 ActionLink 使用自定义扩展 我添加了一个属性data url这意味着被翻译成一个属性data url 即用破折号替换下划线 这是使用我的自定义扩展的链接 1 Ajax ActionLink Add MyRoutes Ge
  • 带变量的 ansible regex_search

    如何在ansible playbook中使用正则表达式查找匹配项 其中变量出现在regex search争论 以下剧本在使用以下命令运行时找不到匹配项 ansible playbook playbook yml hosts localhos
  • 程序崩溃后取消警报

    我有一个后台服务 它设置重复警报 执行其任务并自行停止 然后 当闹钟唤醒时 它会再次启动服务 如果程序崩溃 警报仍然存在并唤醒警报广播接收器 有什么方法可以取消崩溃时的警报 我想我也许可以取消任何捕获的异常的警报 但其他原因呢 或者当警报广
  • 新 Maven/Spring MVC 项目的最小 pom.xml 文件

    我对 Maven 和 Spring MVC 完全陌生 我想做的是使用 Maven 设置一个新的 Spring MVC 项目 希望这句话有意义 并使用 Eclipse 在 Tomcat 上运行我的 Web 应用程序 我正在按照此链接上的教程进
  • 为什么 Logstash 需要这么长时间才能启动/加载?

    Edit 我更改了标题 因为问题不是我最初想象的那样 事实是 logstash 需要超过一分钟开始 这可能会被误解为 沉默 我正在尝试让logstash运行 所以我按照官方网站上的说明进行独立安装 http logstash net doc
  • 为什么 NSURLSession uploadTaskWithRequest:fromData: 无法上传到 php 服务器?

    php 代码工作正常 我已经从同一服务器上的 html 表单上传了文件 上传的文件大小从 40K 到 2 0M 不等 因此其大小不高 在运行 PHP 5 3 的服务器上激活文件上传 我发现了很多这样的帖子 还没有答案 https stack
  • 绑定到 ViewModel 和 CodeBehind 中的属性

    我确信这是一个可笑的无知问题 但无论如何我还是要问这个问题 因为我搜索了又搜索 要么不理解我所看到的解决方案 要么没有找到我所寻求的答案 我有一个 MVVM 应用程序 我的 XAML 设置为 VM 的 DataContext 其中屏幕上的数
  • 将表部署到表存储中的最佳方法

    你能让我知道吗 进行表存储部署的最佳方法是什么 因为我的开发团队询问他们有很多表 每个表都有数千个条目 因此 他们要求我咨询任何微软团队或博客人们检查进行表存储部署的最佳方法 您知道我们该怎么做吗 因为脚本每次都会耗尽和插入数千个条目 我们
  • Windows 7 上的 VirtualBox 端口转发不起作用

    Windows 7 上的 VirtualBox 端口转发不起作用 我尝试通过端口转发从我的 Windows 7 主机 ssh 到我的 VirtualBox 但 VirtualBox 不会打开端口进行侦听 我可以通过打开 VirtualBox
  • 如何在 Cocoa 中检查文件是否被锁定?

    有没有API可以检查文件是否被锁定 我在中找不到任何 APINSFileManagerclass 让我知道是否有任何API可以检查文件的锁定 我发现以下与文件锁定相关的链接 http lists apple com archives coc
  • 使用 MVC 和 DAO 模式在 JSP 页面中的 HTML 中显示 JDBC 结果集

    我正在使用 JSP 和 JDBC 实现 MVC 我已将数据库类文件导入到 JSP 文件中 并且想显示数据库表的数据 我不知道该如何归还ResultSet从 Java 类到 JSP 页面并将其嵌入到 HTML 中 我怎样才能实现这个目标 在设
  • 从命令行安装 Oracle 客户端,无需用户交互

    我正在寻找一种在 Windows 上安装 Oracle 客户端但从命令行运行的方法 为了自动运行它应有没有用户交互 对于 Oracle Universal Installer 的命令行选项 Oracle 文档非常稀疏 即使运行设置为setu
  • Golang 结构继承没有按预期工作?

    查看这个沙箱 https play golang org p elIHgHAZjT 声明从不同结构继承的结构时 type Base struct a string b string type Something struct Base c
  • 可以在没有 dynamoDB 的情况下使用 AWS App-Sync

    我对 Amazon app sync 的离线和同步功能感兴趣 但我想知道它是否可以在没有 dynamoDB 作为后端的情况下使用 用 VTL 为 dynamoDB 编写的 graphQL 解析器看起来很糟糕 看来使用 mongo 后端会好得
  • 是否可以在越狱的ios上使用外部键盘模拟触摸事件?

    是否可以在 iOS 越狱以及越狱涉及的所有元素上模拟特定屏幕坐标中的触摸事件 按下物理外部键盘 通过相机连接套件或蓝牙的 USB 上的特定按键 我会用它来用脚按下应用程序 振幅 中的按钮 我想使用键盘作为脚踏开关 仅供私人使用 没有应用商店