Now that the lab is set up we will go through the process of developing a basic Android app. 1
Here we will only be using Android Studio and an android emulator. 2
Feel free to create a new emulator before moving on to the rest of the course. 3
Maybe you would prefer to see the app being run on a more recent emulator. 4
We understand that there are many students that may not have development knowledge or else they have 5
scripting or development knowledge but perhaps on other platforms and in other languages. 6
The idea here is not to provide a full development course however we believe that taking you through 7
the process that a normal app developer or even a malware author goes through when developing their 8
app will provide a better overall understanding of what we need to look for as reverse engineers. 9
We will start off by developing a simple shopping list application. 10
We will then code some malicious operations namely the theft of sms's and contacts that will run 11
in the background. 12
The idea here is to create an app that uses all of the Android components. Android apps have four main 13
components, activities, services, broadcast receivers and content providers. An Android Activity is one 14
screen of the Android Apps user interface. 15
In that way in Android Activity is very similar to windows in a desktop application. 16
A service in Android is a background process. 17
Services are typically used for processes that are ongoing or that take a significant period of time. 18
A service doesn't have a user interface so they are often combined with other components such as activities 19
the Android system makes various types of broadcasts an app can respond to to receive broadcast announcements 20
on Android. 21
Your apps can use a broadcast receiver a content provider is a component for managing a data set. 22
This dataset can be private to your application or can be shared with other apps able to query and modify 23
the data but app also make use of a number of permissions. 24
We will start off by going over the application structure. 25
We will then proceed to demonstrating the UI components of an app. 26
Then we'll be adding features to the app by using the four main Android components.