# Tools Installation
To start reviewing the android application, as a pre-requisite we need to install a few of toos for smoother testing. We will be using the following tools:
* Genymotion emulator
* adb
* frida
* Bytecode Viewer
* Jadx-GUI
* Ghidra
* apktool
* Burpsuite
* Docker
Since most of the android application are made up of either java or kotlin it is best to set the java environment beforehand if not already preinstalled.
## java JDK and JRE installation
> sudo apt install default-jre && apt install default-jdk
## Install Genymotion
> wget https://dl.genymotion.com/releases/genymotion-3.9.0/genymotion-3.9.0-linux_x64.run
> chmod +x genymotion-3.9.0-linux_x64.run
> ./genymotion-3.9.0-linux_x64.run -d PATH (the -d flag is optional)
## Install adb
> sudo apt install adb
## Install frida
> pip install frida-tools
confirm the installed frida version for it is required to match the frida server that will be pushed into our emulator
> frida ---version
Finalize by checking the frida status with the bellow command:
> frida-ps -U
Download Frida server from github
>wget https://github.com/frida/frida/releases/download/17.2.17/frida-server-17.2.17-android-x86.xz
> xz -d frida-server-17.2.17-android-x86.xz
## Install Bytecode Viewer
Here we can either use snap or directly install it from github
> sudo snap install bytecode-viewer
Or
> wget https://github.com/Konloch/bytecode-viewer/releases/download/v2.13.1/Bytecode-Viewer-2.13.1.jar
and run it as below:
> java -jar Bytecode-Viewer-2.13.1.jar
## Download Jdx-Gui
> wget https://github.com/skylot/jadx/releases/download/v1.5.2/jadx-1.5.2.zip
## Download Ghidra
> wget https://github.com/NationalSecurityAgency/ghidra/releases/download/Ghidra_11.4.2_build/ghidra_11.4.2_PUBLIC_20250826.zip
## Download apktool
> wget https://github.com/iBotPeaches/Apktool/releases/download/v2.12.0/apktool_2.12.0.jar
## Install Burpsuite
> wget https://portswigger.net/burp/releases/download?product=pro&version=2025.7.4&type=Linux
>
> bash burpsuite_community_linux_v2025_7_4.sh
## Install Docker
> sudo apt update
>
> sudo apt install apt-transport-https ca-certificates curl software-properties-common
>
> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
>
> echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
> sudo apt update
>
> apt-cache policy docker-ce
>
> sudo apt install docker-ce
>
> sudo systemctl status docker
>
> sudo usermod -aG docker ${USER}
>
> su - ${USER}
>
> sudo apt install docker-compose
## Configure burpsuite with emulator
1. Export Burp CA in der format by clicking the proxy tab and going to the proxy settings

2. The next step is to covert the Burp certificate into PEM format using openssl which is installed by default in most linux distributions.
> openssl x509 -inform DER -in Burp_cert.der -out Burp_cert.pem
>
> openssl x509 -inform PEM -subject_hash_old -in Burp_cert.pem |head -1
>
> mv Burp_cert.pem 9a5ba575.0
3. Open GenyMotion Emulator and Create and choose the Android of your choice, for our case we will be using Google Pixel 3a running Android Version 9.

4. Start the Android Device, and finish on installing the Burp CA

Confirm the device is connected to the host machine with the below command
> adb devices
The output should resemble the following:

5. Make the Android device system writable and upload certificate
> adb remount
>
> adb push 9a5ba575.0 /system/etc/security/cacerts/
> adb shell chmod 644 /system/etc/security/cacerts/9a5ba575.0
6. After installing Burp CA now is time to set up our proxy.
> adb shell settings put global http_proxy localhost:3333
>
> adb reverse tcp:3333 tcp:8080
To disable proxy run:
> adb shell settings put global http_proxy :0