Skip to main content

Android Internals

This course builds on the foundation established in the Intro to Android Programming course, diving deeper into the Android operating system.
 
5-Day Course
OS Internals & Security
Native App Development
Cyber Research
 

Course Description

This course dives deeper into the Android operating system to explore concepts such as the internals of APKs, the Package Manager, the Activity Manager, Zygote, Android Services, RILD, HAL, and WiFi. Students who take this course will learn advanced architectural concepts of the Android operating system as well as develop native applications that interface with many different components of an Android device. Students will also learn how to analyze and reverse engineer APKs.

Prerequisites


• Bachelor’s degree in Computer Science, Computer Engineering, or equivalent experience.
• Must have taken our Intro to Android Programming course or have sufficient experience in Android development.


What You Will Learn


Reverse engineer and decompile APKs to understand their structure and functionality.
Explore the internals of core components like the Package Manager, Activity Manager, and Zygote.
Understand the Android boot process, including unpacking and repacking the boot image.
Interface with hardware by learning about RILD and WiFi internals and creating a custom HAL module.


Daily Agenda


Day 1: APKs and Core Managers

Decompiling and reverse engineering APKs, understanding their structure, format, and signing process. A deep dive into Package Manager and Activity Manager internals.

Day 2: Process Creation and System Services

Exploring Zygote internals, Android Service architecture, manually spawning APKs, tracing system server requests, and bypassing permission checks.

Day 3: The Boot Process and Security Model

A detailed look at boot internals, including unpacking/repacking the boot image and init internals. Also covers the Android security model in depth, including SELinux.

Day 4: Hardware Abstraction Layer (HAL)

Learn about RILD internals and filtering, HAL internals, WiFi internals, and apply knowledge by creating a custom HAL module for direct WiFi access.

Day 5: In-depth Practical & Final Exam

Apply all concepts from the week in a comprehensive practical exercise, followed by the final exam for certification.