0 1 00:00:06,660 --> 00:00:12,090 Welcome to the course Android reverse engineering from scratch where you will learn Android reverse 1 2 00:00:12,090 --> 00:00:13,940 engineering in three hours. 2 3 00:00:15,640 --> 00:00:18,490 So here is an overview of the course. 3 4 00:00:18,670 --> 00:00:24,130 We will start off with the course prerequisites where we will cover both the skills needed to be able 4 5 00:00:24,130 --> 00:00:27,430 to follow this course as well as the technical requirements. 5 6 00:00:28,530 --> 00:00:34,530 Now even though we tried to deliver a hands on course we still had to provide a short section with a 6 7 00:00:34,530 --> 00:00:37,150 brief introduction to Android. 7 8 00:00:37,230 --> 00:00:42,510 We will try to keep this as short as possible but it is good to cover the foundations to understand 8 9 00:00:42,510 --> 00:00:46,680 how Android works and more importantly how Android apps work. 9 10 00:00:47,770 --> 00:00:53,020 There are significant differences between Android apps and apps on a more traditional platform like 10 11 00:00:53,020 --> 00:00:54,520 Windows. 11 12 00:00:54,520 --> 00:01:01,240 Here we will briefly cover some of these differences the rest of the course is more hands on and the 12 13 00:01:01,240 --> 00:01:07,940 students are expected to follow and recreate what is being demonstrated we start off by setting up the 13 14 00:01:07,940 --> 00:01:09,560 lab environment. 14 15 00:01:09,560 --> 00:01:15,110 Here we will go through the installation of all the tools that will be used throughout the course without 15 16 00:01:15,110 --> 00:01:18,360 going into too much detail about their features. 16 17 00:01:18,440 --> 00:01:23,150 We wanted to get this out of the way in order to avoid spending time going through the installation 17 18 00:01:23,150 --> 00:01:28,830 processes mid exercise. Once the lab is complete. 18 19 00:01:29,040 --> 00:01:33,150 We will go through the process of developing a basic Android app. 19 20 00:01:33,150 --> 00:01:38,610 We understand that there are many students that may not have development knowledge or else they do have 20 21 00:01:38,610 --> 00:01:44,600 scripting or development knowledge but perhaps on other platforms and in other languages. 21 22 00:01:44,690 --> 00:01:48,590 The idea here is not to provide a full development course. 22 23 00:01:48,590 --> 00:01:54,380 However we believe that taking you through the process that a normal app developer or even a malware 23 24 00:01:54,440 --> 00:02:00,200 author goes through when developing their app will provide a better overall understanding of what we 24 25 00:02:00,200 --> 00:02:07,210 need to look for as reverse engineers after developing a basic app which will in fact be a malicious 25 26 00:02:07,210 --> 00:02:08,110 app. 26 27 00:02:08,110 --> 00:02:13,390 We will change our hat and go through the analysis of the malicious app through the eyes of a reverse 27 28 00:02:13,390 --> 00:02:14,720 engineer. 28 29 00:02:14,800 --> 00:02:21,190 Here we will use the tools that we installed during the lab setup to analyze the malicious app. 29 30 00:02:21,200 --> 00:02:26,600 Finally we will take the techniques that we learned during the analysis section and apply them to a 30 31 00:02:26,600 --> 00:02:28,480 real life ransomware case. 31 32 00:02:29,120 --> 00:02:35,180 Moreover we will use the analysis results to mitigate the harm caused by the ransomware. 32 33 00:02:35,180 --> 00:02:40,850 Here we will be creating a decryption tool that decrypt the files encrypted by the ransomware.