152MB APK를 1.8초에 분석하는 안드로이드 역컴파일러 ASC
Key Point
거대한 APK 분석 시 기존 도구의 무거운 인덱싱 단계를 완전히 제거하고 직접 쿼리 방식으로 전환해 속도와 메모리 효율을 획기적으로 개선했습니다.
핵심 요약
- 안드로이드 APK를 매우 빠르게 역컴파일하는 ASC(Droid ASC)를 공개했습니다.
- 기존 도구와 달리 전체 파일을 메모리에 로드하지 않고 Deflate 비트스트림을 직접 탐색해 필요한 데이터만 추출합니다.
- R8 컴파일러의 상수 재배치와 명령어 중복 제거 특성을 활용해 O(1) 시간에 메서드를 찾습니다.
- 352MB 규모의 상용 APK에서 전역 코드 참조 검색을 1.79초, 대상 클래스 역컴파일을 177밀리초 안에 완료하며 141MB RAM만 사용합니다.
- 전통적인 전처리 작업을 제거하고 컴파일된 파일을 읽기 전용 데이터베이스처럼 다루는 아키텍처입니다.
저장소 보기 ↗github.com