Back to Articles
APK and IPA Reverse Engineering Tools Guide

APK and IPA Reverse Engineering Tools Guide

A comprehensive reference for mobile developers working with APK and IPA files - building, patching, extracting, and analyzing binaries.


Android APK Tools

Decompilation & Reverse Engineering

ToolDescriptionLink
ApktoolIndustry standard for decoding/rebuilding APKs, smali editingapktool.org
JADXDex to Java decompiler with GUI, produces readable sourceGitHub
dex2jarConvert .dex to .class filesGitHub
GDAFast C++ decompiler for APK/DEX/ODEXGitHub
Bytecode ViewerGUI decompiler, editor, and APK editorGitHub
AndroguardPython tool for analyzing Android appsGitHub
SimplifyAndroid virtual machine and deobfuscatorGitHub

GUI Editors

ToolDescriptionLink
APK Editor StudioCross-platform APK editor for resources, images, iconsWebsite
APKLeaksScan APKs for URIs, endpoints, secretsGitHub
MT ManagerAndroid APK editor (Android app)Play Store

Signing & Packaging

ToolDescriptionLink
Uber Apk SignerSign, zipalign, verify APKs (v1/v2/v3 schemes)GitHub
apksignerOfficial Android SDK signing toolAndroid Docs
zipalignOptimize APK alignmentAndroid SDK

Dynamic Analysis & Hooking

ToolDescriptionLink
FridaRuntime instrumentation and hookingfrida.re
DrozerAndroid security testing frameworkGitHub
ObjectionRuntime mobile exploration (Frida-based)GitHub
Xposed FrameworkModule-based hooking frameworkXDA
LSPosedModern Xposed implementation for Android 8.1+GitHub

APK Download Sources

SourceDescriptionLink
APKMirrorVerified APK mirrorapkmirror.com
APKPureAPK downloads with versioningapkpure.com
APKComboAPK downloader with XAPK supportapkcombo.com

iOS IPA Tools

Disassemblers & Decompilers

ToolDescriptionLink
IDA ProIndustry-standard disassembler (commercial)hex-rays.com
GhidraNSA’s free reverse engineering suiteghidra-sre.org
HoppermacOS-native disassembler with Obj-C demanglinghopperapp.com
Radare2Free, open-source RE frameworkrada.re
CutterGUI for Radare2GitHub

Extraction & Analysis

ToolDescriptionLink
MachOViewGUI for Mach-O file structureSourceForge
class-dumpExtract Objective-C class info from binariesGitHub
otoolApple’s command-line binary analysismacOS Built-in
nmDisplay symbol tablemacOS Built-in
stringsExtract printable strings from binarymacOS Built-in
Frida iOS DumpDump decrypted IPAs from device memoryGitHub

Decryption Tools

ToolDescriptionLink
dumpdecryptedDecrypt iOS app binariesGitHub
ClutchCrack encrypted iOS appsGitHub
bfdecryptDecrypt iOS apps on jailbroken devicesGitHub
flexdecryptModern iOS app decryptorGitHub

Signing & Sideloading

ToolDescriptionLink
ldidLink identity editor for pseudo-signingGitHub
codesignApple’s official signing toolmacOS Built-in
AltStoreSideload apps without jailbreakaltstore.io
SideloadlyIPA sideloading toolsideloadly.io
ios-deployDeploy apps to iOS devicesGitHub
ideviceinstallerInstall IPAs via USBGitHub
libimobiledeviceCross-platform iOS device communicationGitHub

Dynamic Analysis

ToolDescriptionLink
FridaRuntime instrumentation toolkitfrida.re
CycriptExplore and modify running appscycript.org
FLEXIn-app debugging and explorationGitHub
TheosCross-platform build system for iOS tweakstheos.dev

Jailbreak Tools

ToolSupported DevicesiOS Versions
checkra1niPhone 5s - iPhone XiOS 12.0+
unc0veriPhone SE - iPhone 12iOS 11.0-14.3
Dopaminearm64e devicesiOS 15.0-16.5.1
palera1nA8-A11 devicesiOS 15.0+

Cross-Platform Security Frameworks

ToolDescriptionLink
MobSFAll-in-one automated pen-testing for Android/iOSGitHub
QARKLinkedIn’s static analysis for AndroidGitHub
Mobile AuditWeb app for Android APK static analysisGitHub
CorelliumVirtual iOS/Android devices for testingcorellium.com

Quick Reference Commands

APK Operations

# Decode APK
apktool d app.apk -o output_dir

# Rebuild APK
apktool b output_dir -o new_app.apk

# Sign APK
java -jar uber-apk-signer.jar -a new_app.apk

# Decompile to Java
jadx -d output_dir app.apk

# Extract strings
strings app.apk | grep -i "api\|key\|secret"

IPA Operations

# Extract IPA contents
unzip app.ipa -d output_dir

# View Mach-O info
otool -L Payload/App.app/App

# Extract class info
class-dump Payload/App.app/App > classes.h

# Resign IPA
codesign -f -s "iPhone Developer" Payload/App.app

# Install via ios-deploy
ios-deploy --bundle Payload/App.app

# Dump decrypted IPA (jailbroken device)
frida-ios-dump -u -o decrypted.ipa com.app.bundle

Frida Commands

# List running processes (Android)
frida-ps -U

# Attach to app
frida -U -n "App Name"

# Run script
frida -U -l script.js -f com.app.package

# iOS dump
frida-ios-dump com.app.bundle

Resources

Documentation & Guides

Learning Resources


Last Updated: December 2025