Spyware Reverse Engineering

Android App Structure

Android APK Structure

Tools

Android Permissions

Please reference this permissions overview ↗ for descriptions of the listed permissions that are considered dangerous.

READ_CALENDAR
WRITE_CALENDAR
READ_CALL_LOG
WRITE_CALL_LOG
PROCESS_OUTGOING_CALLS
CAMERA
READ_CONTACTS
WRITE_CONTACTS
GET_ACCOUNTS
ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
RECORD_AUDIO
READ_PHONE_STATE
READ_PHONE_NUMBERS
CALL_PHONE
ANSWER_PHONE_CALLS
ADD_VOICEMAIL
USE_SIP
BODY_SENSORS
SEND_SMS
RECEIVE_SMS
READ_SMS
RECEIVE_WAP_PUSH
RECEIVE_MMS
READ_EXTERNAL_STORAGE
WRITE_EXTERNAL_STORAGE

Important Android Components

  • Activities A key component of most Android apps, activities can handle unexpected changes, device rotation, and data saving

  • Services Run in the background of an app to perform long-running tasks without a user interface

  • Broadcast receivers Respond to system-wide broadcast announcements, known as Intents, to perform functions like alerting the user when the battery is low

  • Intents A frequently used component that allows users to call other app components, activities, or applications on the phone

  • Fragments A reusable portion of an app's UI that manages its own layout, lifecycle, and input events

  • Lists A key UI element that represents a range of information

  • RecyclerView A commonly used Android component for displaying a list of items

  • Android architecture The foundation of the Android mobile operating system, which is essential for creating high-quality and scalable apps

  • Jetpack Compose A tool that simplifies the process of building complex UIs, saving developers time and reducing errors

Android Services and Receivers

Services

Services are critical application components that can perform long-time operations. For example, Spotify services can play music in the background even if the app is closed.

Broadcast Receivers

They respond to broadcast messages from another application or system, for example, a low battery message, or a no wifi connection message. They can respond to these types of messages. They can receive messages from other apps. They have various types, such as SMS broadcast receiver, Battery state, etc. You can create your own custom broadcast receiver.

Decompiling an APK

Open the .apk file with jadx-gui by right clicking on the apk file and selecting the open with option.

Install Jadx Using

sudo apt install jadx
android manifest file review

The same thing can be achieved using https://mobsf.live/


REFERENCES

Last updated

Was this helpful?