explaingit

reverseclabs/drozer

4,512PythonAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

An Android security testing framework that pretends to be an app on a device and probes other apps for weaknesses, giving security testers a ready-made command-line toolset instead of writing custom test code.

Mindmap

mindmap
  root((drozer))
    What it does
      Android security testing
      App vulnerability probing
    How it works
      Console on your computer
      Agent app on device
      Network connection
    Tech stack
      Python
      Docker container
      Android agent
    Use cases
      Penetration testing
      App security audits
    Audience
      Security professionals
      Pentesters
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Test an Android app for exposed components or insecure permissions without writing custom test code from scratch.

USE CASE 2

Run drozer modules to inspect another app's content providers, activities, and broadcast receivers for security flaws.

USE CASE 3

Use the Docker container to run drozer on a modern system without fighting old Python dependency problems.

USE CASE 4

Open a shell on a connected Android device or emulator to explore its filesystem and permissions interactively.

Tech stack

PythonDockerAndroid

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires an Android device or emulator, ADB, and either Python with legacy dependencies or Docker, antivirus on Windows will flag drozer and may require running in a VM.

Use freely for any purpose including commercial, as long as you keep the copyright notice. The 3-clause BSD license allows redistribution with attribution.

In plain English

Drozer is a security testing framework designed specifically for Android. It works by pretending to be an app on an Android device, then using that position to probe other apps and the device itself for security weaknesses. Rather than requiring testers to write custom code for each test, drozer gives them a ready-made toolset to interact with Android's internal systems and other apps' communication channels. The goal is to show what damage a malicious app could do if a developer has left certain parts of their app exposed. The original creator, MWR InfoSecurity, later transferred the project to F-Secure, which has since stopped active development. The project now lives under ReversecLabs. Because of the age of the tooling, F-Secure created a Docker container so testers can still run drozer on modern systems without fighting dependency issues. Docker is essentially a self-contained environment that bundles everything the software needs to run, making setup much simpler. Using drozer requires two pieces: a console application installed on your computer, and an agent app installed on the Android device or emulator you want to test. Once both are running, you connect them over a network port and get a command prompt on your computer that lets you explore the device. From there you can list available test modules, run specific checks, open a shell on the device, and inspect what permissions the agent has been granted. Installation is available through standard Python packaging for Linux, macOS, and Windows, as well as .deb and .rpm packages for common Linux distributions and an .msi installer for Windows. Arch Linux users can install it through the BlackArch repository. One note for Windows users: antivirus software will frequently flag drozer as a threat because it is, by design, an exploitation tool. The README recommends running it inside a virtual machine on Windows. Drozer is open source under a 3-clause BSD license and has historically been used by professional penetration testers who need to assess Android app security without building custom testing apps from scratch.

Copy-paste prompts

Prompt 1
I have drozer installed and an Android emulator running. Walk me through connecting the drozer console to the agent and listing the attack surface of a specific installed app by package name.
Prompt 2
Show me the drozer commands to test whether a content provider in an Android app is exported without permission controls, and how to read data from it if it is vulnerable.
Prompt 3
How do I set up drozer using Docker so I don't need to install its Python dependencies locally? Include the command to forward the agent's port from the emulator to my machine.
Prompt 4
What drozer modules should I run first when assessing a new Android app for security issues? List the commands and what each one checks.
Prompt 5
How do I install the drozer agent APK onto an Android emulator using ADB and verify that it is listening on the correct port?
Open on GitHub → Explain another repo

← reverseclabs on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.