Hackndroid is a framework used for the automation of some Mobile Application Penetration Testing (MAPT) activities and the interaction with the mobile Android device.
For further details, visit the documentation here.
- advanced_search: Search and replacement in file/folder (recursively) for bynary patterns, strings or secrets
- apk: Several APKs related operations (apk analysis for root detection/certificate pinning hints, apk decompiling/compiling, JADX-GUI launch, etc.)
- app_data_and_logs: Access to app data (e.g. backups, storage) and logs
- device_info: Get mobile device information
- devices: Select one of the available mobile devices
- emulator: Manage AVDs and launch emulators
- file_transfer: Transfer files from/to mobile devices
- frida: Frida setup and scripts launcher
- install_uninstall: Install/Uninstall an app on the mobile device.
- interactive_shell: Interactive shell for the mobile device
- mirroring: Mirroring management (screenshot, video recording and scren mirroring)
- mobile_settings: Management of mobile device modes (battery saver, do not disturb, connectivity)
- processes_list: List all the processes
- proxy: Set proxy on the mobile device using the current PC IP or another IP (e.g. regular proxy, invisible proxy via iptables or dns spoofing) and TLS certificates management
- shutdown_reboot: Reboot/shutdown the device with several options
Install python requirements using the following command:
pip install -r requirements.txtInstall all the binary requirements with the following command:
python3 hackndroid.py --installNote: Before installing, ensure that the latest version of the Java JDK is installed on your system.
Additionally, make sure to configure the
JAVA_HOMEenvironment variable to point to the JDK installation directory, and update thePATHvariable to include the<jdk-path>/bindirectory.
python hackndroid.pyBy running the program, the script will populate the file config.ini created during the installation phase with, for example, data related to the device used.
At the beginning, the program detect if a mobile device is connected to the current computer:
- if a device is connected, the program will start with every option available in the menu
- otherwise, the script will show to the user only options that could be used without a mobile device
However, the current device could be selected not only when the program starts but also using the devices option as follows:
- Windows
- Linux
- MacOS



