
강력한 Frida 기반 도구로, 탈옥된 기기에서 암호 해독된 iOS 앱을 .ipa로 덤프합니다. App Store, 사이드로드 및 시스템 앱을 지원합니다.
이 프로젝트는 frida-ios-dump에서 영감을 받았습니다.
최근 해당 도구에서 문제가 발생하여, 오늘날 직면하는 문제를 해결하기 위해 더 강력하고 추가 기능이 있는 frida-ipa-extract를 만들기로 결정했습니다.
Frida를 사용하여 탈옥된 iOS 기기에서 복호화된 .ipa를 추출합니다. App Store, 사이드로드, 시스템 앱을 통해 설치된 앱을 지원합니다.
frida-server가 실행 중인 탈옥된 iOS 기기설치:
# Install as a standalone tool using uv or pipx
uv tool install git+https://github.com/lautarovculic/frida-ipa-extract.git
# Or install as an editable package (for development)
pip install -e .
# Using the entry point (if installed as standalone tool)
frida-ipa-extract
# Or using the script directly
python extract.py -U -f com.example.app -o MyApp.ipa
python extract.py -U -f com.example.app -o MyApp.ipa --sandbox
python extract.py -U -f com.example.app -o MyApp.ipa --no-resume
python -m frida_ipa_extract -U --pid 1234 -o MyApp.ipa
./extract.py -U "My Running App"
python extract.py -H 192.168.100.32 -P 2222 -u root -p password -f com.example.app
인자:
-f <target>: 앱 실행 (번들 ID 또는 앱 이름)--pid <pid>: 실행 중인 PID에 연결target (위치 인자): 실행 중인 앱의 앱 이름/번들 ID-o <path>: 출력 IPA 경로 (기본값 <AppName>.ipa)-U: USB로 연결-H <host> -P <port> -u <user> -p <pass>: SSH로 연결 (paramiko)--sandbox: 앱 샌드박스를 현재 디렉토리의 <AppName>-sandbox로 덤프--no-resume: 실행된 앱을 일시 중단 상태로 유지 (계측 시 탈옥 탐지로 인해 앱이 충돌하는 경우 유용)-f 또는 --pid를 전달하지 않으면 도구가 실행 중인 앱에 연결됩니다. 대상이 제공되지 않으면 실행 중인 앱을 나열하고 선택하라는 메시지가 표시됩니다.
-U 없이 SSH를 사용하는 경우 도구는 27042 포트에서 frida-server로 로컬 터널을 열고 SFTP를 사용하여 앱 번들을 다운로드합니다. -U와 -H를 모두 전달하면 USB가 Frida에 사용되고 SSH는 파일 전송에만 사용됩니다.-f를 사용하여 실행하십시오.frida-server가 실행 중인지 확인하십시오.--no-resume 또는 SSH 전송을 사용하십시오.Frida attach timed out: 앱이 연결을 차단할 수 있습니다. -f로 실행하거나 --no-resume을 시도하십시오.script has been destroyed: 앱이 충돌했습니다. --no-resume으로 재시도하거나 SSH 전송(-H/-u/-p)을 사용하십시오.No running apps found: 앱이 실행 중이 아닙니다. -f를 사용하여 실행하십시오.