ReDyne: iOS 네이티브 디컴파일러 & 리버스 엔지니어링 스위트
프로덕션급 iOS 디컴파일러. Mach-O 바이너리 분석, ARM64 디스어셈블리, 보안 분석, 제어 흐름 그래프 등 15+ 리버스 엔지니어링 도구를 iOS 기기에서 네이티브로 실행.
핵심 특징
| 항목 | 내용 |
|---|---|
| 코드량 | ~38,100 LOC, 빌드 에러/경고 0 |
| 플랫폼 | iOS/iPadOS 네이티브 |
| 성능 | C 기반 파싱 엔진, 바운드 체크 |
| 아키텍처 | ARM64, ARM64e, x86_64 |
주요 기능
Mach-O 분석
- 30+ 로드 커맨드 지원 (LC_MAIN, LC_FUNCTION_STARTS, LC_DYLD_CHAINED_FIXUPS 등)
- iOS 15+ chained fixups, Swift 메타데이터, ARM64e 지원
- Fat/Thin 바이너리 자동 감지
ARM64 디스어셈블러
- 100+ 명령어 타입 (데이터 처리, 로드/스토어, 분기, 논리, SIMD/FP 등)
- 100K 명령어 페이지네이션
- 분기 감지 및 제어 흐름 변경 식별
심볼 디맹글링
- Swift: swift_demangle 사용 (s, _s, _T0, _Tt 접두사)
- C++: __cxa_demangle 사용 (_Z 접두사)
- 맹글드/디맹글드 이름 모두 검색 가능
보안 분석
- 바이너리 하드닝 체크 (PIE, ARC, stack canaries, NX heap/stack, 코드 서명)
- 위험 API 감지 (system, popen, dlopen, exec*, fork, ptrace)
- 취약 함수 감지 (gets, strcpy, strcat, sprintf)
- 위험 엔타이틀먼트 감지 (get-task-allow, task_for_pid-allow)
- 보안 등급: Good / Fair / Concerning / Poor
시각화
- 콜 그래프: 함수 호출 관계 시각화 (Core Graphics)
- 제어 흐름 그래프: 기본 블록 분석, 엣지 분류, 핀치-투-줌
- 헥스 뷰어: 가상 스크롤링, 섹션 컬러 코딩
Swift 메타데이터
- __swift5_types (클래스, 구조체, 열거형)
- __swift5_proto (프로토콜 컨포먼스)
- __swift5_fieldmd (저장 프로퍼티)
크로스 뷰 네비게이션
- 주소 탭 → 디스어셈블리, 헥스, 심볼로 점프
- xref 탭 → 소스/타겟으로 점프
의미
iOS 기기에서 데스크톱급 바이너리 분석이 가능. Mac 없이도 앱 보안 분석, 리버스 엔지니어링 수행 가능.