re-apk

Analyze APK files statically using jadx, apktool, and aapt2 for manifest, smali, and packer detection.

64|9|Updated Aug 17, 2026
One-click install
npx skills add https://github.com/dslsdzc/rev-skills --skill re-apk-dslsdzc
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: re-apk
Source: https://github.com/dslsdzc/rev-skills/tree/main/.claude/skills/re-apk
Command: npx skills add https://github.com/dslsdzc/rev-skills --skill re-apk-dslsdzc

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Reverse engineers and security researchers need to inspect Android APK files to understand their structure, permissions, and code logic, but doing so requires coordinating multiple tools (jadx, apktool, aapt2) and knowing how to handle obfuscation, packing, and repackaging pitfalls. ## Core Features & Use Cases - Static Decompilation Workflow: Unpack APKs with apktool, decompile Java code with jadx, and inspect AndroidManifest for entry points, permissions, and exported components. - Smali Patching & Repackaging: Modify smali bytecode, rebuild with apktool, sign with apksigner, and verify patches on-device via adb byte-level comparison. - Packer & Obfuscation Detection: Identify hardened apps (360 Jiagu, Bangcle, iJiami) via shell classes, shell .so files, and abnormal dex sizes, then route to unpacking or dynamic analysis. - Use Case: Given a suspicious APK, decompile it to locate license-check logic, patch the smali conditional jump, re-sign the package, and verify the modification landed on the installed app. ## Quick Start Analyze the attached app.apk by unpacking it with apktool, decompiling with jadx, and summarizing its entry points, permissions, and any signs of packing or obfuscation.

Frequently Asked Questions about re-apk

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decompile an APK to Java source code?▼

Use jadx with the command jadx -d java-out app.apk to batch-decompile all dex classes into readable Java. For interactive browsing of individual classes, run jadx-gui app.apk instead. jadx requires Java 11 or higher.

jadx vs apktool: which should I use for APK analysis?▼

jadx produces readable Java code and is best for understanding logic, while apktool decodes resources and produces smali bytecode suitable for modification and recompilation. A typical workflow locates logic in jadx output first, then edits the corresponding smali from apktool.

Why does jadx only show stub classes instead of real code?▼

This indicates the APK is packed: the real dex is encrypted and decrypted only at runtime. Identify the packer via shell classes like com.stub.StubApp or shell libraries like libjiagu.so, then switch to unpacking or runtime memory dumping with Frida.

How do I patch an APK and reinstall it on a device?▼

Unpack with apktool d -r to preserve resources, edit the smali, rebuild with apktool b, sign with apksigner using a keytool-generated keystore, and install via adb. Verify the patch by pulling the installed APK with adb shell pm path and comparing bytes at the patch address.

Why does apktool fail to rebuild my modified APK?▼

Recompilation often fails when decoded resources are incompatible with the build step. Unpack with apktool d -r to keep resources in original form and only modify smali, which minimizes rebuild failures. Note apktool 3.x only supports aapt2 and removed several 2.x options.

Can I analyze AAB or split APK files with these tools?▼

Yes. AAB files are zip archives that jadx can open directly for code reading, though device installation requires bundletool to generate APKS. For split APKs, analyze base.apk for code and unpack each config split separately to compare resources.