Quick start: Install Java + apktool + Android SDK build-tools →
apktool d app.apk → edit → apktool b → zipalign → apksigner → adb install. See Guides for full walkthroughs.π Decompiling & Disassembling 7
apktool
Open SourceThe standard for decompiling APKs into Smali code and resources. Also rebuilds APKs after editing. Essential for any rebranding workflow.
jadx
Open SourceDecompiles APK/DEX to readable Java source code. GUI and CLI modes. Best tool for understanding app logic quickly.
jadx-gui
FreeThe GUI version of jadx β browse decompiled code in a tree view, search across classes, export Gradle project. Great for exploration.
dex2jar
Open SourceConverts DEX bytecode to JAR files, which can then be opened in Java decompilers like JD-GUI. Older but still useful in some workflows.
JD-GUI
FreeJava decompiler GUI β view source code from JAR files. Pair with dex2jar for a classic decompile chain.
Ghidra
Open SourceNSA's reverse engineering suite. Overkill for most APK work, but invaluable for analyzing native libraries (.so files) packed inside APKs.
Bytecode Viewer
Open SourceAll-in-one Java decompiler with multiple decompiler engines (Procyon, CFR, FernFlower). Open APKs/JARs and compare decompiler output side by side.
βοΈ Edit & Rebrand 5
apktool (build mode)
Open SourceAfter editing resources/Smali, rebuild with `apktool b`. The core of any rebranding workflow β modify app name, icons, colors, layouts, and package structure.
Android Studio
FreeFor importing decompiled projects, editing layouts visually, and understanding resource references. Use jadx export to Gradle then open in AS.
APK Editor Studio
FreeVisual APK editor for quick rebranding β change app name, icon, version, and basic resources without touching code. Good for simple reskins.
NP Manager
FreeChinese APK editing tool popular in the rebranding community. Supports Smali editing, string replacement, signature patching, and batch processing.
XML / Smali Editing
ManualFor rebranding, you'll manually edit: AndroidManifest.xml (package name, permissions, labels), res/values/strings.xml (app text), res/values/colors.xml (theme), and Smali files (code changes).
π Sign & Align 5
apksigner
Open SourceGoogle's official APK signing tool (part of Android SDK build-tools). Supports v1, v2, v3, and v4 signing schemes. Required for modern Android.
zipalign
Open SourceOptimizes APK by aligning uncompressed entries to 4-byte boundaries. Must be run BEFORE signing with apksigner. Part of Android SDK build-tools.
jarsigner
JDK ToolLegacy signing tool included with JDK. Only does v1 (JAR) signing. Use apksigner for modern apps, but useful as a fallback.
Uber Apk Signer
Open SourceAll-in-one signing tool β zipalign + sign + verify in one command. Handles v1/v2/v3 signing automatically. Great for batch rebranding workflows.
keytool
JDK ToolGenerate your own signing keystore: keytool -genkey -v -keystore my.keystore -alias mykey -keyalg RSA -keysize 2048 -validity 10000. Essential for self-signing rebranded APKs.
π Analyze & Inspect 4
MobSF (Mobile Security Framework)
Open SourceAutomated mobile app security testing framework. Upload an APK and get a full report β manifest analysis, permissions, hardcoded secrets, insecure configs. Great for auditing before/after rebranding.
VirusTotal
FreemiumUpload rebranded APK to check against 70+ antivirus engines. Verify your rebranded APK doesn't trigger false positives before distribution.
APK Analyzer (Android Studio)
FreeBuilt into Android Studio. Inspects APK structure, shows file sizes by type, reveals method counts, and browses DEX contents without full decompile.
APK-iNFO
FreeQuickly inspect APK metadata β package name, version, SDK levels, permissions, signing info, and file hashes without decompiling.
πͺ Debug & Hook 4
Frida
Open SourceDynamic instrumentation toolkit. Hook into running apps to trace method calls, modify return values, bypass SSL pinning, and understand runtime behavior. Essential for advanced reverse engineering.
objection
Open SourceFrida-based runtime exploration tool. Higher-level than raw Frida scripts β built-in commands for bypassing SSL pinning, dumping keychain, exploring classes, and more.
LSPosed / Xposed
Open SourceModule framework for modifying app behavior without changing the APK. Write Xposed modules to hook methods at runtime. LSPosed is the modern fork for newer Android versions.
Wireshark + mitmproxy
Open SourceCapture and inspect network traffic from the app. mitmproxy for HTTPS interception (with SSL pinning bypass via Frida/objection). Understand what APIs the app talks to.
π± Android Apps (On-Device) 10
Termux
Open SourceFull Linux terminal on Android. Install Java, apktool, jadx, Python, Frida β your entire PC toolchain on your phone. The most powerful on-device option for serious rebranding.
MT Manager
FreeDual-pane file manager with built-in APK decompiling, editing, and signing. View Smali, edit resources, translate strings, and sign APKs β all on your phone. One of the most popular on-device tools in the rebranding community.
APK Editor Pro
FreeVisual APK editor for Android β edit resources, replace strings, change images, and modify the manifest without touching code. Supports both full edit and simple patch modes. Great for quick reskins.
Apktool M
FreeAndroid port of apktool β decompile, edit Smali and resources, rebuild and sign APKs directly on your device. Supports batch operations and has a clean file browser interface.
NP Manager (Android)
FreePowerful on-device APK editor β Smali editing, string replacement, signature patching, dex patching, and translation tools. Popular in the Chinese rebranding community with English UI available.
AnTool
FreeAll-in-one Android APK analysis and editing tool. Decompile to Smali, edit resources, view and patch DEX, check permissions, and sign β all from a single app interface.
APK Signature Killer
FreeOn-device tool for bypassing APK signature verification checks. Patches Smali code to skip signature validation so rebranded APKs run without triggering anti-tampering detection.
QuickEdit / Acode
FreeCode editors for Android with syntax highlighting for XML, Smali, JSON, and more. QuickEdit is fast with multi-tab editing; Acode is open source with GitHub integration. Use either to edit decompiled APK files on the go.
Hex Editor
FreeOn-device hex editor for viewing and patching binary files β edit DEX headers, patch native .so libraries, or modify any binary data directly. Search, replace, and goto offset support.
APK Icon Editor
FreeDedicated tool for replacing app launcher icons. Pick any APK, choose a new PNG/icon set, and rebuild. Handles all density buckets (mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi) automatically.
π¦ Packers & Obfuscation 20
ProGuard
Open SourceThe standard Java/Android code obfuscator. Shrinks, optimizes, and obfuscates code by renaming classes/methods/fields to short meaningless names. Included with the Android SDK. Most APKs you encounter will have been through ProGuard.
R8
Open SourceGoogle's replacement for ProGuard, default since Android Gradle Plugin 3.4. Combines shrinking, desugaring, and obfuscation in one step. Produces DEX directly instead of JARβDEX. Most modern apps use R8.
DexGuard
CommercialCommercial Android-specific obfuscator and protector by Guardsquare. Adds encryption, runtime checks, tamper detection, and string encryption on top of ProGuard. The most robust protection you'll encounter. Hard to bypass without Frida.
Allatori
CommercialJava obfuscator with string encryption, control flow obfuscation, and watermarking. Sometimes used in Android apps that bundle JAR libraries. Look for it in apps with heavy string encryption.
Bangcle / BangcleSDK
FreemiumOne of the most popular APK packers, especially in the Chinese app market. Encrypts DEX files and decrypts at runtime. Often detected by a native library (libsecexe.so or similar) in the APK. Free tier available.
Tencent Legu (δΉεΊ)
FreeTencent's APK packing service. Widely used in Chinese apps. Encrypts DEX and loads via native code at runtime. Recognizable by libshell.so or libshella.so in the lib directory. Free to use via Tencent Cloud.
360 Jiagu (360ε εΊ)
FreeQihoo 360's APK protection service. Another extremely common Chinese packer. Look for libjiagu.so or libjiagu_x86.so. Free tier available. One of the most frequently encountered packers when rebranding Chinese apps.
NagaProtect / NagaDev
FreeAPK protector that encrypts DEX, adds anti-debug, and includes resource protection. Less common than Bangcle/Legu but encountered in some apps. Check for libnaga.so in the APK.
Andjagger / Ijiami
FreemiumChinese APK protection service with DEX encryption, anti-tampering, and runtime checks. Look for libexec.so or similar native libs. Has a free online packing service.
BlackDex
Open SourceRuntime DEX dumping tool that works on most common packers. Runs on the device, hooks the DEX loading process, and dumps the original unencrypted DEX from memory. Supports many Chinese packers out of the box.
FRIDA-DEXDump
Open SourceFrida script that dumps DEX files from memory at runtime. Works by scanning process memory for DEX magic bytes. Effective against most packers that decrypt DEX in memory. Requires root or Frida server running.
DexExtractor / unpacker
Open SourceCollection of scripts for extracting original DEX from packed APKs. Various approaches: memory dump, ART hooking, custom ClassLoader interception. Useful when BlackDex or FRIDA-DEXDump don't work.
Youpk
Open SourceArt-based unpacking framework that hooks the Android runtime to dump DEX during class loading. More reliable than memory scanning for heavily protected apps. Requires building a custom ROM or using a patched emulator.
DeGuard
FreeOnline deobfuscation service that attempts to map obfuscated names back to meaningful ones using statistical analysis. Upload a mapping file or APK and it predicts original class/method names. Best for ProGuard/R8 obfuscated apps.
Simplify (Caleb Fenton)
Open SourceGeneric Android deobfuscation tool that analyzes and simplifies obfuscated DEX code. Removes dead code, simplifies control flow, and inlines method calls. Works best on control-flow obfuscation from tools like DexGuard.
PixelKnot / Stringer
Open SourceTools for decrypting obfuscated strings in Java/Android code. Many obfuscators encrypt string constants β these tools help recover the original strings by analyzing the decryption routines.
π Guides & Walkthroughs 4
class="guide-card" data-name="identifying which packer was used" data-desc="how to identify which packer/protector was applied to an apk before attempting to unpack it.">
Identifying Which Packer Was Used
How to identify which packer/protector was applied to an APK before attempting to unpack it.
Decompile the APK with apktool (it will still decompile, but Smali will be minimal)
Check for native libraries in
lib/ directory:libjiagu.so β 360 Jiagulibshella.so / libshell.so β Tencent Legulibsecexe.so β Bangclelibnaga.so β NagaProtectlibexec.so β IjiamiCheck the AndroidManifest.xml for unusual application classes (e.g.
com.tencent.StubShell)Look at the DEX files β if
classes.dex is very small but the APK is large, it's likely packedUse jadx to check if decompiled code is mostly a shell/loader class β real code is encrypted
Run MobSF analysis β it often identifies known packers automatically
Unpacking Common Chinese Packers
How to unpack the most common Chinese APK packers (360, Legu, Bangcle) using on-device tools.
Identify the packer (see Identifying Which Packer Was Used guide)
Install the packed APK on a rooted device or emulator (Genymotion, Android Studio AVD)
Method 1 β BlackDex: Install BlackDex, select the target app, tap Unpack. Dumps DEX to /sdcard
Method 2 β FRIDA-DEXDump: Start frida-server on device, run
python dexdump.py -U -f com.target.appMethod 3 β Manual: Use Frida to hook
DexFile.openDexFile or loadDex and dump the DEX bufferIf DEX is encrypted at multiple layers, you may need to hook the decryption callback
For 360 Jiagu specifically: hook
libjiagu.so using Frida stalker to trace DEX loadingOnce dumped, use jadx to decompile the recovered DEX files
Merge multiple dumped DEX files if the app uses multidex
Deobfuscating ProGuard/R8 Code
How to work with code that has been obfuscated by ProGuard or R8 β the most common obfuscation you'll encounter.
Decompile with jadx β you'll see class names like
a.b.c with methods named a(), b()If you have the mapping.txt file (from the original developer), use jadx with
--deobf-map to restore namesWithout a mapping: focus on understanding the code by following method call chains
Look for resource references β
R.string.xxx and R.layout.xxx often keep meaningful namesCheck
AndroidManifest.xml β Activity/Service names may reveal the class hierarchyUse jadx search to find usages of key Android APIs (e.g.
HttpURLConnection, SharedPreferences)Rename classes/methods in jadx as you figure out what they do β jadx saves your custom names
For string encryption: search for
decrypt or base64 patterns in the obfuscated codeSubmit to DeGuard for statistical name prediction if you're stuck
Bypassing Anti-Debug & Anti-Tamper
Many packed apps include anti-debugging and anti-tampering checks. How to deal with them.
Common anti-debug: app checks
android.os.Debug.isDebuggerConnected() β patch Smali to always return falseCommon anti-debug: app checks
ro.debuggable system property β patch with Frida or modify the checkCommon anti-tamper: app checks signature at runtime β see Bypassing Signature Verification guide
Common anti-tamper: app checks
PackageManager.GET_SIGNATURES β hook with Frida to return original signatureNative anti-debug: app calls
ptrace(PTRACE_TRACEME) β hook with Frida to return 0Root detection: app checks for
/system/app/Superuser.apk, su binary, Magisk β use Magisk Hide or Frida hooksFor layered checks: use Frida to trace all checks at once:
frida-trace -U -j "*!*isDebugger*/" -f com.appSome checks run in a loop β hook the timer/scheduler to prevent repeated checks
After bypassing all checks, dump DEX from memory and continue with normal decompilation