Claude Code용 Android 리버스엔지니어링 스킬 오픈소스 공개… APK·JAR·AAR에서 HTTP API 자동 추출
<p>개발자 SimoneAvogadro가 Claude Code용 Android 리버스엔지니어링 스킬을 오픈소스로 공개했다. 이 스킬은 APK, XAPK, JAR, AAR 파일을 디컴파일해 앱이 사용하는 HTTP API를 추출함으로써, 원본 소스 코드 없이도 API를 문서화하고 재현할 수 있게 해 주는 것을 목표로 한다.</p>
<p>지원 형식은 APK, XAPK, JAR, AAR이며, 디컴파일 엔진으로는 jadx와 Fernflower/Vineflower를 사용한다. 단일 엔진으로 실행하거나 두 엔진을 나란히 비교하는 side-by-side 방식도 지원한다. 추출 대상 API는 Retrofit 엔드포인트, OkHttp 호출, 하드코딩된 URL, 인증 헤더 및 토큰을 포함한다.</p>
<p>스킬은 Activities와 Fragments에서 시작해 ViewModels, 리포지토리를 거쳐 최종 HTTP 호출까지 이어지는 호출 흐름(call flow)을 추적한다. manifest, 패키지 구조, 아키텍처 패턴을 분석하는 기능도 포함된다. ProGuard 또는 R8로 난독화된 코드 역시 내비게이션 전략을 제시해 다룰 수 있도록 설계됐다.</p>
<p>필수 의존성은 Java JDK 17 이상과 jadx CLI이며, 복잡한 Java 코드에서 더 나은 결과물을 얻기 위한 Vineflower 또는 Fernflower, APK·DEX에 Fernflower를 사용할 때 필요한 dex2jar는 권장 옵션이다. 저장소에는 의존성 확인용 check-deps.sh, 자동 설치용 install-dep.sh 스크립트가 포함돼 있다.</p>
<p>설치는 Claude Code 내부에서 '/plugin marketplace add SimoneAvogadro/android-reverse-engineering-skill'과 '/plugin install android-reverse-engineering@android-reverse-engineering-skill' 명령으로 진행할 수 있으며, 로컬 경로를 통해 직접 설치하는 것도 가능하다. 스킬은 'Decompile this APK', 'Extract API endpoints from this app'과 같은 자연어 요청에도 반응하도록 구성돼 있으며, '/decompile' 슬래시 명령도 제공된다.</p>
<p>스크립트는 Claude Code와 무관하게 단독 실행도 가능하다. decompile.sh로 APK나 JAR을 처리한 뒤 find-api-calls.sh로 소스에서 Retrofit·URL 등을 탐색하는 워크플로가 기본 구조다. XAPK의 경우 번들 안의 각 APK를 자동으로 추출해 개별 디컴파일한다.</p>
<p>라이선스는 Apache 2.0이며, 프로젝트는 보안 연구와 허가된 침투 테스트, EU 지침 2009/24/EC 및 미국 DMCA §1201(f)에 따른 상호운용성 분석, 악성코드 분석과 사고 대응, 교육 및 CTF 경진대회 등 합법적 용도에 한해 사용할 것을 명시한다. 저자는 오용에 대한 책임을 부인하며, 소유 또는 분석 권한이 없는 소프트웨어의 무단 리버스엔지니어링은 관할 지역의 지적재산권 및 컴퓨터 사기 관련 법률을 위반할 수 있다고 경고한다.</p>