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