업데이트로 돌아가기
New releaseSep 12, 2026

ipsw v3.1.716

iOS/macOS 연구용 스위스 아미 나이프

공유

IPSW Logo

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 디컴파일러

https://blacktop.github.io/ipsw/docs/guides/decompiler

❱ 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

💬 커뮤니티

GitHub Discussions

기여

기여를 환영합니다! 지침은 CONTRIBUTING.md를 참조하세요.

개발

git clone https://github.com/blacktop/ipsw.git
cd ipsw
make build

알려진 문제

  • macOS IPSW 지원: 일부 macOS 펌웨어 작업에서 호환성 문제가 발생할 수 있음
  • 테스트: 다양한 펌웨어 버전과 기기 유형으로 인해 포괄적인 테스트가 어려움
  • 리소스 집약적: 일부 작업은 상당한 메모리와 처리 능력이 필요함

문제가 발생하면 이슈를 생성하세요 - 수정이 우선 처리됩니다! 포괄적인 테스트 스위트는 향후 릴리스에서 계획되어 있습니다.

크레딧

다음 분들께 큰 감사를 드립니다:

  • 전설적인 도구와 포괄적인 iOS 내부 문서를 제공한 Jonathan Levin
  • 지속적인 혁신과 지식 공유를 해주는 iOS 리서치 커뮤니티
  • 이 프로젝트를 더 나은 프로젝트로 만드는 데 기여한 모든 기여자들

라이선스

MIT 라이선스 - 자세한 내용은 LICENSE를 참조하세요.

카테고리