> For the complete documentation index, see [llms.txt](https://summit-labs.frida.ninja/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://summit-labs.frida.ninja/setting-up/before-you-start-prerequisites.md).

# Prerequisites

Emulating Android inside a Windows VM (Android VM within a Windows VM) is difficult to achieve, and so we recommend emulating Android directly on your host machine.

For the purposes of these labs, we will be assuming that you are using a Windows host. However, there is no reason this content should not also work on other host OS'es.

At the end of the day, **any Android emulator** that allows root access can likely be made to work as a reversing sandbox. However, we are only providing an image for Android Device Emulator (ADE) and Virtualbox (VBOX).

### Which emulation environment should I choose?

It comes down to preference! Any Android emulator that allows you to act as root will suffice. Virtual Box, Android Device Emulator, Nox, Genymotion will all work.

For me, ADE is a way better emulation environment. It looks better, runs smoother, and uses less system resources. However, if you already have another emulator up and running you are welcome to use that.

### System Prerequisites

These prerequisites are required regardless of emulation environment.

* [ ] Python 3+ and pip installed, available from your PATH. (Verify this by opening a command prompt and typing python --version and pip .. you should see a version of 3 or higher.)<br>

* [ ] Install frida-tools as per [these instructions](https://frida.re/docs/installation/). We recommend using pip as in: `pip install frida-tools`

* [ ] You must have `adb` installed and in your path. If you don't, follow the instructions [here ](https://www.xda-developers.com/install-adb-windows-macos-linux/)under "Microsoft Windows ADB Setup". ( Verify this is installed by opening a command prompt and typing `adb` )<br>

* [ ] We are going to be using jadx-gui for static analysis. Jadx requires Java Runtime Environment 8. However, it has a download available that includes it. Check the releases page [here](https://github.com/skylot/jadx/releases) or download version 1.1.0 from [this link](https://github.com/skylot/jadx/releases/download/v1.1.0/jadx-gui-1.1.0-with-jre-windows.zip).

### Lab Kit

This lab kit includes: the PhotoVault APK version we used in this lab, frida scripts, and sample data.

{% file src="/files/-M6XP090JDdhFn37u093" %}
Download Lab Kit
{% endfile %}

### Video Walkthrough: Environment Setup

{% embed url="<https://www.youtube.com/watch?v=Ew3VfY07Pxk>" %}

This video covers the following topics:

* Installing frida-tools on the host machine.
* Obtaining the appropriate frida-server from the github releases page.
* Pushing frida-server to the device and making it executable.
* Running frida-server in a way that does not halt everything when you close your ADB session.

See also [\[1\] Lab setup and initial app exploration](/lab/1-lab-setup-and-initial-app-exploration.md) for non-video based instructions!
