과거 IPA를 추출하는 방법은 아이폰 내에서 압축파일 형태로 추출하는 방법이나, CrackerXI를 활용하는 등 다양한 방법이 있었으나 Sileo를 활용하는 최신버전에서는 지원하지 않게 되었다.
이에 2024년 기준 IPA를 추출할 수 있는 방법 두가지를 소개하고자 한다.
1. iMazing
iMazing은 사용자가 모바일 기기와 PC간 파일과 데이터를 손쉽게 전송할 수 있게 도와주는 소프트웨어다.
테스트 환경은 Mac, iMazing 3.0.0 기준으로 작성되었다.
1. 기기를 iMazing에 연결한 후 우측에 위치한 앱 관리로 이동한다.
2. 라이브러리 탭으로 이동한 후 추출하고자 하는 항목에 ". IPA 내보내기"를 시도한다.
3. 추출한 IPA를 .zip로 확장자 변경한 후 내용 확인이 가능한 것을 확인
하지만 iMazing을 활용해 추출하기 위해선 등록한 계정이 AppStore에서 구매한 이력이 있어야 추출이 가능하다.
2. Frida-iOS-dump
IPA를 추출하기 위한 파이썬 도구로 Git hub에서 다운로드할 수 있다.
https://github.com/AloneMonkey/frida-ios-dump
Frida-iOS-dump를 사용하기 위해선 탈옥된 기기와 PC에 Frida가 설치되어 있어야 한다.
1. Frida-iOS-dump를 다운한 후 dump.py를 편집
2. dump.py 파일을 사용자 환경에 맞게 수정해 준다.
User = 'root'
Password = '(비밀번호)'
Host = '(아이폰 IP)'
Port = (포트번호)
KeyFileName = None
3. frida-ios-dump 디렉터리 이동 후 파이썬 모듈을 설치
pip install -r requirements.txt
4. frida 명령어 입력 후 추출하고자 하는 앱의 Identifier를 복사해 준다.
frida-ps -Uai
5. dump.py으로 IPA 추출 시도
python3 dump.py (Identifier)
6. 성공적으로 추출한 것을 확인
7. zip로 확장자 변경 후 내부 확인
iMazing과 달리 Frida-iOS-dump는 계정이 별도로 필요 없으며 환경 구성 후 IPA를 바로 추출할 수 있다.
댓글