Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ioscpy — 이제 USB를 통해 탈옥된 아이폰을 미러링하고 제어할 수 있습니다. | Kitploit
도구/GitHubGitHub/lautarovculic/ioscpy
iOS SecurityInformation GatheringPenetration TestingMobile SecurityRed TeamingRemote Access Tool
GitHublautarovculic/ioscpy

ioscpy

이제 USB를 통해 탈옥된 아이폰을 미러링하고 제어할 수 있습니다.

저장소 보기
17221595일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

ioscpy

ToDo

  • https://github.com/lautarovculic/ioscpy/issues/7
  • Research: Providing support for Windows with a GUI as well, installer (Reserved, Author will implement this fully)
  • Add Authentication & Authorization, also a notifiation in device that ioscpy is running (Reserved, Author will implement this fully)
  • Make ioscpy wireless (BLE, Wi-Fi) (Reserved, Author will implement this fully)
  • Custom Buttons Actions (Macros) (In phases, concept coming soon)

macOS, Linux, Windows용 CLI로, USB로 연결된 탈옥된 iPhone을 미러링하고 제어합니다.

기기가 하나 연결되어 있으면 그걸로 충분합니다. 스스로 연결됩니다.

ioscpy demo

설치

두 가지 측면이 있습니다. Mac 앱은 미러링을 실행하고, iPhone 패키지는 폰이 제어되도록 합니다. 둘 다 설치하세요.

Mac에서는 Homebrew로:

brew tap lautarovculic/ioscpy   # the Mac app
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>   # 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 스트림이 파일에 그대로 mux되므로, 아무것도 재인코딩되지 않고 녹화 비용은 프레임당 버퍼링된 쓰기뿐입니다. 창은 이전과 같은 반응성을 유지합니다. 스트림에는 오디오가 없으므로 녹화물은 무음입니다. 재연결 시 끊긴 세션이 기록한 파일을 덮어쓰는 대신 새 파일 (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은 /usr/local 대신 DIR에 설치하며, 디렉터리가 $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는 빌드된 바이너리를 복사하기만 하는 별도의 타깃이므로, root의 PATH에 cargo가 없어도 sudo 아래에서 잘 실행됩니다. 홈 디렉터리에 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 라이브러리를 컴파일합니다).
  • PATH에 nasm: 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

H.264 대신 MJPEG 경로를 선호하면 --mjpeg를 전달하세요. openh264 빌드가 실패하면 nasm이 PATH에 있는지 확인하세요.

첫 터치

respring 또는 새 연결 후에는 호스트에서 조작하기 전에 폰 화면을 한 번 물리적으로 탭하세요. 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에서는 이 단축키에 Cmd 대신 Ctrl을 사용하세요(Ctrl+C, Ctrl+V 등). 클립보드는 여전히 양방향으로 동기화됩니다.

폰을 회전하면 미러가 회전하고 크기가 조정됩니다.

테스트 환경

호스트:

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

기기:

layoutdeviceiOSinjection
roothideiPhone11,215.5ElleKit
roothideiPhone10,416.7.12ElleKit
roothideiPhone10,316.7.10ElleKit
roothideiPhone1416.3-------
rootlessiPhone1315.5ElleKit

ioscpy는 위 기기에서 개발 및 테스트되었습니다. rootful 기기나 모든 iOS 버전을 가지고 있지 않으므로, 레이아웃별 커버리지는 불완전합니다:

layoutstatus
rootlessbuilds; runs on the roothide unit via /var/jb
roothideworking (rootless .deb via /var/jb)
rootfulbuilds and layout validated; runtime not tested

다른 iPhone, iOS 버전 또는 탈옥에서 ioscpy를 실행한다면, 이 정보를 채우는 데 도움을 주세요. 특히 rootful 및 기타 iOS 버전은 테스트가 필요합니다.

  • 작동한다면, 기기, iOS 버전, 레이아웃, 주입 프레임워크를 포함한 행을 추가하고 풀 리퀘스트를 열어주세요.
  • 실패한다면, 수정할 수 있을 만큼 충분한 세부 정보와 함께 이슈를 열어주세요:
    • 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는 자신의 탈옥된 iPhone을 Mac 및 Linux(Debian, Ubuntu, Arch Linux) 기기에서 USB 케이블로, 같은 책상 위에서 제어하기 위한 것입니다.

도구 다운로드