- Skill mã nguồn mở cho Claude Code tự decompile APK/XAPK/JAR/AAR, bóc endpoint Retrofit, OkHttp, URL hardcode và auth token — việc mà trước đây ngốn hàng chục giờ lội code obfuscate.
TL;DR
android-reverse-engineering-skill là một Claude Code skill FOSS (Apache 2.0) do Simone Avogadro viết. Ném file APK/XAPK/JAR/AAR vào, nó tự chạy jadx (cộng tuỳ chọn Fernflower/Vineflower/dex2jar), rồi bóc toàn bộ HTTP API của app: Retrofit endpoint, OkHttp call, URL hardcode, header auth, token. Có chiến lược riêng để gỡ rối code bị ProGuard/R8 obfuscate và trace call-flow từ Activity/Fragment xuống tận network layer. Repo đã đạt 3.4k sao, 345 fork.
Skill này làm được gì
Khác với việc mở jadx GUI rồi tự grep, skill biến toàn bộ pipeline reverse engineering thành một lệnh. Cài xong trong Claude Code (2 dòng từ GitHub, dùng được ở mọi session sau), bạn chỉ cần nói "Decompile this APK" hoặc "Extract API endpoints from this app" — hoặc gọi slash command để chạy pipeline đầy đủ: kiểm tra dependency → decompile → phân tích cấu trúc.
- Formats: APK, XAPK, JAR, AAR.
- Decompilers: jadx (bắt buộc), Fernflower (JetBrains), Vineflower (fork cộng đồng của Fernflower), dex2jar (cần khi dùng Fernflower với APK/DEX). Hỗ trợ chạy single-engine hoặc side-by-side để so sánh output.
- API extraction: Retrofit interfaces, OkHttp requests, URL hardcode, header/token auth.
- Call-flow tracing: từ Activity/Fragment → ViewModel → Repository → HTTP.
- Obfuscation: có playbook riêng cho output ProGuard/R8.
- Structure analysis: manifest, package layout, architectural pattern.
Vì sao đáng để ý
Reverse engineering Android trước đây là công việc rất thủ công: decompile bằng jadx, grep URL, dò từng class bị rename thành a.a.a, ghép lại luồng gọi. Một app cỡ trung bình có thể ngốn vài ngày chỉ để lập bản đồ network layer. Skill này đẩy phần nặng nhọc đó sang Claude Code — model có thể tự viết script Python phụ để decrypt string XOR, tự lội cả codebase thay vì bắt bạn click từng file.
Nó cũng mở cánh cửa RE cho hai nhóm trước đây bị chặn bởi learning curve: indie developer muốn tích hợp với API không có docs (ví dụ app vendor smart home), và security researcher cần làm rapid incident response trên mẫu malware Android.
Fact kỹ thuật
| Hạng mục | Chi tiết |
|---|---|
| License | Apache 2.0 (FOSS) |
| Yêu cầu | Java JDK 17+, jadx CLI |
| Tuỳ chọn | Vineflower / Fernflower, dex2jar |
| Input formats | APK, XAPK, JAR, AAR |
| Ngôn ngữ repo | Shell 100% (orchestration) |
| Stars / Forks | 3.4k / 345 |
| Cài đặt | 2 dòng trong Claude Code, persistent qua session |
So với cách cũ
So sánh workflow điển hình:
| Workflow | Thời gian | Khả năng xử lý obfuscation | Trace call-flow |
|---|---|---|---|
| jadx GUI + grep tay | Giờ → ngày | Thủ công, dễ bỏ sót | Phải tự build mental model |
| Apktool (resource + smali) | Giờ | Không decompile lên Java | Không |
| android-reverse-engineering-skill | Phút → giờ | Có playbook cho ProGuard/R8 | Tự động từ UI xuống HTTP |
Use case thật
Smart home interoperability. Tác giả viết skill này để giải quyết chính vấn đề của mình — một app vendor smart home không có API tự động hoá. Cài skill, ném APK, Claude tự bóc đủ endpoint để Simone viết bridge tích hợp vào setup của mình.
Malware analysis. Case study ấn tượng nhất là của security researcher Zane St. John: một máy chiếu AliExpress $35 (Magcubic HY300 Pro+) vừa cắm điện đã query DNS tới o.fecebbbk.xyz và usmyip.kkoip.com. Pull APK bằng adb, decompile bằng jadx, rồi để Claude Code chạy. Nó tự decrypt string XOR, map ra 5 package malware (com.hotack.silentsdk làm RAT/dropper, com.htc.eventuploadservice exfil telemetry, com.htc.expandsdk inject ad, com.htc.htcotaupdate OTA qua HTTP, com.htc.storeos silent installer), reverse được giao thức C2, tự viết Python client nói chuyện với C2 server đang sống, và phát hiện máy chiếu đang ép mạng của người dùng vào dịch vụ residential proxy thương mại Kookeey/KKOIP (47 triệu IP, 190 quốc gia). Công việc mà làm tay mất nhiều ngày, Claude Code xong trong vài giờ.
Pentest có thẩm quyền, CTF, giáo dục. Skill liệt kê rõ trong disclaimer.
Giới hạn & pháp lý
Skill không phải viên đạn bạc. Obfuscation nặng vẫn cần judgment của con người — phần "chiến lược" giúp điều hướng output ProGuard/R8 chứ không tự magic ra tên biến sạch. Cần cài Java JDK 17+ local.
Quan trọng hơn: repo nêu rõ chỉ dùng cho mục đích hợp pháp — authorized pentest, interoperability theo EU Directive 2009/24/EC hoặc US DMCA §1201(f), malware analysis, giáo dục/CTF. Unauthorized RE lên phần mềm bạn không sở hữu hoặc không có quyền phân tích có thể vi phạm luật IP và luật computer fraud ở nhiều quốc gia. Tác giả disclaim trách nhiệm nếu bị lạm dụng.
Cách thử nhanh
Nếu đã có Claude Code:
- Cài Java JDK 17+ và jadx CLI (tuỳ chọn: Vineflower + dex2jar để output code Java mượt hơn).
- Vào Claude Code, cài skill từ GitHub theo 2 dòng hướng dẫn trong README.
- Kéo file APK/XAPK/JAR/AAR vào, nói "Extract API endpoints from this app" hoặc chạy slash command của skill.
Repo: SimoneAvogadro/android-reverse-engineering-skill. Nguồn tham khảo: XDA forum post của tác giả, case study malware của Zane St. John, Apktool.

