
Теперь вы можете зеркалировать экран и управлять своим взломанным iPhone через USB
ioscpy работает (зарезервировано, автор реализует полностью)ioscpy беспроводным (BLE, Wi-Fi) (зарезервировано, автор реализует полностью)Интерфейс командной строки для macOS, Linux и Windows, который зеркалирует и управляет джейлбрейкнутым iPhone через USB.
Если подключено одно устройство, этого достаточно. Оно подключается самостоятельно.
Есть две стороны. Приложение на Mac запускает зеркало, пакет на iPhone позволяет управлять телефоном. Установите оба.
На Mac с помощью Homebrew:
brew tap lautarovculic/ioscpy # приложение для Mac
brew trust lautarovculic/ioscpy
brew install ioscpy
ioscpy --version
На джейлбрейкнутом iPhone добавьте этот репозиторий в Sileo или Zebra, затем установите ioscpy из него и сделайте respring:
https://lautarovculic.github.io/ioscpy-repo/
В репозитории представлены сборки как rootless, так и rootful, а менеджер пакетов выбирает ту, которая соответствует джейлбрейку.
ioscpy --device <UDID> # выбрать устройство, если подключено несколько
ioscpy --list # список подключённых устройств
ioscpy --no-keyboard # скрыть экранную клавиатуру, вводить текст с Mac
ioscpy --mjpeg # принудительно использовать MJPEG видео вместо H.264 по умолчанию
ioscpy --debug # полная диагностика
ioscpy --version
Готовой сборки для Linux пока нет. Соберите хост из исходников. Пакет для устройства такой же, как на macOS, устанавливается из репозитория Sileo/Zebra выше.
Клонируйте этот репозиторий, затем запустите установщик:
./install.sh
--yes пропускает подтверждения. --prefix DIR устанавливает в DIR вместо /usr/local и опускает sudo, если каталог находится в $HOME. --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 # должно показать UDID при подключённом телефоне
Соберите хост от имени своего пользователя, затем установите:
make host-release
sudo make install-host # устанавливается в /usr/local/bin/ioscpy
ioscpy --version
./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
Шаг сборки выполняется от имени вашего пользователя, чтобы был найден cargo, установленный через rustup. install-host — это отдельная цель, которая просто копирует собранный бинарный файл, поэтому она работает под sudo без необходимости иметь cargo в PATH для root. Для установки без 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 пока нет. Соберите хост из исходников. Пакет для устройства такой же, как на macOS и Linux, устанавливается из репозитория Sileo/Zebra.
ioscpy на Windows использует существующие инструменты USB, которые уже есть в iOS, и не заменяет никакие драйверы, поэтому Frida, objection, grapefruit, ideviceinfo, iTunes и любые другие инструменты usbmux продолжают работать во время его выполнения.
Apple Mobile Device Support: устанавливается вместе с iTunes с apple.com (скачайте сборку с сайта 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 вашего устройства.
openh264 компилирует небольшую библиотеку на C через cc).PATH: ассемблер для openh264 (scoop install nasm).git clone https://github.com/lautarovculic/ioscpy
cd ioscpy
cargo build --release --manifest-path host/Cargo.toml
.\host\target\release\ioscpy.exe --list # подтверждает, что устройство видно
.\host\target\release\ioscpy.exe # открывает окно зеркала
Используйте --mjpeg, если предпочитаете путь MJPEG вместо H.264. Если openh264 не собирается, убедитесь, что nasm есть в PATH.
После respring или нового подключения один раз физически коснитесь экрана телефона, прежде чем управлять им с хоста. iOS доверяет только событиям касания, поступающим от реального дигитайзера, поэтому это первое реальное касание позволяет пропустить инжектируемые. Вы делаете это один раз, затем хост берёт управление.
На Linux и Windows используйте Ctrl вместо Cmd для этих сочетаний (Ctrl+C, Ctrl+V и т.д.); буфер обмена по-прежнему синхронизируется в обе стороны.
Поворот телефона поворачивает и изменяет размер зеркала.
Хосты:
Устройства:
ioscpy разрабатывается и тестируется на указанных выше устройствах. У меня нет rootful-устройства или каждой версии iOS под рукой, поэтому покрытие по макету неполное:
| макет | статус |
|---|---|
| rootless | собирается; работает на roothide через /var/jb |
| roothide | работает (rootless .deb через /var/jb) |
| rootful | сборка и макет проверены; во время выполнения не тестировалось |
Если вы запускаете ioscpy на другом iPhone, версии iOS или джейлбрейке, пожалуйста, помогите заполнить эту таблицу. Особенно нуждаются в тестировании rootful и другие версии iOS.
ioscpy --debughost/ 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
make device-rootless # rootless .deb (Dopamine, palera1n-rootless, /var/jb)
make device-rootful # rootful .deb (palera1n-rootful, /)
make release # хост плюс оба варианта для устройства
Требуется Rust, Theos ($THEOS), libimobiledevice (idevice_id, iproxy), ldid и dpkg-deb.
ioscpy предназначен для управления вашим собственным джейлбрейкнутым iPhone с Mac и Linux (Debian, Ubuntu и Arch Linux) через USB-кабель, на одном рабочем столе.
Для хостов на Linux те же внешние требования, что и для macOS: инструменты libimobiledevice (iproxy, idevice_id, ideviceinfo) и usbmuxd.
Теперь он работает и на Windows, используя стандартные инструменты iOS USB без замены каких-либо драйверов. Он по-прежнему предназначен ТОЛЬКО для джейлбрейкнутых iPhone.
| макет | устройство | iOS | инъекция |
|---|
| roothide | iPhone11,2 | 15.5 | ElleKit |
| roothide | iPhone10,4 | 16.7.12 | ElleKit |
| roothide | iPhone10,3 | 16.7.10 | ElleKit |
| roothide | iPhone14 | 16.3 | ------- |
| rootless | iPhone13 | 15.5 | ElleKit |