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

2023-12-27

是否可以在 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 描述:指定该事件为触摸移动事件(移动手指)
  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上使用外部键盘模拟触摸事件? 的相关文章

  • Eclipse Android 模拟器 - 键盘不工作

    我刚刚更新到最新的 SDK 版本 16 使用最新版本的 API 16 创建了新版本的 AVD 并且我的硬件键盘在模拟器上不再工作 甚至我的其他 avd 使用旧版本的 sdk 任何想法如何解决这一问题 您的 AVD 的 键盘支持 硬件属性是否
  • 如何通过 swift 包管理器在 swift 项目中添加 Alamofire [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在探索 SPM 现在我需要知道如何在我的项目中通过 SPM 导入 Alamofire 创建一个名为的 swift 文件Package在你
  • 如何模拟应用程序在后台被杀死?

    我试图验证我的应用程序 App1 在启动另一个应用程序 App2 后被系统关闭时行为是否正确 有什么方法可以模拟或强制这种行为吗 在 App2 运行时告诉模拟器模拟内存警告不会执行任何操作 直到 App1 返回前台为止 从调试器中杀死 Ap
  • 如何查看iOS11屏幕录制是否开启?

    为了检测 iOS11 屏幕录制功能的开或关 我使用了 isCaptured 和 UIScreenCapturedDidChange 通知 当我第一次启动应用程序并在 iOS11 内置屏幕录制功能上时 它会通知选择器方法 值为 True 但是
  • 两个 UIBezierPaths 交集作为 UIBezierPath

    我有两个UIBezierPaths 一个表示图像部分的多边形 另一个是要在其上绘制的路径 我需要找到它们之间的交集 以便只有该交集区域内的点才会被着色 有没有方法在UIBezierPath可以找到两条路径之间的交点 或新路径 我不知道获取作
  • 防止 Realm 在更新对象时覆盖属性

    我已经在 iOS 中设置了一个 REST API 来连接领域对象 然而 我发现在我的对象中创建最喜欢的标志存在问题 我创建了一个最喜欢的布尔值 但是每次从 API 更新该对象时 它都会再次将最喜欢的值设置为默认 false 在这里 我希望这
  • HTML 5 + iOS - 创建混合应用程序

    我正在尝试将我的本机 iOS 应用程序转换为使用 HTML 5 的混合应用程序 经过研究后我最终得到了jQuery 移动 phoneGap 我的问题是 是否可以将 html 5 和本机 iOS 功能混合在一个单一的版本中 看法 例如我可以使
  • 使用静态库在 ios 项目中设置构建配置以在 xcode 4 中创建存档的正确方法是什么?

    我有一个依赖于多个静态库的工作应用程序 我已将其作为依赖项添加到应用程序中 并在构建阶段添加到与静态库位的链接中 一切都在模拟器和我连接的 iPad 上构建并运行良好 我想创建一个用于试飞的 ipa 文件 因此我按照试飞网站上的说明进行操作
  • Swift 3 中的 _ArrayType 去了哪里?

    我有一些用于中继的代码 ArrayType在 Swift 3 之前 我试图了解公共协议发生了什么 ArrayType 任何想法 ArrayType被重命名 ArrayProtocol 您可以在ArrayType swift https gi
  • 在 iMessage 应用程序中检查横向/纵向方向(扩展)

    见过很多检查方向的解决方案 但奇怪的是 没有一个有效 下面是代码片段 override func viewWillTransition to size CGSize with coordinator UIViewControllerTran
  • 如何在单击按钮时打开 Instagram 应用程序

    大家好 我正在尝试通过单击按钮打开 Instagram 应用程序 但我没有 我也可以在 plist 中将 Url 方案设置为 instagram NSString instagramURL instagram app NSURL ourUR
  • 类型名称已知却未知?

    Xcode 突然显示了此错误 未知类型名称 我会解释一下 我的 StoriesViewController h import
  • Dropbox iOS SDK 始终为 isLinked 返回“YES”:

    我正在使用 iOS Dropbox SDK 想要检查我的应用程序是否已与 Dropbox 帐户链接 所以我这样做 if self isLinked NSLog linked However self isLinked总是返回YES 即使在清
  • 如何开发iPhone MDM服务器?

    我刚刚阅读了有关适用于 iOS 设备的移动设备管理服务器的信息 但所有文档均指 第三方 MDM 服务器 我的问题是如何自己开发一个 第三方 MDM 服务器 我找不到任何关于此的文档 你有简单的方法和困难的方法 Easy way OSX Li
  • IOS 无法从 Google Drive 获取文件

    这是我的代码 GTLQueryDrive query GTLQueryDrive queryForFilesList query q NSString stringWithFormat IN parents root self driveS
  • 同时触发 Windows 事件 id 4802 和 4803(调用和取消屏幕保护程序)

    事件 id 4803 关闭屏幕保护程序 在事件 id 4802 调用屏幕保护程序 之后立即触发 请注意 屏幕保护程序实际上仍然处于打开状态 直到检测到用户交互 我使用的是 Windows 8 1 在 Windows 7 上 事件 id 48
  • 如何显示启动图像

    我是 iOS 新手 我的 Xcode 版本是 7 2 1 我尝试使用 Swift 在 iOS9 上运行 我的问题是我对如何创建启动屏幕图像感到非常困惑 我发现有很多方法可以为不同版本的 iOS 创建启动屏幕图像 有人可以向我解释一下如何设置
  • 错误 ITMS-90596:“捆绑包无效。无法处理“Payload/ExpoKitApp.app/.bundle/Assets.car”处的资产目录。”

    问题摘要 我想向Apple App store TestFlight 提交一个应用程序 我正在使用 Transporter v1 1 提交应用程序 在提交过程中 我在 Transporter 中收到以下错误 请注意 我在此过程中没有使用 X
  • FlurrySDK 与 cocoapods

    我正在尝试使用 Cocoapods 将 FlurrySDK 框架集成到我的应用程序中 正如我已经使用很多框架所做的那样 但由于某种原因 xcode 不断抛出此编译错误 Undefined symbols for architecture a
  • 查找 NSString 中子字符串的所有位置(不仅仅是第一个)

    有一个子串在字符串中出现多次 我用rangeOfString 不过好像只能找到第一个位置 如何找到子字符串的所有位置 NSString subString1 NSString subString2 n NSRange range1 newr

随机推荐

  • ReferenceError:您正在尝试在 Jest 环境被拆除后“导入”文件:在 loadCjsDefault 处

    我正在测试使用 jest 构建一个包含 rollup 的包 每当我使用 async await 时 它就会抛出错误 我不知道出了什么问题 我尝试了不同的灵魂 但它不起作用 ReferenceError You are trying to i
  • Angular 4:`ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后已更改

    我的子模块中的每个 EventEmiiter 都会出现此错误 但我找不到解决此问题的方法 ExpressionChangedAfterItHasBeenCheckedError Expression has changed after it
  • 设置自定义表格视图单元格的背景图像

    我尝试了多种方法来设置未选定的表格单元格的背景图像 但没有成功 1 In IB setting the image field 2 cell contentView backgroundColor UIColor alloc initWit
  • Rails:渲染模型?

    我可以想到一百万种非自动的方法来在 Rails 中渲染模型 但我想知道是否有一些内置的方法可以做到这一点 我希望能够做到这一点 显然 使用部分你可以做到这一点 我的意思是 调用 render partial 但我想知道是否有一些标准方法联系
  • 使用 Enzyme 测试 Redux 连接的组件

    使用酶测试 redux 连接组件时遇到问题 import React from react import shallow mount render from enzyme import configure from enzyme impor
  • 从其他应用程序调用服务的权限

    可能的重复 服务许可 https stackoverflow com questions 4967962 permission for services 从android启动服务时出现权限问题 https stackoverflow com
  • 具有赫维赛德/阶跃函数的神经网络学习算法

    是否有前馈神经网络训练算法的实现 或直接描述 该算法不使用 sigmoid 或线性挤压函数 而是使用不可微的函数 例如赫维赛德函数 我已经找到了一个关于这种算法的论文 http ieeexplore ieee org iel3 1059 7
  • 代理密钥 RSA SHA256 返回错误的签名类型

    我正在将 vscode 开发容器与 docker 一起使用 但在与容器共享 git 时遇到问题 我已经设置了 git ssh add ssh agent 如下所示here https code visualstudio com docs r
  • 从多 mips 中获取结果

    我是汇编语言的新手 我对乘法感到非常困惑 我正在阅读快速教程here http logos cs uic edu 366 notes mips 20quick 20tutorial htm 死链接 网络存档在这里 https web arc
  • 为什么 Postgres 中的坏行估计速度很慢?

    是什么让错误的行估计成为 SQL 查询性能的痛点 我很想知道其内部原因 通常 错误的行估计实际上会选择正确的计划 而好查询和坏查询之间的唯一区别是估计的行数 为什么经常出现如此巨大的性能差异 是因为 Postgres 使用行估计来分配内存吗
  • 如何从数据库中获取数据并在 PHP 中显示?

    如何使用 php 从数据库获取数据并显示它 数据库表有列 标记为ID Number ID 是唯一且固定的 而 Number 只是一个非唯一的数字 如果有人来访http example com show php ID 32 and show
  • 行尾短语的正则表达式

    我正在抓取一个文本块 在该块中将有一行包含以 WITH PASSWORD kEqHqPUd 结尾的短语 其中 kEqHqPUd 是动态生成的密码 用于仅获取其中密码的简单正则表达式是什么 我正在使用 PHP preg match WITH
  • 在 C# 中验证 DLL

    我有一个 exe 它使用 Castle Windsor 来实现插件机制 我需要验证我加载的插件是否来自我 而不是一些恶意代码 我相信我需要使用非对称密钥 可能是 SNK 对 exe 和 dll 进行签名 首先 这是正确的吗 我该怎么做 其次
  • Android Clipboard.getText() 已弃用;那么如何获取其中的文本项呢?

    这工作正常 准确地向我展示了放入 Android 剪贴板的最后一个字符串是什么 它恰好是euswcnmst Log w clip clipboard getText toString But getText已弃用clipboard对象 同时
  • Apple 推送通知 - PHP - SSL 操作失败,代码 1

    在过去的几天里 当我们使用套接字连接到生产服务器上的 APN 服务器时 我们遇到了一些奇怪的 PHP 行为 大多数情况下 有效负载的推送不会出现任何错误 并且客户端会收到通知 然而 在某些情况下 我们开始收到 PHP 错误 即使我们收到错误
  • 如何在 C++ 中克隆对象?或者还有其他解决方案吗?

    我编写了一个堆栈和队列实现 基于链表 有一个栈 bigStack 比如我分开bigStack 例子 stackA and stackB I pop 一个节点来自bigStack I push in stackA 以同样的方式 我push i
  • 如何使用子进程Popen.communicate()方法?

    我正在尝试将 bash 命令的标准输出作为 Python 中的字符串获取 下列的Popen https docs python org 2 library subprocess html subprocess Popen文档 我已经尝试过
  • 如何在 Django 中聚合单个查询集?

    简短的介绍 给定一个查询集myQueryset 我该如何选择max myfield 没有实际检索所有行并执行max在Python中 我能想到的最好的是max r myfield for r in myQueryset values myfi
  • CSS3中有没有办法为列指定不同的宽度?

    我想使用 CSS 来呈现两列布局 我正在使用的标记是这样的 div style margin left 20px margin top 20px div picture box div div name div div 有没有办法让一列的宽
  • 是否可以在越狱的ios上使用外部键盘模拟触摸事件?

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