
Agora você pode espelhar e controlar seu iPhone com jailbreak via USB.
ioscpy está em execução (Reservado, o Autor implementará isso completamente)ioscpy sem fio (BLE, Wi-Fi) (Reservado, o Autor implementará isso completamente)Um CLI para macOS, Linux e Windows que espelha e controla um iPhone com jailbreak via USB.
Com apenas um dispositivo conectado, é tudo que você precisa. Ele se conecta sozinho.
Existem duas partes. O app do Mac executa o espelhamento; o pacote do iPhone permite que o telefone seja controlado. Instale ambos.
No Mac, com o Homebrew:
brew tap lautarovculic/ioscpy # the Mac app
brew trust lautarovculic/ioscpy
brew install ioscpy
ioscpy --version
No iPhone com jailbreak, adicione este repositório no Sileo ou Zebra e instale o ioscpy a partir dele e faça respring:
https://lautarovculic.github.io/ioscpy-repo/
O repositório contém versões rootless e rootful, e o gerenciador de pacotes escolhe a que corresponde ao jailbreak.
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 --debug # full diagnostics
ioscpy --version
Ainda não há uma versão pré-compilada para Linux. Compile o host a partir do código-fonte. O pacote do dispositivo é o mesmo do macOS, instalado a partir do repositório Sileo/Zebra acima.
Clone este repositório e execute o instalador:
./install.sh
--yes pula as solicitações de confirmação. --prefix DIR instala em DIR em vez de /usr/local e dispensa o sudo quando o diretório está sob $HOME. --uninstall remove o binário instalado.
Pré-requisitos no 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
Garanta que o usbmuxd esteja em execução para que o dispositivo apareça:
sudo systemctl enable --now usbmuxd
idevice_id -l # should print the UDID with the phone attached
Compile o host como seu usuário e depois instale:
make host-release
sudo make install-host # installs to /usr/local/bin/ioscpy
ioscpy --version
O ./install.sh também funciona no Arch Linux.
sudo pacman -S --needed \
base-devel pkgconf nasm \
libimobiledevice usbmuxd \
libxkbcommon wayland libxcb libxkbcommon-x11 \
rustup curl git
rustup default stable
Ative o serviço
sudo systemctl enable --now usbmuxd.service
Verifique se o dispositivo está conectado
idevice_id -l
Em seguida, execute o binário
cd host/target/release && chmod +x ioscpy
./ioscpy
A etapa de compilação é executada como seu usuário, para que um cargo instalado via rustup seja encontrado. install-host é um alvo separado que apenas copia o binário compilado, então ele roda normalmente com sudo sem precisar de cargo no PATH do root. Para uma instalação sem sudo no seu diretório pessoal, use make install-host PREFIX=$HOME/.local e certifique-se de que $HOME/.local/bin esteja no seu PATH.
A decodificação H.264 funciona no Linux por meio do decodificador de software openh264. Passe --mjpeg se preferir o caminho MJPEG.
Em compositores Wayland que recusam decorações do lado do servidor (GNOME/mutter), o ioscpy volta automaticamente para X11/XWayland para que a janela tenha uma barra de título normal. Passe --wayland para permanecer no Wayland nativo.
Ainda não há uma versão pré-compilada para Windows. Compile o host a partir do código-fonte. O pacote do dispositivo é o mesmo do macOS e do Linux, instalado a partir do repositório Sileo/Zebra.
O ioscpy no Windows reutiliza as ferramentas USB que uma configuração de iOS já possui e não substitui nenhum driver, portanto Frida, objection, grapefruit, ideviceinfo, iTunes e qualquer outra ferramenta usbmux continuam funcionando enquanto ele está em execução.
Apple Mobile Device Support: instalado com o iTunes do site da Apple (use a versão do site da Apple, não a da Microsoft Store) ou com o pacote AMDS autônomo. Isso fornece o driver USB e o usbmuxd. O iTunes deve ver o telefone.
libimobiledevice-win32: fornece iproxy.exe, idevice_id.exe, ideviceinfo.exe. Instale com o Scoop:
scoop install libimobiledevice
ou com o MSYS2:
pacman -S mingw-w64-x86_64-libimobiledevice
Garanta que os três arquivos .exe estejam no seu PATH (ou coloque-os ao lado do ioscpy.exe). Verifique com idevice_id -l, que deve mostrar o UDID do seu dispositivo.
openh264 compila uma pequena biblioteca C por meio do cc).PATH: o montador do 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 # confirms the device is seen
.\host\target\release\ioscpy.exe # opens the mirror window
Passe --mjpeg se preferir o caminho MJPEG em vez de H.264. Se o openh264 falhar ao compilar, confirme se o nasm está no PATH.
Após um respring ou uma nova conexão, dê um toque físico na tela do telefone antes de controlá-lo pelo host. O iOS só confia em eventos de toque que vêm do digitalizador real, então esse primeiro toque real é o que permite que os toques injetados passem. Você faz isso uma vez e o host assume o controle.
No Linux e no Windows, use Ctrl no lugar de Cmd para esses atalhos (Ctrl+C, Ctrl+V e assim por diante); a área de transferência continua sincronizando nos dois sentidos.
Ao girar o telefone, o espelhamento gira e é redimensionado.
Hosts:
Dispositivos:
| layout | dispositivo | iOS | injeção |
|---|---|---|---|
| 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 |