1 00:00:01,410 --> 00:00:02,500 Welcome back. 2 00:00:02,520 --> 00:00:16,320 In the previous lesson we bash the message call unit barometers for the parent window to become f f 3 00:00:16,530 --> 00:00:26,230 f f f f 0 0 by using the N move 0 to hail a destruction. 4 00:00:26,300 --> 00:00:29,540 However that will produce some errors. 5 00:00:29,540 --> 00:00:32,330 Sometimes it works sometimes it doesn't. 6 00:00:33,020 --> 00:00:39,750 So if you put it wrongly sometimes it doesn't work. 7 00:00:39,770 --> 00:00:42,620 Now it feels so using. 8 00:00:42,640 --> 00:00:54,280 So our assembly to replace the recently e s registered 2 0 so this will set the entire base all to 0. 9 00:00:54,290 --> 00:00:59,950 Instead of just the first by so let's get started. 10 00:01:00,020 --> 00:01:01,890 Open the crazy one file. 11 00:01:02,000 --> 00:01:04,280 The X 64 DB e.g. 12 00:01:08,790 --> 00:01:13,540 click on run or press F nine to go to the entry point. 13 00:01:15,110 --> 00:01:17,480 Then search for string references 14 00:01:23,900 --> 00:01:31,060 and you can find the string reference for the wrong message box here. 15 00:01:32,440 --> 00:01:43,390 Double click to go to the address and this is a break point which we set earlier. 16 00:01:43,410 --> 00:01:50,510 Now here you can see the previous DV assemble these we know. 17 00:01:51,510 --> 00:02:05,500 And then we assemble the more l 0 0 2 one of the knobs and that produces some kind of um error rating. 18 00:02:06,070 --> 00:02:10,170 And in this lesson I'm going to show you another way. 19 00:02:10,280 --> 00:02:12,280 So here is supposed to jam. 20 00:02:12,440 --> 00:02:21,590 So we will not his first weekly hanging off a session. 21 00:02:21,800 --> 00:02:26,760 OK make sure this is checked closely. 22 00:02:27,310 --> 00:02:34,750 Now we have two knobs to replace the jump so he will not jump the next thing we want to do is to set 23 00:02:34,750 --> 00:02:35,990 DC s to 0. 24 00:02:36,010 --> 00:02:39,790 So that hole here down here. 25 00:02:40,480 --> 00:02:46,770 Then we push yes you push 0 instead of f f f f f and 0 0. 26 00:02:47,350 --> 00:02:52,780 So we want to assemble a new instruction which I will show you. 27 00:02:52,780 --> 00:02:53,650 It is called ISO. 28 00:02:53,770 --> 00:02:55,790 Ah yes yes. 29 00:02:56,500 --> 00:03:07,940 If you were to assemble here XO are ESEA and click on d to check how much site he takes. 30 00:03:07,990 --> 00:03:13,130 He seems it is bigger by one by. 31 00:03:14,200 --> 00:03:15,490 So you should be fine. 32 00:03:16,510 --> 00:03:22,840 So if we were to assemble this now it will take to buy. 33 00:03:23,200 --> 00:03:24,570 So we have to base here. 34 00:03:24,590 --> 00:03:26,690 Sure it should be just fine. 35 00:03:27,280 --> 00:03:35,560 By taking this we tell the assembler that we only won one by because we want to keep site but it is 36 00:03:35,800 --> 00:03:39,250 comparing say that instruction is bigger by one. 37 00:03:40,360 --> 00:03:47,500 So it is telling us that this some assembly will take up to base the one by which we have here plus 38 00:03:47,560 --> 00:03:48,190 another. 39 00:03:48,820 --> 00:03:49,750 So that is fine. 40 00:03:49,810 --> 00:03:50,980 So that is what we need. 41 00:03:51,020 --> 00:03:54,660 We have to base here so is sufficient. 42 00:03:54,730 --> 00:04:00,960 So I take this in assembler and it takes up 2 bytes. 43 00:04:00,990 --> 00:04:05,400 So now we have already know and replace. 44 00:04:05,430 --> 00:04:12,890 He s had is in time instead of no we replace one instruction to kill two birds. 45 00:04:12,990 --> 00:04:16,020 That means this as I say replaces the time. 46 00:04:16,170 --> 00:04:18,900 So there's no more jam at the same time. 47 00:04:19,230 --> 00:04:21,300 It sets e to zero. 48 00:04:21,870 --> 00:04:30,470 So that whenever you want to set something zero in this do an SLR followed by the reduced earning twice 49 00:04:31,060 --> 00:04:32,740 that we say it to zero. 50 00:04:33,810 --> 00:04:39,600 So now that is uh Randy saying give you the check. 51 00:04:39,650 --> 00:04:41,390 So you enter anything. 52 00:04:41,620 --> 00:04:42,420 Right. 53 00:04:42,710 --> 00:04:45,010 OK so it is here now. 54 00:04:45,010 --> 00:04:57,110 Break Point and we'll take a run and you can see down here the uh well is already shown now we can bet 55 00:04:57,120 --> 00:05:00,630 it so far fetch far. 56 00:05:01,780 --> 00:05:10,090 Click on the button push far and this time we're going to call it best to add a bank. 57 00:05:10,270 --> 00:05:11,780 So keep safe. 58 00:05:12,740 --> 00:05:17,390 OK hang close these and stop this as well. 59 00:05:17,530 --> 00:05:20,000 So now we can go and test now attached to 60 00:05:25,180 --> 00:05:26,610 and do anything. 61 00:05:26,980 --> 00:05:33,130 Check he looks and something else. 62 00:05:33,180 --> 00:05:36,930 Check he looks into another thing. 63 00:05:36,960 --> 00:05:38,620 Check it looks. 64 00:05:38,760 --> 00:05:43,760 So he works for every argument his hand still works too. 65 00:05:43,980 --> 00:05:47,850 Let's trace it and see what happens in the debugger. 66 00:05:48,540 --> 00:05:51,410 So we'll open page two and follow along. 67 00:05:53,160 --> 00:05:57,470 So now the right press F nine. 68 00:05:57,540 --> 00:06:05,420 Click on to run to the entry point and then search for string. 69 00:06:05,610 --> 00:06:13,530 You know Francis and then over here you see the message here. 70 00:06:13,530 --> 00:06:20,700 So just go to that address and then screw up and look for our new assembly. 71 00:06:20,700 --> 00:06:22,610 This is Ellen. 72 00:06:22,680 --> 00:06:27,650 Now we want to trace the tank so yes put a brake find us and move it. 73 00:06:28,140 --> 00:06:32,670 So over here this is where the first perimeter is pushed. 74 00:06:32,680 --> 00:06:35,910 No message in this message box to take for parameter. 75 00:06:36,630 --> 00:06:46,990 As you recall it is called barometers one two three one two three four barometers. 76 00:06:47,010 --> 00:06:47,590 All right. 77 00:06:47,640 --> 00:06:50,240 Now our differences we assembling this Steve 78 00:06:52,980 --> 00:06:53,590 for Vice. 79 00:06:55,800 --> 00:07:01,420 So how does zero say be set to movie clip to zero. 80 00:07:01,470 --> 00:07:06,710 So first perimeter is this which he is on here. 81 00:07:07,070 --> 00:07:17,960 Then second part perimeter push is here so this will be here then in this one will be this haste is 82 00:07:18,290 --> 00:07:22,790 the final one with this we should be zero by the time we reached that line. 83 00:07:23,110 --> 00:07:24,860 So let's give it a try try. 84 00:07:26,530 --> 00:07:27,500 So we run this 85 00:07:32,350 --> 00:07:33,160 keen. 86 00:07:33,300 --> 00:07:36,040 Anything click on the button. 87 00:07:36,100 --> 00:07:39,430 Check any pauses and our breakpoint. 88 00:07:39,510 --> 00:07:42,920 So now is ready to push 0 to the stack press F it 89 00:07:45,930 --> 00:07:56,660 and you push 0 to the say press at it again press F it and you supposed to set the X to zero presently. 90 00:07:56,710 --> 00:08:00,840 E axes f f f f f f f f. 91 00:08:00,850 --> 00:08:10,340 So now you press effort to execute this discussion and notice he says everything is zero privacy when 92 00:08:10,360 --> 00:08:17,860 we used to move instruction move is zero. 93 00:08:17,980 --> 00:08:20,220 You produce this 94 00:08:30,240 --> 00:08:34,220 he will produce this not a better way. 95 00:08:34,220 --> 00:08:43,040 Now I've shown you is to do this when you do this and he says here he is to zero which means he will 96 00:08:43,040 --> 00:08:48,160 get one two three four. 97 00:08:48,830 --> 00:08:49,060 Right. 98 00:08:49,220 --> 00:08:50,930 So it is better privacy. 99 00:08:50,930 --> 00:08:55,720 This feel sometimes because if only the first byte was set to zero. 100 00:08:55,720 --> 00:08:56,220 Okay fine. 101 00:08:56,330 --> 00:09:07,220 So now we are going to push the next insertion push on a string to stack so effort in the Congress he's 102 00:09:07,220 --> 00:09:08,060 pushed it aside. 103 00:09:08,240 --> 00:09:11,560 Congress is a caption no press f it again. 104 00:09:11,840 --> 00:09:12,630 And well done. 105 00:09:12,630 --> 00:09:14,070 String is here to stay. 106 00:09:14,340 --> 00:09:17,330 And now we're going to push you X which is zero. 107 00:09:17,330 --> 00:09:19,730 It is a correct buffet. 108 00:09:20,030 --> 00:09:24,380 So now we have to stay properly pushed. 109 00:09:24,500 --> 00:09:29,450 We have zero in the string exception. 110 00:09:29,510 --> 00:09:30,490 Zero. 111 00:09:30,520 --> 00:09:39,690 This is why we won we zero the caption on the string and the the parent being the lady. 112 00:09:39,930 --> 00:09:40,510 So that's it. 113 00:09:41,100 --> 00:09:51,720 So now we call the function press edit and you can see the message box issue. 114 00:09:52,650 --> 00:09:56,270 So he's working so that's it. 115 00:09:56,410 --> 00:10:05,160 The future if you wanted to bash something register to set it 0. 116 00:10:05,180 --> 00:10:11,660 A good way will be to use hey so ah yes yes that's all for us we. 117 00:10:11,690 --> 00:10:13,190 Thank you for watching.