WEBVTT

1
00:01.970 --> 00:02.600
Welcome back.

2
00:02.840 --> 00:10.640
In this lesson, we are going to explore how to patch the things to always show the good message, even

3
00:10.640 --> 00:13.370
though you enter the wrong username or serial.

4
00:13.520 --> 00:15.140
So you can try this on your own.

5
00:15.140 --> 00:19.010
Pause the video and later on check the solution.

6
00:20.810 --> 00:22.100
Okay, I hope you have tried that.

7
00:22.100 --> 00:24.110
So let's see how to solve this.

8
00:24.470 --> 00:27.380
We run this now and let the thing pop up.

9
00:28.310 --> 00:31.580
Now we enter any wrong username.

10
00:33.820 --> 00:38.500
And we enter any serial, not the correct serial.

11
00:38.500 --> 00:40.750
But it will still when you click on check.

12
00:41.830 --> 00:42.640
Click run.

13
00:43.030 --> 00:45.520
It will still show the sorry.

14
00:45.520 --> 00:46.090
Don't give up.

15
00:46.510 --> 00:50.890
So we want it to show the good message no matter whatever we enter.

16
00:51.850 --> 00:53.200
So let's see how to do that.

17
00:53.290 --> 00:54.220
Click check again.

18
00:55.090 --> 00:58.090
And now it hits our breakpoint.

19
00:58.900 --> 01:00.850
So we go to graph view.

20
01:02.440 --> 01:08.800
And then we will come down until this jump.

21
01:09.640 --> 01:18.040
And this is the place where it will decide whether to show the bad message on the left or to show

22
01:18.040 --> 01:19.570
the good message on the right.

23
01:19.570 --> 01:21.280
So we'll keep on.

24
01:21.670 --> 01:24.580
We'll put the breakpoint here and run over here.

25
01:25.060 --> 01:27.400
So run until it hits this breakpoint.

26
01:27.940 --> 01:29.620
Let's remove the breakpoint now.

27
01:30.610 --> 01:36.790
So as you can see here test - is checking whether - is zero.

28
01:37.360 --> 01:40.000
That means it is expecting - to be zero.

29
01:40.570 --> 01:48.400
But because it is not zero, therefore this jump will go to the left because JNE means jump not

30
01:48.400 --> 01:49.360
equal to zero.

31
01:49.960 --> 01:52.630
The easiest way to solve this is to NOP this.

32
01:52.630 --> 01:53.770
So I already put a comment.

33
01:53.770 --> 01:54.280
NOP this.

34
01:54.280 --> 01:55.510
So when you NOP

35
01:55.510 --> 02:00.760
this, no matter whatever the value of -, it doesn't matter.

36
02:00.760 --> 02:02.920
It will still go to the right when you NOP this.

37
02:03.490 --> 02:07.240
So let's now follow in this assembler and NOP this.

38
02:09.290 --> 02:13.070
Right-click, binary, fill with NOPs, click okay.

39
02:14.720 --> 02:16.310
So now we are going to patch it.

40
02:16.310 --> 02:22.520
So patch file, click patch and select a new name.

41
02:22.520 --> 02:25.910
Put dash one at the back here, click save.

42
02:27.570 --> 02:28.800
I've done it before.

43
02:29.430 --> 02:30.870
Okay, so now let's test it.

44
02:31.740 --> 02:33.090
Test our patched one.

45
02:34.530 --> 02:36.990
We can close this one first.

46
02:38.220 --> 02:40.710
And let's run our patched one.

47
02:44.760 --> 02:46.680
So we enter any user.

48
02:51.080 --> 02:52.310
And any serial.

49
02:53.720 --> 02:56.480
And we click check and it says great job.

50
02:56.480 --> 02:57.650
So we have solved it.

51
02:57.650 --> 02:58.970
Let's try another one.

52
02:58.970 --> 03:02.270
Any other serial and any other user.

53
03:09.890 --> 03:11.000
Also it shows great job.

54
03:11.000 --> 03:13.820
So this is a very, very simple software patch.

55
03:14.060 --> 03:15.830
So that's all for this video.

56
03:15.830 --> 03:17.360
Thank you for watching.