A native Android application converted from the Evil-Droid Linux GUI penetration testing framework. This app provides automated exploitation capabilities for Android platforms, including APK installation, payload execution, and device management.
- Root Access Verification: Checks and verifies root privileges on the device
- Automated APK Installation: Install APK files via root or system installer
- Payload Execution: Generate and execute payloads for target applications
- Real-time Logging: Color-coded log output with timestamps
- Device Information: Display device details and system information
- Modern UI: Clean, minimalist interface using Material Design
- Rooted Android Device: Root access is required for full functionality
- Android 7.0 (API 24) or higher
- Storage Permissions: Required for APK file access
- Developer Options: USB debugging enabled (optional)
-
Clone the Repository:
git clone <repository-url> cd evil-droid-android
-
Open in Android Studio:
- Open Android Studio
- Select "Open an existing Android Studio project"
- Navigate to the project directory and select it
-
Build the Project:
- Wait for Gradle sync to complete
- Build → Make Project (Ctrl+F9)
- Build → Build Bundle(s) / APK(s) → Build APK(s)
-
Install on Device:
- Enable "Unknown Sources" in device settings
- Transfer the APK to your device
- Install the APK
- Download the pre-built APK from releases
- Enable "Install from Unknown Sources" in device settings
- Install the APK on your rooted Android device
- Launch the App: Open Evil-Droid Android from your app drawer
- Grant Permissions: Allow storage permissions when prompted
- Check Root Access: Tap "Check Root Access" to verify root privileges
- Tap the "Check Root Access" button
- The app will verify if your device has root privileges
- Device information will be displayed in the log
- Enter the full path to your APK file in the "APK File Path" field
- Or tap "Browse APK" to select a file (if file manager supports it)
- Tap "Install APK" to begin installation
- The app will attempt root installation first, then fallback to system installer
- Enter the target package name (e.g.,
com.whatsapp) - Optionally specify an APK file path
- Tap "Run Payload" to execute the payload
- Monitor the log output for execution status
- All operations are logged with timestamps and color coding
- Green: Success messages
- Red: Error messages
- Blue: Information messages
- Orange: Warning messages
- Tap "Clear Log" to clear the log output
- MainActivity.kt: Main UI controller and user interaction handler
- ShellExecutor.kt: Utility class for executing shell commands with root privileges
- Modern UI: Material Design components with dark theme support
executeCommand(): Execute standard shell commandsexecuteRootCommand(): Execute commands with root privilegescheckRootAccess(): Verify root availabilityexecutePayload(): Generate and execute payloadsinstallApkRoot(): Install APK using package managergetPackageUid(): Retrieve package UID information
- Root privilege verification
- Command execution sandboxing
- Error handling and logging
- Permission management
-
APK Installation:
- Root-based installation using
pm install - Fallback to system installer via Intent
- File validation and error handling
- Root-based installation using
-
Payload Execution:
- Package UID extraction
- Automated payload generation
- Target application manipulation
- Real-time execution monitoring
-
Device Management:
- Root access verification
- Device information retrieval
- Package listing and management
- ADB connection status
The app requires the following permissions:
INTERNET: For potential network operationsREAD_EXTERNAL_STORAGE: To access APK filesWRITE_EXTERNAL_STORAGE: For file operationsREQUEST_INSTALL_PACKAGES: For APK installationMANAGE_EXTERNAL_STORAGE: For Android 11+ file access
- This app is designed for educational and authorized penetration testing purposes only
- Only use on devices you own or have explicit permission to test
- Root access provides elevated privileges - use responsibly
- The app can install and execute arbitrary code - ensure APK files are from trusted sources
- Monitor all operations through the built-in logging system
-
Root Access Denied:
- Ensure your device is properly rooted
- Grant root permissions when prompted by your root manager (SuperSU, Magisk, etc.)
- Check if root access is enabled in your root manager settings
-
APK Installation Failed:
- Verify the APK file path is correct
- Ensure the APK file exists and is readable
- Check if "Install from Unknown Sources" is enabled
- Try using the system installer as fallback
-
Payload Execution Failed:
- Verify the target package name is correct
- Ensure the target application is installed
- Check root permissions are granted
- Review log output for specific error messages
-
File Access Issues:
- Grant all requested storage permissions
- For Android 11+, enable "All files access" in app settings
- Ensure APK files are in accessible storage locations
Monitor the color-coded log output:
- Green messages: Operations completed successfully
- Red messages: Errors that need attention
- Blue messages: Informational status updates
- Orange messages: Warnings about potential issues
-
Requirements:
- Android Studio Arctic Fox or newer
- Android SDK 34
- Kotlin 1.9.10+
- Gradle 8.2+
-
Dependencies:
- AndroidX libraries
- Material Design Components
- Kotlin Coroutines
- ViewBinding
-
Build Commands:
./gradlew assembleDebug # Build debug APK ./gradlew assembleRelease # Build release APK ./gradlew installDebug # Install debug version
The app can be customized by modifying:
- Payload Logic: Update
ShellExecutor.executePayload()method - UI Theme: Modify colors and themes in
res/values/ - Commands: Add new shell commands in
ShellExecutorutility - Logging: Enhance log formatting in
MainActivity.appendLog()
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly on rooted devices
- Submit a pull request
This project is for educational and authorized testing purposes only. Users are responsible for complying with all applicable laws and regulations.
This tool is provided for educational and authorized penetration testing purposes only. The developers are not responsible for any misuse or damage caused by this application. Always ensure you have proper authorization before testing on any device or network.
For issues, questions, or contributions:
- Create an issue in the repository
- Review the troubleshooting section
- Check device compatibility and root status
Remember: Always use this tool responsibly and only on systems you own or have explicit permission to test.