{% extends 'docs/layout.html' %} {% block content %}

# Dynamic Analysis

This chapter will help you choose and set up an emulated or physical testing device.

### Choosing a test device

Aparoid dynamic analysis can work on the following types of devices

- Devices rooted using Magisk (requires third-party modules)
- Emulated devices (Android Studio AVD, Genymotion, Bluestacks and probably more)
- Devices running Android <= 9.0 (a.k.a. system root)
- Virtual devices running in the cloud

It is up to you what kind of device you want to use. In my opinion, emulated devices work just fine. They do however lack access to certain hardware like a fully functioning camera, Wi-Fi hotspot mode, Bluetooth and various sensors.

Disclaimer! Aparoid installs a certificate authority on the testing device. Please be aware that this certificate can also intercept information from banking apps, websites and applications containing personal information. It is not recommended to use dynamic analysis on devices not meant for testing purposes.

### Device Requirements

For Aparoid to function the device must be rooted and have remote debugging enabled. For more information on how to set up the Android Debugging Bridge please consult the Android developer documentation.

The steps below will help you check if your device is configured to work with Aparoid dynamic analysis.

- Connect the device to your computer using a USB cable.
  For wireless usage or cloud instances please go through the secondary steps below before proceeding.
- Open a terminal on your local system and enter

      adb wait-for-device

- If the adb program keeps hanging please check if you have working adb drivers installed. The following installer works in most cases: 15 seconds ADB Installer
- If a pop-up appears on your device please select the Always allow from this computer option before proceeding.
- Run the following command and accept any root access pop-up:

      adb shell su -c id

- If the above step completes then you are ready to start the dynamic analyser.

For wireless or cloud instances please follow these steps before starting with the checklist.

- Wireless only: Connect the device using a USB cable, open a terminal and enter

      adb tcpip 5555

- Wireless only: You can now disconnect the USB cable
- Use the Wi-Fi settings on the Android device to find the local or remote IP address.
- Connect to the remote device by running the following command on your local system:

      adb connect THE_IP_ADDRESS:5555

### Using Burp Suite

The dynamic analyser also supports Burp Suite (and other interception proxies). You can set the CA certificate path and proxy host/port in the config.py file.
Make sure you don't start the built-in proxy server when external tools are in use!

{% endblock %}