Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ioscpy — 现在你可以通过USB镜像和控制你的越狱iPhone。 | Kitploit
工具/GitHubGitHub/lautarovculic/ioscpy
iOS安全信息收集渗透测试移动安全红队远程访问工具
GitHublautarovculic/ioscpy

ioscpy

现在你可以通过USB镜像和控制你的越狱iPhone。

查看仓库
17221606天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

ioscpy

待办事项

  • https://github.com/lautarovculic/ioscpy/issues/7
  • 研究:为 Windows 提供 GUI 支持,以及安装程序(已预留,作者将完整实现此功能)
  • 添加身份验证与授权,并在设备上通知 ioscpy 正在运行(已预留,作者将完整实现此功能)
  • 使 ioscpy 支持无线连接(BLE、Wi-Fi)(已预留,作者将完整实现此功能)
  • 自定义按钮操作(宏)(分阶段进行,概念即将推出)

一个 macOS、Linux 和 Windows 命令行工具,可通过 USB 镜像并控制已越狱的 iPhone。

只需连接一台设备,就足够了。它会自行连接。

ioscpy 演示

安装

分为两部分。Mac 应用负责运行镜像,iPhone 软件包让手机可被控制。两者都需要安装。

在 Mac 上,使用 Homebrew:

brew tap lautarovculic/ioscpy   # the Mac app
brew trust lautarovculic/ioscpy
brew install ioscpy
ioscpy --version

在已越狱的 iPhone 上,在 Sileo 或 Zebra 中添加此软件源,然后从中安装 ioscpy 并重新启动 SpringBoard:

https://lautarovculic.github.io/ioscpy-repo/

该软件源同时提供 rootless 和 rootful 构建版本,软件包管理器会自动选择与越狱类型匹配的版本。

ioscpy --device <UDID>   # pick a device when several are attached
ioscpy --list            # list attached devices
ioscpy --no-keyboard     # hide the on-screen keyboard, type from the Mac
ioscpy --mjpeg           # force MJPEG video instead of the default H.264
ioscpy --record out.mp4  # record the mirrored screen while mirroring (video only)
ioscpy --debug           # full diagnostics
ioscpy --version

录制

--record PATH 会在会话运行期间将镜像屏幕上的内容写入 MP4 文件。手机已经发送的 H.264 流会直接封装到文件中,因此不会重新编码,录制的开销仅为每帧一次缓冲写入;窗口的响应速度保持不变。该流不包含音频,因此录制是静音的。重新连接会启动一个新文件(out-2.mp4、out-3.mp4……),而不是覆盖已断开会话写入的文件。

轨道从会话开始后的第一个关键帧开始,文件在窗口关闭时完成写入。录制会遵循流自身的方向,因此以横屏握持手机捕获的会话会以旋转后的形式存储;QuickTime 的旋转功能,或一次 ffmpeg -display_rotation 90 -i out.mp4 -c copy 处理,即可修复此问题,且无需重新编码。

Linux

目前还没有 Linux 的预构建版本。需要从源码构建主机端。设备端软件包与 macOS 相同,从上述 Sileo/Zebra 软件源安装。

克隆此仓库,然后运行安装程序:

./install.sh

--yes 跳过确认提示。--prefix DIR 安装到 DIR 而不是 /usr/local,并且当目录位于 $HOME 下时省略 sudo。--uninstall 移除已安装的二进制文件。

手动安装

Debian/Ubuntu 上的前置依赖:

sudo apt install build-essential pkg-config nasm \
                 libimobiledevice-utils usbmuxd \
                 libxkbcommon-dev libwayland-dev \
                 libxcb1-dev libxkbcommon-x11-dev
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

确保 usbmuxd 正在运行,以便设备能够被识别:

sudo systemctl enable --now usbmuxd
idevice_id -l   # should print the UDID with the phone attached

以你的用户身份构建主机端,然后安装:

make host-release
sudo make install-host    # installs to /usr/local/bin/ioscpy
ioscpy --version

适用于 Arch Linux

./install.sh 在 Arch Linux 上同样可用。

sudo pacman -S --needed \
  base-devel pkgconf nasm \
  libimobiledevice usbmuxd \
  libxkbcommon wayland libxcb libxkbcommon-x11 \
  rustup curl git
rustup default stable

启用服务

sudo systemctl enable --now usbmuxd.service

检查设备是否已连接

idevice_id -l

然后运行二进制文件

cd host/target/release && chmod +x ioscpy
./ioscpy

构建步骤以你的用户身份运行,以便找到通过 rustup 安装的 cargo。install-host 是一个单独的目标,仅复制已构建的二进制文件,因此可以在 sudo 下正常运行,无需在 root 的 PATH 中提供 cargo。若要在主目录中进行免 sudo 安装,请使用 make install-host PREFIX=$HOME/.local,并确保 $HOME/.local/bin 在你的 PATH 中。

H.264 解码在 Linux 上通过 openh264 软件解码器工作。如果你更倾向于 MJPEG 路径,请传入 --mjpeg。

在拒绝服务端装饰的 Wayland 合成器(GNOME/mutter)上,ioscpy 会自动回退到 X11/XWayland,以便窗口获得正常的标题栏。传入 --wayland 可保持使用原生 Wayland。

Windows

目前还没有 Windows 的预构建版本。需要从源码构建主机端。设备端软件包与 macOS 和 Linux 相同,从 Sileo/Zebra 软件源安装。

Windows 上的 ioscpy 复用 iOS 环境已有的 USB 工具,并且不会替换任何驱动程序,因此 Frida、objection、grapefruit、ideviceinfo、iTunes 以及任何其他 usbmux 工具在它运行时都能继续工作。

1. USB 栈

  • Apple Mobile Device Support:从 apple.com 下载的 iTunes 安装(获取 Apple 官网版本,而非 Microsoft Store 版本),或独立的 AMDS 软件包。它提供 USB 驱动和 usbmuxd。iTunes 必须能识别手机。

  • libimobiledevice-win32:提供 iproxy.exe、idevice_id.exe、ideviceinfo.exe。使用 Scoop 安装:

    scoop install libimobiledevice
    

    或使用 MSYS2:

    pacman -S mingw-w64-x86_64-libimobiledevice
    

    确保这三个 .exe 文件在你的 PATH 中(或将它们放在 ioscpy.exe 旁边)。使用 idevice_id -l 检查,它应打印出你的设备 UDID。

2. 构建工具链

  • Rust 及 MSVC 工具链:从 rustup.rs 安装。
  • Visual Studio Build Tools 及 C++ 工作负载(openh264 解码器通过 cc 编译一个小型 C 库)。
  • nasm 在 PATH 中:openh264 的汇编器(scoop install nasm)。

3. 构建并运行

git clone https://github.com/lautarovculic/ioscpy
cd ioscpy
cargo build --release --manifest-path host/Cargo.toml
.\host\target\release\ioscpy.exe --list      # confirms the device is seen
.\host\target\release\ioscpy.exe             # opens the mirror window

如果你更倾向于 MJPEG 路径而非 H.264,请传入 --mjpeg。如果 openh264 构建失败,请确认 nasm 在 PATH 中。

首次触摸

在重新启动 SpringBoard 或新连接后,在从主机端驱动手机之前,请先在手机屏幕上进行一次物理触摸。iOS 只信任来自真实数字化仪的触摸事件,因此第一次真实触摸是让注入事件得以通过的关键。你只需操作一次,之后主机端即可接管。

控制

  • 鼠标:单击即点按,单击并拖动即滑动。
  • 输入:按键会发送到焦点字段,支持任何 Mac 键盘布局。重音符号和表情符号通过剪贴板传输。
  • Esc:返回。
  • Cmd+J、Cmd+L、Cmd+T、Cmd+R:主屏幕、锁定、应用切换器、旋转。
  • Cmd+A、Cmd+C、Cmd+V、Cmd+X、Cmd+Z:全选、复制、粘贴、剪切、撤销。剪贴板双向同步,因此在手机上按 Cmd+C 会传到 Mac。
  • Enter、Backspace、Tab、方向键:对应的编辑按键。

在 Linux 和 Windows 上,请使用 Ctrl 代替 Cmd 来执行这些快捷键(Ctrl+C、Ctrl+V 等);剪贴板仍然双向同步。

旋转手机会旋转并调整镜像窗口的大小。

测试环境

主机:

  • Debian, KDE/Wayland
  • Ubuntu 26.04, GNOME/Wayland
  • Arch Linux, BSPWM
  • Windows 11 x64

设备:

布局设备iOS注入
roothideiPhone11,215.5ElleKit
roothideiPhone10,416.7.12ElleKit
roothideiPhone10,316.7.10ElleKit
roothideiPhone1416.3-------
rootlessiPhone1315.5ElleKit

ioscpy 在上述设备上开发和测试。我没有 rootful 设备或所有 iOS 版本,因此按布局的覆盖并不完整:

布局状态
rootless可构建;通过 /var/jb 在 roothide 设备上运行
roothide正常工作(通过 /var/jb 的 rootless .deb)
rootful可构建且布局已验证;运行时未测试

如果你在不同的 iPhone、iOS 版本或越狱环境上运行 ioscpy,请帮助补充此表。尤其需要测试 rootful 和其他 iOS 版本。

  • 如果运行成功,请添加一行包含你的设备、iOS 版本、布局和注入框架,并提交拉取请求。
  • 如果失败,请提交一个包含足够细节以便修复的 issue:
    • iPhone 型号和 iOS 版本
    • 越狱和布局(Dopamine、palera1n rootless 或 rootful、roothide)
    • 注入框架(ElleKit、Substitute、Substrate)
    • ioscpy --debug 的输出
    • 出了什么问题(屏幕、触摸、键盘、剪贴板、安装等)

目录结构

host/       Rust host CLI (macOS, Linux, and Windows)
device/     iOS package (Theos): daemon, ctl, tweak, jbcompat, packaging
protocol/   wire format docs, kept in lockstep with the code
scripts/    device deploy, respring, log, and diagnostics helpers
docs/       architecture, jailbreak compatibility, troubleshooting, release

构建

make host-release        # macOS host binary
make device-rootless     # rootless .deb (Dopamine, palera1n-rootless, /var/jb)
make device-rootful      # rootful .deb (palera1n-rootful, /)
make release             # host plus both device variants

需要 Rust、Theos($THEOS)、libimobiledevice(idevice_id、iproxy)、ldid 和 dpkg-deb。

适用范围

ioscpy 用于在同一张桌子上,通过 USB 线缆,从你的 Mac 和 Linux(Debian、Ubuntu 和 Arch Linux)设备控制你自己的已越狱 iPhone。

对于 Linux 主机,与 macOS 相同的外部要求:libimobiledevice 工具(iproxy、idevice_id、ideviceinfo)和 usbmuxd。

它现在也能在 Windows 上运行,复用标准的 iOS USB 工具而不替换任何驱动程序。它仍然仅适用于已越狱的 iPhone。

下载工具