Categories: Android

Android Application Penetration Testing – Part 5

Android Components

Three of the four component types—activities, services, and broadcast receivers—are activated by an asynchronous message called an intent.

Activating Components

Intents bind individual components to each other at run-time (you can think of them as the messengers that request an action from other components), whether the component belongs to your app or to other.

Broadcast Receiver

Broadcast receivers don’t display a user interface, they may create a status bar notification to alert the user when a broadcast event occurs.

Also read Android Application Penetration Testing – Part 1

System Events

An application can be registered to receive broadcasts occurred by system events such as BOOT COMPLETE, SMS RECEIVED, BATTERY LOW, etc. When an application is registered for an SMS RECEIVED event, its receiver will be invoked every time a new SMS is received.

Custom Broadcasts

Apart from the system-generated events, an application also can generate custom broadcast intents for which we can register a receiver.

More commonly, though, a broadcast receiver is just a “gateway” to other components and is intended to do a very minimal amount of work.

For instance, it might initiate a service to perform some work based on the event.An application may register a receiver for the low battery message for example, and change its behavior based on that information.

Example:

A broadcast receiver “MyBroadCastReceiver” is registered in the AndroidManifest.xml file.Broadcast receivers are generally registered in the following format. The code seems insecure since the receiver is exported.

Also Read Android Application Penetration Testing – Part 2

Services

A service is a component that runs in the background to perform long-running operations or to perform work for remote processes.

A service does not provide a user interface, neither component, such as an activity, can start the service and let it run or bind to it in order to interact with it.

For example, a service might play music in the background while the user is in a different application, or it might fetch data over the network without blocking user interaction with an activity.

The three different types of services:

Scheduled-A service is scheduled when an API such as the Job Scheduler, introduced in Android 5.0 (API level 21), launches the service.

Started– A service is started when an application component (such as an activity) calls start Service ().

Bound– A service is bound when an application component binds to it by calling bind Service ().

Service in the manifest Declare all services in your application’s manifest file, just as for activities and other components.

<Manifest … >

<application … >
<service android: name=”.Example Service” />

</application>
</manifest>

        Services

Activity

To be simple an activity represents a single screen with a user interface. For Example, one activity for Login and another activity after login has been successful.

Activity serves as the entry point for a user’s interaction with an app and is also central to how a user navigates within an app or between apps.

Also Read Android Application Penetration Testing – Part 3

The Activity class provides a number of callbacks that allow the activity to know that a state has changed: that the system is creating, stopping, or resuming an activity, or destroying the process in which the activity resides.

                  Example of activities

Content Provider

Content Provider component supplies data from one application to others on request.

You can store the data in the file system, a Sq-Lite database, on the web, or any other persistent storage location your app can access.

Through the content provider, other apps can query or even modify the data (if the content provider allows it).

Content Provider is useful in cases when an app wants to share data with another app.

Also Read Android Application Penetration Testing – Part 4

Gurubaran

Gurubaran is a co-founder of Cyber Security News and GBHackers On Security. He has 10+ years of experience as a Security Consultant, Editor, and Analyst in cybersecurity, technology, and communications.

View Comments

Recent Posts

Cisco Nexus Vulnerability Allows Attackers to Inject Malicious Commands

Cisco Systems has issued a critical security advisory for a newly disclosed command injection vulnerability…

1 hour ago

New Wi-Fi Jamming Attack Can Disable Specific Devices

A newly discovered Wi-Fi jamming technique enables attackers to selectively disconnect individual devices from networks…

2 hours ago

GitLab Vulnerabilities Allow Attackers to Bypass Security and Run Arbitrary Scripts

GitLab has urgently released security updates to address multiple high-severity vulnerabilities in its platform that…

3 hours ago

LibreOffice Flaws Allow Attackers to Run Malicious Files on Windows

A high-severity security vulnerability (CVE-2025-0514) in LibreOffice, the widely used open-source office suite, has been…

4 hours ago

Cisco Nexus Switch Vulnerability Allows Attackers to Cause DoS

Cisco Systems has disclosed a high-severity vulnerability (CVE-2025-20111) in its Nexus 3000 and 9000 Series…

4 hours ago

Silver Fox APT Hackers Target Healthcare Services to Steal Sensitive Data

A sophisticated cyber campaign orchestrated by the Chinese Advanced Persistent Threat (APT) group, Silver Fox,…

13 hours ago