1 00:00:00,630 --> 00:00:02,880 ‫Instructor: Hi, within this lecture 2 00:00:02,880 --> 00:00:06,090 ‫we're going to start working on a game 3 00:00:06,090 --> 00:00:07,230 ‫and we're going to hack it 4 00:00:07,230 --> 00:00:10,170 ‫and manipulate it in a way that we want. 5 00:00:10,170 --> 00:00:13,830 ‫But before that, let me show you some GitHub page. 6 00:00:13,830 --> 00:00:16,380 ‫I'm going to share this page on the resources 7 00:00:16,380 --> 00:00:21,380 ‫and at the end of this section where you can find the codes 8 00:00:21,630 --> 00:00:25,110 ‫of the app that we have written in this section. 9 00:00:25,110 --> 00:00:26,970 ‫And over here you can find 10 00:00:26,970 --> 00:00:30,150 ‫the release and debug APKs as well. 11 00:00:30,150 --> 00:00:33,030 ‫So if you don't want to build the app on your own 12 00:00:33,030 --> 00:00:35,250 ‫you can just download it from here 13 00:00:35,250 --> 00:00:38,250 ‫and try to open the dalvik bytecodes 14 00:00:38,250 --> 00:00:41,310 ‫and do what we have done so far. 15 00:00:41,310 --> 00:00:44,250 ‫However, there is a more important part 16 00:00:44,250 --> 00:00:48,930 ‫for this following lectures in GitHub as well. 17 00:00:48,930 --> 00:00:51,090 ‫So this is for MyReverseApp 18 00:00:51,090 --> 00:00:54,030 ‫but also we have this word game as well. 19 00:00:54,030 --> 00:00:57,120 ‫So I'm going to share this link with you 20 00:00:57,120 --> 00:00:59,640 ‫and you're going to find a game 21 00:00:59,640 --> 00:01:03,690 ‫that I have written specifically for this course. 22 00:01:03,690 --> 00:01:06,990 ‫This is a game where you find the common words. 23 00:01:06,990 --> 00:01:08,343 ‫It's a common word game. 24 00:01:09,180 --> 00:01:12,030 ‫So if you haven't played with this before 25 00:01:12,030 --> 00:01:14,880 ‫I'm going to show you what it is in a minute. 26 00:01:14,880 --> 00:01:17,010 ‫So make sure you download this 27 00:01:17,010 --> 00:01:20,310 ‫as a zip to your computer, okay? 28 00:01:20,310 --> 00:01:22,710 ‫And then you can read the source code 29 00:01:22,710 --> 00:01:26,340 ‫you can read the APKs that I have generated for you 30 00:01:26,340 --> 00:01:28,440 ‫and everything as well. 31 00:01:28,440 --> 00:01:30,360 ‫So I'm going to close this down. 32 00:01:30,360 --> 00:01:34,080 ‫So MyReverseApp was still on, okay. 33 00:01:34,080 --> 00:01:38,520 ‫And I'm going to choose open existing file or project 34 00:01:38,520 --> 00:01:41,010 ‫and I'm, I'm gonna find the word game 35 00:01:41,010 --> 00:01:42,930 ‫that we have just downloaded 36 00:01:42,930 --> 00:01:45,840 ‫and you don't have to do that, okay? 37 00:01:45,840 --> 00:01:49,440 ‫We, we will pretend that we don't know anything 38 00:01:49,440 --> 00:01:51,810 ‫about the source code of this project. 39 00:01:51,810 --> 00:01:56,640 ‫We will just work on APK like a real hacker will do. 40 00:01:56,640 --> 00:01:57,480 ‫Okay? 41 00:01:57,480 --> 00:02:00,030 ‫But anyhow, I'm going to show you 42 00:02:00,030 --> 00:02:03,180 ‫the files them folders over here, 43 00:02:03,180 --> 00:02:04,590 ‫so that if you want to create 44 00:02:04,590 --> 00:02:07,290 ‫your own APK out of this project 45 00:02:07,290 --> 00:02:09,600 ‫you will be familiar with it. 46 00:02:09,600 --> 00:02:13,590 ‫As you can see there are couple of files and folders, 47 00:02:13,590 --> 00:02:14,850 ‫couple of Java classes, 48 00:02:14,850 --> 00:02:18,330 ‫so you can actually see the effects of, of obfuscation 49 00:02:18,330 --> 00:02:20,790 ‫in a real way at this project. 50 00:02:20,790 --> 00:02:24,060 ‫So let me delete the previous files that we have used 51 00:02:24,060 --> 00:02:26,010 ‫and let me go into the app folder 52 00:02:26,010 --> 00:02:28,200 ‫where I can find the release folder 53 00:02:28,200 --> 00:02:31,770 ‫in which where I can find the app release APK. 54 00:02:31,770 --> 00:02:35,310 ‫So I'm going to copy and paste this APK on my desktop 55 00:02:35,310 --> 00:02:39,210 ‫because we will work on on this APK right now. 56 00:02:39,210 --> 00:02:40,410 ‫Okay? 57 00:02:40,410 --> 00:02:44,760 ‫So if you open word game or if you open any project 58 00:02:44,760 --> 00:02:49,290 ‫you can just run the emulator and see the game, 59 00:02:49,290 --> 00:02:52,740 ‫How, what game looks like, because you don't have to 60 00:02:52,740 --> 00:02:56,790 ‫run this project particularly, 61 00:02:56,790 --> 00:03:01,680 ‫you can run any project just to open your emulator 62 00:03:01,680 --> 00:03:04,470 ‫and then you can install the APK 63 00:03:04,470 --> 00:03:07,410 ‫by dragging and dropping inside of your emulator. 64 00:03:07,410 --> 00:03:09,600 ‫You know that already. 65 00:03:09,600 --> 00:03:12,900 ‫I just wanted to show you how game looks like. 66 00:03:12,900 --> 00:03:14,880 ‫So this is our word game. 67 00:03:14,880 --> 00:03:17,880 ‫It gives us some categories like fruit 68 00:03:17,880 --> 00:03:21,960 ‫so you guess a fruit like a banana or an apple. 69 00:03:21,960 --> 00:03:25,380 ‫And if it's a common word, then you get a point. 70 00:03:25,380 --> 00:03:28,410 ‫If it's not, you don't get a point, okay? 71 00:03:28,410 --> 00:03:32,370 ‫This is very simple and you can actually change categories 72 00:03:32,370 --> 00:03:36,930 ‫and you can actually try with other words as well. 73 00:03:36,930 --> 00:03:41,460 ‫So for example, I'm gonna go for Apple for fruits, okay? 74 00:03:41,460 --> 00:03:43,770 ‫And I'm going to send my guess 75 00:03:43,770 --> 00:03:46,890 ‫and as you can see, score increases by one. 76 00:03:46,890 --> 00:03:51,890 ‫So if I go for another fruit like app for example 77 00:03:52,140 --> 00:03:56,070 ‫it won't increase because it's not even a fruit, okay? 78 00:03:56,070 --> 00:04:00,180 ‫But if I can find a common word like banana 79 00:04:00,180 --> 00:04:02,400 ‫the score will increase as well. 80 00:04:02,400 --> 00:04:05,160 ‫If I write banan, it won't increase. 81 00:04:05,160 --> 00:04:07,560 ‫If I change the category to something else 82 00:04:07,560 --> 00:04:10,830 ‫for example, bands, then I should guess some bands 83 00:04:10,830 --> 00:04:14,550 ‫like Metallica or here and I wanna send one 84 00:04:14,550 --> 00:04:17,460 ‫and as you can see, the score increases 85 00:04:17,460 --> 00:04:20,160 ‫it doesn't increase for metallic. 86 00:04:20,160 --> 00:04:22,080 ‫So there are a couple of categories 87 00:04:22,080 --> 00:04:24,810 ‫and there are a couple of keywords that you can use 88 00:04:24,810 --> 00:04:27,390 ‫and there are some bugs as you can see. 89 00:04:27,390 --> 00:04:31,560 ‫I can increase my score as long as I press send 90 00:04:31,560 --> 00:04:35,400 ‫as long as I find just fun, one keyword 91 00:04:35,400 --> 00:04:38,310 ‫and this is generally not we want in a game 92 00:04:38,310 --> 00:04:41,010 ‫but this game is just created for this course. 93 00:04:41,010 --> 00:04:44,610 ‫So I'm not gonna deal with that kind of problem. 94 00:04:44,610 --> 00:04:48,090 ‫I just didn't want to make things very complicated 95 00:04:48,090 --> 00:04:50,130 ‫at this point, okay? 96 00:04:50,130 --> 00:04:52,080 ‫So here is our game. 97 00:04:52,080 --> 00:04:54,030 ‫So how do we want to hack it? 98 00:04:54,030 --> 00:04:56,190 ‫How do we want to manipulate it? 99 00:04:56,190 --> 00:05:00,480 ‫Just pretend that you downloaded this APK from some website 100 00:05:00,480 --> 00:05:04,593 ‫like apkpure or apkmirror, and want to hack it in a way, 101 00:05:05,460 --> 00:05:08,520 ‫so that whatever you write as an input over here 102 00:05:08,520 --> 00:05:12,210 ‫your score will increase one, by one, okay? 103 00:05:12,210 --> 00:05:14,760 ‫So if I write banana, it won't matter 104 00:05:14,760 --> 00:05:16,950 ‫if I write atill, it will still increase. 105 00:05:16,950 --> 00:05:21,540 ‫If I write some other stuff that you haven't heard of 106 00:05:21,540 --> 00:05:23,700 ‫it will still increase the score. 107 00:05:23,700 --> 00:05:27,000 ‫So I want to manipulate this app, 108 00:05:27,000 --> 00:05:30,960 ‫so that it will accept any input 109 00:05:30,960 --> 00:05:34,080 ‫and increase my score by one. 110 00:05:34,080 --> 00:05:36,930 ‫So this is actually the way 111 00:05:36,930 --> 00:05:40,980 ‫that you can work with other games as well. 112 00:05:40,980 --> 00:05:43,650 ‫So this is not valid for this game only. 113 00:05:43,650 --> 00:05:46,320 ‫This is not valid for this app only. 114 00:05:46,320 --> 00:05:48,750 ‫If you can find the right methods, 115 00:05:48,750 --> 00:05:51,690 ‫if you can find the right way to do so, 116 00:05:51,690 --> 00:05:53,820 ‫you can hack into any game. 117 00:05:53,820 --> 00:05:58,260 ‫I actually witness real online games getting hacked 118 00:05:58,260 --> 00:06:02,550 ‫by using this kind of operation, okay? 119 00:06:02,550 --> 00:06:05,100 ‫So make sure you pay attention to that 120 00:06:05,100 --> 00:06:08,670 ‫and actually we are not going to learn anything new, 121 00:06:08,670 --> 00:06:12,300 ‫other than using APK tool or jdx, right? 122 00:06:12,300 --> 00:06:14,610 ‫So we are going to be practicing 123 00:06:14,610 --> 00:06:16,230 ‫what we have learned so far, 124 00:06:16,230 --> 00:06:18,900 ‫but we are gonna take it into another level. 125 00:06:18,900 --> 00:06:21,780 ‫We're going to take a look at some 126 00:06:21,780 --> 00:06:25,350 ‫upper intermediate advanced stuff as well. 127 00:06:25,350 --> 00:06:27,750 ‫So over here you have your, 128 00:06:27,750 --> 00:06:30,540 ‫make sure you have your app release apk 129 00:06:30,540 --> 00:06:34,020 ‫make sure you have your emulator running. 130 00:06:34,020 --> 00:06:36,450 ‫And it doesn't matter if you 131 00:06:36,450 --> 00:06:38,580 ‫look at the source code at this moment 132 00:06:38,580 --> 00:06:40,740 ‫because it's a practice. 133 00:06:40,740 --> 00:06:43,050 ‫But I suggest you close down the source code 134 00:06:43,050 --> 00:06:47,490 ‫don't look into it and make it at, as real as possible. 135 00:06:47,490 --> 00:06:50,283 ‫So let's get started in the next lecture.