본문으로 바로가기

페어플레이(Fairplay) DRM 이란?

- 앱(어플)의 바이너리 파일을 암호화하여 분석 및 변조가 어렵도록 하는 것.
- 앱 스토어(App Store)에서 다운로드한 앱은 모두 페이플레이 DRM으로 암호화되어 있음.
- 페어플레이 DRM 적용여부는 Otool 도구를 이용하여 확인 가능.

- 페어플레이 DRM이 복호화될 경우 작동방식 및 내부 클래스 구조등을 쉽게 파악하게 되어 보안기능을 우회할 수 있음.

 

페어플레이 DRM 복호화 방법

1. CRACKERXI+

복호화 과정이 매우 쉬움. 아래의 링크 참조.

2023.02.26 - [Mobile App 취약점 진단/iOS App 진단] - 페어플레이 DRM 복호화 방법 - CRACKERXI+

 

페어플레이 DRM 복호화 방법 - CRACKERXI+

페어플레이(Fairplay) DRM 이란? - 앱(어플)의 바이너리 파일을 암호화하여 분석 및 변조가 어렵도록 하는 것. - 앱 스토어(App Store)에서 다운로드한 앱은 모두 페이플레이 DRM으로 암호화되어 있음. -

hagsig.tistory.com

 

2. Clutch

복호화 과정이 쉬움. 본문 하단 내용 참조.

 

3. Frida-iOS-Dump.py

복호화 과정이 매우 복잡하고 어려움. 아래의 링크 참조.

2023.02.26 - [Mobile App 취약점 진단/iOS App 진단] - 페어플레이 DRM 복호화 방법 - Frida-iOS-Dump

 

페어플레이 DRM 복호화 방법 - Frida-iOS-Dump

페이플레이(Fairplay) DRM 이란? - 앱(어플)의 바이너리 파일을 암호화하여 분석 및 변조가 어렵도록 하는 것. - 앱 스토어(App Store)에서 다운로드한 앱은 모두 페이플레이 DRM으로 암호화되어 있음. -

hagsig.tistory.com

 

Clutch를 이용한 복호화 방법

3uTools 실행 > Toolbox 클릭 > Open SSH Tunnel 클릭

※ 기본(Default) ID : root / PW : alpine

 

아래의 명령어를 순서대로 입력하여 디바이스 내에 Clutch 설치.

cd /usr/bin
wget https://github.com/KJCracks/Clutch/releases/download/2.0.4/Clutch-2.0.4
chmod 755 ./Clutch-2.0.4

 

아래의 명령어를 이용해 복호화할 수 있는 앱 리스트를 출력.

./Clutch-2.0.4 -i

 

복호화하고 싶은 앱의 번호를 선택. 복호화 진행.

./Clutch-2.0.4 [옵션] [앱 번호]
# 옵션 : b (바이너리 파일 추출)
# 옵션 : d (IPA 파일 추출)

 

추출된 파일은 /private/var/tmp/clutch 경로에 저장됨.