역공학으로 구현한 프로토콜 호환성을 바탕으로 Wi-Fi에서 Apple AirDrop으로 파일을 보내고 받는 오픈소스 Python CLI 도구입니다.
blacktop/ipsw
IPSW/OTA 다운로드, Mach-O 및 dyld 캐시 분석, kernelcache, 연결된 iOS 기기 작업을 지원하는 Apple 펌웨어 연구용 CLI 툴킷입니다.
- 스타
- 3,871
- 포크
- 326
- 열린 이슈
- 23
- 마지막 커밋
- 4시간 전
어떤 프로젝트인가요?
ipsw는 Apple 펌웨어와 운영체제 내부를 살펴보는 연구자를 위한 Go 기반 CLI 툴킷입니다. iOS와 macOS용 IPSW 및 OTA 펌웨어 패키지를 다운로드하고 압축을 풀 수 있으며, macOS 설치 프로그램, Xcode, KDK도 가져올 수 있습니다.
펌웨어를 확보한 뒤에는 Mach-O 바이너리를 검사하고 ARM64 코드를 디스어셈블하며 dyld 공유 캐시를 다룰 수 있습니다. dylib 추출, Objective-C 헤더 덤프, Swift 메타데이터 읽기도 지원합니다. 커널 관련 기능으로는 KEXT 추출, syscall과 심볼 목록 조회, 빌드 간 kernelcache 비교가 있습니다.
CLI는 연결된 iOS 기기와 통신해 앱 목록을 확인하고, AFC로 파일을 전송하고, syslog를 캡처하고, 개발자 이미지를 마운트할 수도 있습니다. 그 밖에 IMG4 파싱, AEA 복호화, 크래시 로그 심볼리케이션, 선택적 LLM 지원 디컴파일 기능도 제공합니다. 별도의 ipswd 데몬은 자동화를 위한 REST API를 제공합니다.
핵심 기능
- 01명령줄에서 IPSW, OTA, macOS 설치 프로그램, Xcode, KDK를 다운로드합니다.
- 02Mach-O 로드 명령, 심볼, 서명, entitlements를 검사하고 ARM64 코드를 디스어셈블합니다.
- 03dyld 공유 캐시에서 dylib를 추출하고 Objective-C 헤더를 덤프합니다.
- 04KEXT를 추출하고 펌웨어 빌드 간 kernelcache를 비교합니다.
- 05연결된 iOS 기기의 앱 목록을 확인하고, 파일을 전송하고, 로그를 캡처합니다.
- 06ipswd 데몬을 통해 자동화용 REST API를 제공합니다.
활용 사례
- 새 iOS 펌웨어 릴리스에서 kernelcache를 추출해 분석하기.
- dyld 공유 캐시에서 비공개 프레임워크의 Objective-C 헤더를 덤프하기.
- 펌웨어 빌드 두 개를 비교해 변경된 구성 요소 확인하기.
- 디버깅이나 보안 연구 중 iOS 크래시 로그를 심볼리케이션하기.
빠른 시작
- 1
Homebrew로 macOS에 설치 (extras 빌드)
brew install blacktop/tap/ipsw - 2
snap으로 Linux에 설치
sudo snap install ipsw - 3
iPhone 15 Pro용 최신 IPSW 다운로드
ipsw download ipsw --device iPhone16,1 --latest
사용 전 알아둘 점
- 일부 명령은 호스트 OS 또는 빌드 변형에 따라 달라지며, Frida를 지원하려면 별도의 빌드가 필요합니다.
- 소스에서 빌드하려면 Go 1.26 이상과 CGO용 C 툴체인이 필요합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- ipsw은(는) 무엇인가요?
- IPSW/OTA 다운로드, Mach-O 및 dyld 캐시 분석, kernelcache, 연결된 iOS 기기 작업을 지원하는 Apple 펌웨어 연구용 CLI 툴킷입니다. ipsw는 Apple 펌웨어와 운영체제 내부를 살펴보는 연구자를 위한 Go 기반 CLI 툴킷입니다. iOS와 macOS용 IPSW 및 OTA 펌웨어 패키지를 다운로드하고 압축을 풀 수 있으며, macOS 설치 프로그램, Xcode, KDK도 가져올 수 있습니다.
- ipsw은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- ipsw은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- ipsw은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. ipsw의 마지막 커밋은 2026년 11월 7일입니다.
- ipsw은(는) 어디에 사용할 수 있나요?
- 새 iOS 펌웨어 릴리스에서 kernelcache를 추출해 분석하기. dyld 공유 캐시에서 비공개 프레임워크의 Objective-C 헤더를 덤프하기. 펌웨어 빌드 두 개를 비교해 변경된 구성 요소 확인하기. 디버깅이나 보안 연구 중 iOS 크래시 로그를 심볼리케이션하기.
- ipsw는 어떻게 설치하나요?
- Homebrew로 macOS에 설치 (extras 빌드): brew install blacktop/tap/ipsw snap으로 Linux에 설치: sudo snap install ipsw iPhone 15 Pro용 최신 IPSW 다운로드: ipsw download ipsw --device iPhone16,1 --latest
- ipsw은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/blacktop/ipsw
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
ELF, PE, Mach-O 및 Android 실행 파일 형식을 파싱·수정·추상화하는 C++ 라이브러리로, Python 및 Rust 바인딩을 제공합니다.
QEMU 기반의 iOS, macOS, visionOS용 풀 시스템 에뮬레이터이자 가상 머신 호스트로, Windows와 Linux 등 다양한 운영체제를 실행합니다.
파일 안에 포함된 파일과 데이터를 식별하고 선택적으로 추출하는 Rust 기반 펌웨어 분석 도구입니다.