Quick start: Install Java + apktool + Android SDK build-tools → apktool d app.apk → edit → apktool b → zipalign → apksigneradb install. See Guides for full walkthroughs.
πŸ” Decompiling & Disassembling 7
apktool
Open Source
The standard for decompiling APKs into Smali code and resources. Also rebuilds APKs after editing. Essential for any rebranding workflow.
CLIJavaSmaliResources
jadx
Open Source
Decompiles APK/DEX to readable Java source code. GUI and CLI modes. Best tool for understanding app logic quickly.
CLIGUIJavaDEX
jadx-gui
Free
The GUI version of jadx β€” browse decompiled code in a tree view, search across classes, export Gradle project. Great for exploration.
GUIJavaSearch
dex2jar
Open Source
Converts DEX bytecode to JAR files, which can then be opened in Java decompilers like JD-GUI. Older but still useful in some workflows.
CLIDEXJAR
JD-GUI
Free
Java decompiler GUI β€” view source code from JAR files. Pair with dex2jar for a classic decompile chain.
GUIJava
Ghidra
Open Source
NSA's reverse engineering suite. Overkill for most APK work, but invaluable for analyzing native libraries (.so files) packed inside APKs.
GUINativeSODisassembler
Bytecode Viewer
Open Source
All-in-one Java decompiler with multiple decompiler engines (Procyon, CFR, FernFlower). Open APKs/JARs and compare decompiler output side by side.
GUIJavaMulti-engine
✏️ Edit & Rebrand 5
apktool (build mode)
Open Source
After editing resources/Smali, rebuild with `apktool b`. The core of any rebranding workflow β€” modify app name, icons, colors, layouts, and package structure.
CLIRebuildResourcesSmali
Android Studio
Free
For importing decompiled projects, editing layouts visually, and understanding resource references. Use jadx export to Gradle then open in AS.
IDELayoutsResources
APK Editor Studio
Free
Visual APK editor for quick rebranding β€” change app name, icon, version, and basic resources without touching code. Good for simple reskins.
GUIReskinResources
NP Manager
Free
Chinese APK editing tool popular in the rebranding community. Supports Smali editing, string replacement, signature patching, and batch processing.
GUISmaliBatch
XML / Smali Editing
Manual
For 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).
ManualXMLSmaliManifest
πŸ” Sign & Align 5
apksigner
Open Source
Google's official APK signing tool (part of Android SDK build-tools). Supports v1, v2, v3, and v4 signing schemes. Required for modern Android.
CLISDKv2/v3 signing
zipalign
Open Source
Optimizes APK by aligning uncompressed entries to 4-byte boundaries. Must be run BEFORE signing with apksigner. Part of Android SDK build-tools.
CLISDKOptimize
jarsigner
JDK Tool
Legacy signing tool included with JDK. Only does v1 (JAR) signing. Use apksigner for modern apps, but useful as a fallback.
CLIJDKv1 signing
Uber Apk Signer
Open Source
All-in-one signing tool β€” zipalign + sign + verify in one command. Handles v1/v2/v3 signing automatically. Great for batch rebranding workflows.
CLIBatchAll-in-one
keytool
JDK Tool
Generate your own signing keystore: keytool -genkey -v -keystore my.keystore -alias mykey -keyalg RSA -keysize 2048 -validity 10000. Essential for self-signing rebranded APKs.
CLIJDKKeystore
πŸ“Š Analyze & Inspect 4
MobSF (Mobile Security Framework)
Open Source
Automated 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.
Web UISecurityAutomatedReport
VirusTotal
Freemium
Upload rebranded APK to check against 70+ antivirus engines. Verify your rebranded APK doesn't trigger false positives before distribution.
WebAV ScanMalware check
APK Analyzer (Android Studio)
Free
Built into Android Studio. Inspects APK structure, shows file sizes by type, reveals method counts, and browses DEX contents without full decompile.
GUIStructureDEX
APK-iNFO
Free
Quickly inspect APK metadata β€” package name, version, SDK levels, permissions, signing info, and file hashes without decompiling.
GUIMetadata
πŸͺ Debug & Hook 4
Frida
Open Source
Dynamic 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.
CLIPythonJSRuntime
objection
Open Source
Frida-based runtime exploration tool. Higher-level than raw Frida scripts β€” built-in commands for bypassing SSL pinning, dumping keychain, exploring classes, and more.
CLIPythonFrida-based
LSPosed / Xposed
Open Source
Module 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.
FrameworkHooksModules
Wireshark + mitmproxy
Open Source
Capture 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.
NetworkMITMHTTPS
πŸ“± Android Apps (On-Device) 10
Termux
Open Source
Full 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.
TerminalLinuxapktooljadxFrida
MT Manager
Free
Dual-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.
GUIDecompileEditSign
APK Editor Pro
Free
Visual 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.
GUIReskinResourcesPatch
Apktool M
Free
Android 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.
AndroidDecompileRebuildSign
NP Manager (Android)
Free
Powerful 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.
GUISmaliPatchTranslate
AnTool
Free
All-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.
GUIDecompileDEXSign
APK Signature Killer
Free
On-device tool for bypassing APK signature verification checks. Patches Smali code to skip signature validation so rebranded APKs run without triggering anti-tampering detection.
PatchSignatureBypass
QuickEdit / Acode
Free
Code 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.
EditorXMLSmaliSyntax
Hex Editor
Free
On-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.
HexBinaryPatch
APK Icon Editor
Free
Dedicated 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.
IconsReskinAuto-densities
πŸ“¦ Packers & Obfuscation 20
ProGuard
Open Source
The 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.
ObfuscatorShrinkerSDK
R8
Open Source
Google'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.
ObfuscatorShrinkerDEXGoogle
DexGuard
Commercial
Commercial 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.
ObfuscatorEncryptTamperCommercial
Allatori
Commercial
Java 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.
ObfuscatorStringsFlow
Bangcle / BangcleSDK
Freemium
One 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.
PackerDEX EncryptNative
Tencent Legu (乐固)
Free
Tencent'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.
PackerTencentDEX EncryptNative
360 Jiagu (360εŠ ε›Ί)
Free
Qihoo 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.
Packer360DEX EncryptNative
NagaProtect / NagaDev
Free
APK 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.
PackerDEX EncryptAnti-debug
Andjagger / Ijiami
Freemium
Chinese 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.
PackerDEX EncryptAnti-tamper
BlackDex
Open Source
Runtime 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.
UnpackerDEX DumpRuntimeOn-device
FRIDA-DEXDump
Open Source
Frida 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.
UnpackerFridaDEX DumpMemory
DexExtractor / unpacker
Open Source
Collection 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.
UnpackerScriptsART
Youpk
Open Source
Art-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.
UnpackerARTROMFramework
DeGuard
Free
Online 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.
DeobfuscatorOnlineProGuardR8
Simplify (Caleb Fenton)
Open Source
Generic 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.
DeobfuscatorDEXFlowJava
PixelKnot / Stringer
Open Source
Tools 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.
DeobfuscatorStringsDecrypt
πŸ“– 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 Jiagu
  libshella.so / libshell.so β†’ Tencent Legu
  libsecexe.so β†’ Bangcle
  libnaga.so β†’ NagaProtect
  libexec.so β†’ Ijiami
Check 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 packed
Use 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.app
Method 3 β€” Manual: Use Frida to hook DexFile.openDexFile or loadDex and dump the DEX buffer
If 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 loading
Once 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 names
Without 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 names
Check AndroidManifest.xml β€” Activity/Service names may reveal the class hierarchy
Use 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 code
Submit 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 false
Common anti-debug: app checks ro.debuggable system property β€” patch with Frida or modify the check
Common 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 signature
Native anti-debug: app calls ptrace(PTRACE_TRACEME) β€” hook with Frida to return 0
Root detection: app checks for /system/app/Superuser.apk, su binary, Magisk β€” use Magisk Hide or Frida hooks
For layered checks: use Frida to trace all checks at once: frida-trace -U -j "*!*isDebugger*/" -f com.app
Some 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