SimoneAvogadro/android-reverse-engineering-skill
Claude Code skill to support Android app's reverse engineering
해결하는 문제
이 프로젝트는 Android 애플리케이션의 HTTP API를 추출하고 내부 로직을 이해하기 위한 전용 도구 세트를 제공합니다. APK, XAPK, JAR, AAR 파일을 역컴파일하는 과정을 단순화하고, 일반적으로 클래스 이름을 의미 없는 문자열로 변경하는 R8 오브스쿠레이션과 같은 일반적인 장애물을 극복합니다.
작동 방식
이 도구 세트는 여러 역컴파일러(jadx, Fernflower/Vineflower)를 통합하고 분석 워크플로우를 자동화하는 스크립트 세트를 제공합니다:
- 지문 분석: 완전한 역컴파일 전에 앱의 프레임워크(예: Flutter, React Native), HTTP 스택, 오브스쿠레이션 수준을 빠르게 식별합니다.
- 역컴파일: 바이너리 파일을 읽기 쉬운 Java/Kotlin 코드로 변환합니다.
- Kotlin 이름 복원: R8 오브스쿠레이션을 견뎌내는 Kotlin 메타데이터를 사용하여 오브스쿠레이션된 클래스 이름(a.b.c 등)을 원래 이름(LoginRepository 등)으로 매핑합니다.
- API 추출: Retrofit, OkHttp, Ktor, Apollo(GraphQL), Koin 등 다양한 스택에서 엔드포인트, URL, 인증 패턴을 역컴파일된 코드에서 스캔합니다.
- 호출 흐름 추적: UI 컴포넌트(Activities/Fragments)에서 ViewModel과 리포지토리를 거쳐 최종 HTTP 호출까지의 경로를 추적할 수 있습니다.
대상 사용자
보안 연구자, 펜테스트 전문가, 멀웨어 분석가, 상호운용성 분석이나 교육용 CTF 대회에 관심 있는 개발자.
주요 특징
- R8 디오브스쿠레이션: 메타데이터를 사용해 오브스쿠레이션된 Kotlin 클래스 이름을 복원하여 코드의 가독성을 크게 향상시킵니다.
- 다양한 스택 지원: Ktor 및 Apollo GraphQL과 같은 현대적인 Kotlin Multiplatform(KMP) 스택에서 API를 추출할 수 있습니다.
- API 우선 워크플로우: API 호출과 하드코딩된 URL을 찾기 위한 전용 스크립트를 제공합니다.
- 다중 엔진 지원: 출력 결과를 비교할 수 있도록 여러 역컴파일 엔진을 지원합니다.
- Claude Code 통합: Claude Code CLI 도구의 스킬로 설치할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트