Rev-Droid is an interactive toolkit for reverse engineering Android apps. It automates tasks such as launching the Android emulator, exporting APKs, decompiling using apktool or JADX, and reverse engineering Flutter apps using Blutter.
This repository includes two scripts:
- 📜
revdroid.sh– For Unix-based systems (macOS/Linux) - 📜
revdroid.bat– For Windows
- 🚀 Start Android Emulator: Launch your configured Android Virtual Device (AVD).
- 📱 List Installed Apps: Display apps installed on a connected Android device (uses ADB).
- 📦 Export App: Pull APKs directly from the connected device.
- 🔍 Decompile APKs: Use apktool or JADX to decompile APK files.
- 🛠️ Reverse Engineer Flutter Apps: Decompile Flutter APKs and run the Blutter tool for additional analysis (generate asm and frida scripts).
- 📦 Android SDK: Ensure you have the Android SDK installed with tools such as
adb,emulator,apktool, andjadxavailable in your system's PATH. - 🐍 Python 3: Required for setting up a virtual environment and running Blutter.
- 🔧 Blutter: Clone or download from Blutter on GitHub and update the
BLUTTER_DIRvariable in the scripts accordingly.
- Configure the Script:
- 📝 Open
revdroid.shand update the following variables if needed:- 📂
EMULATOR_PATH: Path to your Android emulator executable. - 📱
AVD_NAME: Name of your Android Virtual Device. - 📁
BLUTTER_DIR: Path to your Blutter tool directory.
- 📂
- Make the Script Executable:
chmod +x revdroid.sh- Run the Script:
./revdroid.sh- Configure the Script:
- 📝 Open
revdroid.batin a text editor and update:- 📂
EMULATOR_PATH: Path to your Android emulator executable. - 📱
AVD_NAME: Name of your Android Virtual Device. - 📁
BLUTTER_DIR: Path to your Blutter tool directory.
- 📂
- Run the Batch File:
- Open Command Prompt and execute:
revdroid.bat
Upon running either script, you will be presented with a menu offering several options:
- 🚀 Start Emulator: Launch your Android emulator.
- 📱 List Installed Apps: Display a list of installed third-party apps.
- 📦 Export App: Pull the APK of a specified app from the connected device.
- 🔍 Export & Decompile: Automatically export and decompile the APK using apktool or JADX.
- 🛠️ Reverse Engineer Flutter App: Decompile a Flutter APK and run the Blutter tool to analyze native libraries.
For Flutter reverse engineering, the script sets up a Python virtual environment, installs required modules (requests and pyelftools), and executes the Blutter tool.
This project is licensed under the MIT License.