
New releaseSep 12, 2026
ipsw v3.1.716
iOS/macOS 연구용 스위스 아미 나이프
ipsw
iOS/macOS 리서치 스위스 아미 나이프
ipsw이란 무엇인가요? 🤔
ipsw는 iOS 및 macOS를 위한 포괄적인 커맨드라인 리서치 프레임워크입니다. 보안 연구원, 리버스 엔지니어, 탈옥 개발자, iOS 애호가를 위해 Apple 펌웨어를 다운로드하고, 파싱하고, 분석하며 iOS 기기와 상호작용할 수 있는 광범위한 도구 키트를 제공합니다.
핵심 기능
- 📱 IPSW/OTA 분석 - iOS 펌웨어 파일 다운로드, 추출 및 분석
- 🔍 바이너리 분석 - ARM 디스어셈블리 및 AI 지원을 포함한 고급 Mach-O 파싱
- 🧠 dyld_shared_cache - ObjC/Swift 클래스 덤핑을 포함한 완전한 공유 캐시 분석
- 🔧 커널 분석 - Kernelcache 파싱, 시스템 콜 추출 및 심볼리케이션
- 📲 기기 상호작용 - 포괄적인 iOS 기기 관리 및 디버깅
- 🔐 펌웨어 리서치 - IMG4, iBoot, SEP 및 코프로세서 펌웨어 분석
- 🏪 App Store Connect - 앱 및 인증서 관리를 위한 전체 API 통합
- 🛠️ 개발자 도구 - SSH, Frida, 디버깅 및 리버스 엔지니어링 유틸리티
빠른 시작
설치
macOS
blacktop tap 사용 (추가 기능 포함)
brew install blacktop/tap/ipsw
공식 Homebrew formula 사용
brew install ipsw
Linux
sudo snap install ipsw
Windows
scoop bucket add blacktop https://github.com/blacktop/scoop-bucket.git
scoop install blacktop/ipsw
기본 사용법
# 최신 iOS IPSW 다운로드
ipsw download ipsw --device iPhone16,1 --latest
# kernelcache 추출
ipsw extract --kernel iPhone16,1_18.2_22C150_Restore.ipsw
# dyld_shared_cache 분석
ipsw dyld info /path/to/dyld_shared_cache_arm64
# 기기 정보 확인
ipsw idev list
주요 기능
📱 IPSW 및 OTA 관리
- 다운로드 소스: Apple, AppleDB, Developer Portal, RSS 피드, GitHub, iTunes, Wikipedia
- 파일 유형: IPSW, OTA, macOS 설치 프로그램, Xcode, KDK, PCC 파일
- 작업: 추출, 비교, 마운트, 메타데이터 분석
ipsw download ipsw --device iPhone16,1 --latest
ipsw extract --kernel iPhone16,1_18.2_22C150_Restore.ipsw
ipsw diff iPhone16,1_18.1_22B83_Restore.ipsw iPhone16,1_18.2_22C150_Restore.ipsw
🔍 바이너리 분석 및 리버스 엔지니어링
- Mach-O 파싱: 심볼 추출을 포함한 완전한 바이너리 분석
- ARM 디스어셈블리: AI 기반 분석을 지원하는 ARM v9-a 디스어셈블러
- 코드 서명: 서명 검증, entitlements 분석
- 바이너리 패칭: 패치 추가, 수정 또는 제거
ipsw macho info /path/to/binary
ipsw macho disass /path/to/binary --symbol _main
ipsw macho search /path/to/binary --string "password"
🧠 dyld_shared_cache 분석
- 캐시 파싱: 완전한 공유 캐시 구조 추출 및 분석
- ObjC 분석: 클래스 덤프, 메서드 분석, 프로토콜 파싱
- Swift 지원: Swift 클래스 덤핑 및 분석 (실험적)
- 심볼 관리: 심볼 추출 및 주소 해석
ipsw dyld info /path/to/dyld_shared_cache
ipsw dyld extract /path/to/dyld_shared_cache --dylib Foundation
ipsw dyld objc class /path/to/dyld_shared_cache --class NSString
📲 iOS 기기 상호작용 (idev)
- 파일 시스템: AFC를 통한 파일 탐색 및 전송
- 앱 관리: 애플리케이션 설치, 제거 및 분석
- 백업 및 복원: 완전한 기기 백업 작업
- 개발: 개발자 이미지 마운트, 로그 캡처, 패킷 캡처
- 진단: 배터리 정보, 크래시 로그, 시스템 진단
ipsw idev list
ipsw idev afc ls /
ipsw idev apps ls
ipsw idev backup create
ipsw idev syslog
🔐 펌웨어 및 보안 분석
- IMG4: Image4 형식 파일 파싱 및 복호화
- iBoot: 부트로더 분석 및 리서치
- SEP: Secure Enclave Processor 펌웨어 분석
- AEA: Apple Encrypted Archives 복호화
- 코프로세서: AOP, DCP, GPU, 카메라 펌웨어 분석
ipsw img4 dec iBoot.img4
ipsw fw sep iPhone16,1_18.2_22C150_Restore.ipsw
ipsw fw iboot iPhone16,1_18.2_22C150_Restore.ipsw
🏪 App Store Connect 통합
- 인증서 관리: iOS/macOS 인증서 및 프로파일
- 기기 등록: 개발 기기 관리
- 앱 관리: Bundle ID, 기능 및 리뷰
- 프로비저닝: 완전한 프로비저닝 프로파일 수명주기
ipsw appstore cert ls
ipsw appstore device reg --name "My Device" --udid 1234567890
ipsw appstore profile create --name "Development Profile"
🛠️ 고급 리서치 도구
- 심볼리케이션: 크래시 로그 분석 및 심볼 해석
- 클래스 덤핑: ObjC 및 Swift 클래스 추출
- SSH 액세스: debugserver를 통한 탈옥 기기 SSH
- Frida 통합: 동적 계측 기능
- AI 기반 디컴파일러: Claude, OpenAI, Gemini, Ollama 및 OpenRouter 통합
ipsw symbolicate crash.ips --dsym /path/to/symbols
ipsw class-dump /path/to/binary
ipsw ssh debugserver
아키텍처
ipsw는 두 가지 주요 구성 요소로 이루어져 있습니다:
ipsw- 완전한 분석 기능을 갖춘 메인 CLI 도구ipswd- 원격 작업 및 자동화를 위한 REST API 데몬
설정
ipsw는 YAML 설정 파일과 환경 변수를 지원합니다:
# 설정 디렉토리 생성
mkdir -p ~/.config/ipsw
# 예제 설정 복사
cp config.example.yml ~/.config/ipsw/config.yaml
데이터베이스 지원
- SQLite (기본값) - 로컬 저장
- PostgreSQL - 프로덕션 배포
AI 디컴파일러
❱ ipsw macho disass /System/Library/PrivateFrameworks/ApplePushService.framework/apsd --entry \
--dec --dec-model "Claude 3.7 Sonnet"
• 심볼 캐시 파일 로딩 중...
• 디컴파일 중... 🕒
int main(int argc, char *argv[]) {
@autoreleasepool {
__set_user_dir_suffix(@"com.apple.apsd");
@autoreleasepool {
APSDaemon *daemon = [[APSDaemon alloc] init];
if (daemon) {
NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
[runLoop run];
[runLoop release];
}
[daemon release];
}
return 0;
}
@catch (NSException *exception) {
if ([exception reason] == 1) {
id exceptionObj = [exception retain];
id logger = [APSLog daemon];
if (_os_log_type_enabled(logger, 0x11)) {
[exceptionObj logWithLogger:logger];
}
[logger release];
[exceptionObj release];
}
}
}
사용 사례
보안 리서치
- 취약점 분석 및 익스플로잇 개발
- 펌웨어 보안 평가
- 바이너리 리버스 엔지니어링
탈옥 개발
- 부트체인 분석 및 익스플로잇
- 커널 익스텐션 리서치
- 시스템 수정 및 패칭
iOS 개발
- 앱 디버깅 및 분석
- 인증서 및 프로비저닝 관리
- 기기 테스트 및 자동화
디지털 포렌식
- 기기 데이터 추출 및 분석
- 타임라인 재구성
- 아티팩트 분석
요구 사항
- Go: 1.26+ (소스에서 빌드 시)
- 플랫폼: macOS, Linux, Windows
- USB: 기기 상호작용을 위한 libusb
- 선택 사항: 향상된 분석을 위한 AI API 키
문서
- 웹사이트: https://blacktop.github.io/ipsw
- API 문서:
ipswd실행 시/docs에서 REST API 문서 확인 가능 - 예제: 문서에 포함된 포괄적인 사용 예제
SKILL.md
ipsw 슈퍼 파워로 AI 에이전트를 강화하세요
npx skills add https://github.com/blacktop/ipsw-skill --skill ipsw
🆕 AI 기반 위키
AI를 사용하여 저장소에 대해 질문하세요:
[!WARNING] AI 응답에는 환각이 포함될 수 있습니다 - 중요한 정보는 검증하세요.
커뮤니티 리소스
📊 IPSW 비교
사전 계산된 펌웨어 차이점: ipsw-diffs
💬 커뮤니티
기여
기여를 환영합니다! 지침은 CONTRIBUTING.md를 참조하세요.
개발
git clone https://github.com/blacktop/ipsw.git
cd ipsw
make build
알려진 문제
- macOS IPSW 지원: 일부 macOS 펌웨어 작업에서 호환성 문제가 발생할 수 있음
- 테스트: 다양한 펌웨어 버전과 기기 유형으로 인해 포괄적인 테스트가 어려움
- 리소스 집약적: 일부 작업은 상당한 메모리와 처리 능력이 필요함
문제가 발생하면 이슈를 생성하세요 - 수정이 우선 처리됩니다! 포괄적인 테스트 스위트는 향후 릴리스에서 계획되어 있습니다.
크레딧
다음 분들께 큰 감사를 드립니다:
- 전설적인 도구와 포괄적인 iOS 내부 문서를 제공한 Jonathan Levin
- 지속적인 혁신과 지식 공유를 해주는 iOS 리서치 커뮤니티
- 이 프로젝트를 더 나은 프로젝트로 만드는 데 기여한 모든 기여자들
라이선스
MIT 라이선스 - 자세한 내용은 LICENSE를 참조하세요.