TL;DR

Một skill Claude Code mới ra mắt cho phép bạn gõ /decompile app.apk và nhận lại toàn bộ bản đồ API của một ứng dụng Android: Retrofit endpoints, OkHttp calls, hardcoded URLs, authentication patterns, kèm trace call flow từ Activity xuống HTTP client. Dự án của SimoneAvogadro, FOSS Apache 2.0, đã cán mốc 3.2k sao và 327 forks trên GitHub. Hỗ trợ APK, XAPK, JAR, AAR; dùng jadx làm decompiler chính, optional Fernflower/Vineflower cho so sánh side-by-side, và có chiến lược riêng cho code bị ProGuard/R8 che giấu — tất cả không cần source code gốc.

Có gì mới

Android reverse engineering không phải khái niệm mới — jadx, apktool, Fernflower, dex2jar đã tồn tại nhiều năm. Điểm khác biệt của Android Reverse Engineering Skill là gói toàn bộ pipeline vào một Claude Code skill duy nhất: dependency check, decompile bằng engine được chọn, grep pattern API trên cả source tree, và để Claude tổng hợp thành báo cáo narrative thay vì bắt bạn click qua GUI.

Cài đặt gọn 2 dòng trong Claude Code:

/plugin marketplace add SimoneAvogadro/android-reverse-engineering-skill
/plugin install android-reverse-engineering@android-reverse-engineering-skill

Sau đó gọi bằng slash command hoặc natural language ("reverse engineer this Android app"). Skill tự check Java JDK 17+, jadx CLI, rồi chạy pipeline.

Technical facts

  • Formats: APK, XAPK, JAR, AAR
  • Decompilers: jadx (default), Fernflower, Vineflower — chạy đơn hoặc side-by-side để đối chiếu output
  • Dependencies: Java JDK 17+ và jadx CLI bắt buộc; dex2jar + apktool optional
  • API patterns trích xuất: Retrofit annotations (@GET, @POST, @Path, @Query), OkHttp Request.Builder/newCall, hardcoded URL strings, auth header & token patterns
  • Call flow trace: Activities/Fragments → ViewModels → Repositories → HTTP client
  • Obfuscation: có chiến lược navigate ProGuard/R8 output (class 1-2 ký tự, generics bị strip)
  • License: Apache 2.0, hoàn toàn miễn phí

So sánh với workflow cũ

TaskManual workflowWith skill
Decompile APKapktool d app.apk + jadx-gui app.apk/decompile app.apk
Tìm endpointGrep thủ công trên thư mục decompiledClaude tự tổng hợp thành API inventory
Trace call flowMở IDE, lần từng importNarrative report theo lớp Activity → ViewModel → HTTP
So sánh decompilerChạy riêng từng toolSide-by-side jadx vs Fernflower/Vineflower
Thời gian cho app cỡ trung4–8 giờVài phút cho bản draft đầu

Use cases

Skill phù hợp nhiều tình huống hợp pháp:

  • Security audit: kiểm kê endpoint ẩn, token cứng, cert pinning bypass trong app in-house trước khi release
  • Bug bounty recon: dựng map API của target app để lên kế hoạch fuzzing / abuse testing
  • Interoperability research: build client không chính thức cho dịch vụ không cung cấp SDK công khai
  • Threat analysis: phân tích APK nghi ngờ malware, trace network exfiltration path
  • QA nội bộ: xác minh build production không vô tình embed staging URL hoặc debug token
  • Học Android internals: xem real-world pattern Retrofit/OkHttp trong codebase thật, thay vì ví dụ tutorial

Limitations & pricing

Miễn phí FOSS, nhưng có ranh giới kỹ thuật rõ:

  • Obfuscated code: vẫn đọc được sau ProGuard/R8, nhưng tên class/method bị rút gọn — Claude phải suy luận qua context, độ chính xác giảm với obfuscator aggressive
  • Native code (.so): skill không cover phần NDK; cần Ghidra hoặc Frida cho libnative
  • Packer/encryption: APK qua Bangcle, SecNeo hoặc packer thương mại khác phải unpack thủ công trước khi đưa vào skill
  • Dynamic endpoint: URL ghép runtime (base + path biến) có thể miss khi chỉ dựa pattern grep

Quan trọng: repo ghi rõ skill dành cho mục đích hợp pháp — authorized security testing, interoperability research, threat analysis. Người dùng tự chịu trách nhiệm tuân thủ luật và ToS của app được phân tích.

Kết

Với hệ sinh thái Claude Code đang mở rộng nhanh qua plugin marketplace, skill này là ví dụ đẹp cho thấy một LLM agent có thể giảm workflow reverse engineering từ nửa ngày xuống vài phút — bằng cách ghép các tool đã có sẵn (jadx, Fernflower, apktool) vào một pipeline narrative. Nếu bạn làm bug bounty, mobile security, hoặc đơn giản muốn hiểu cách 1 app thương mại thật sự gọi API, repo này đáng thử ngay.

Nguồn: GitHub repo, XDA Forums thread, MCP Market listing.