Drozer is a security testing framework for Android applications that operates through an agent-based remote execution model. It combines a client-server command routing system with a device-side agent, enabling security assessments by mapping inter-process communication (IPC) attack surfaces and running dynamic exploit modules directly on Android devices.
The framework distinguishes itself through its ability to discover and enumerate exported Android components by analyzing manifest data and crafting Intents to probe for vulnerabilities. It supports content provider query injection to detect SQL injection and directory traversal vulnerabilities, dynamic Java code injection for runtime security testing, and rendezvous-based network tunneling that establishes connections through NAT and firewalls without requiring device IP knowledge. The platform is extensible through custom modules that can be loaded from local or remote sources.
Additional capabilities include automated security testing for common vulnerabilities, package inspection to retrieve application metadata and permissions, and interaction with exported activities and services. The framework provides shell access on the device, module and namespace management, and the ability to query content providers and read files through file system-backed providers.