1 00:00:00,830 --> 00:00:10,770 In this lesson we are going to learn how to correct this hero key and these are the steps of Step 1. 2 00:00:10,910 --> 00:00:18,550 Search for the strings for back message then put a breakpoint on the back message and that message is 3 00:00:18,580 --> 00:00:24,400 a message which tells you that you have entered a wrong zero key. 4 00:00:24,400 --> 00:00:29,900 After you have put a breakpoint the program will pass. 5 00:00:29,950 --> 00:00:37,060 At the break point for the better message you then search for where this hero key isn't being compared 6 00:00:37,660 --> 00:00:47,810 with the one which the user entered then you put a new breakpoint on the comparison and thereafter you 7 00:00:47,840 --> 00:00:49,960 extract this hero key. 8 00:00:50,180 --> 00:00:51,470 So let's get started. 9 00:00:53,360 --> 00:01:02,440 Open your correct me file using the SCC for DB e.g. and now you at the studying. 10 00:01:02,880 --> 00:01:10,660 Let's run to the entry point by pressing f 9 or clicking on the Iran button. 11 00:01:11,960 --> 00:01:16,220 And you are now at the entry point next. 12 00:01:16,300 --> 00:01:33,810 Just click on f 9 again and you will see the window showing into any wrong 0 key uncheck and you will 13 00:01:33,810 --> 00:01:36,680 show you the year that message. 14 00:01:37,560 --> 00:01:51,020 So notice and that message consists of the caption in the string or the message so in order to possible 15 00:01:51,020 --> 00:01:57,470 grim we need to find the correct breakpoint to put at a moment. 16 00:01:57,470 --> 00:02:04,310 We are not able to analyze the code because the program did not pass for us to analyze. 17 00:02:04,310 --> 00:02:14,430 It is running all the time so one way to find the breakpoint to put is to look for the strings in the 18 00:02:14,430 --> 00:02:15,220 back message. 19 00:02:16,470 --> 00:02:29,910 So just make sure you are in the user mode module rightly and then search for current module string 20 00:02:29,910 --> 00:02:39,970 references and he will perform all the search and then a result here look for the string which is showing 21 00:02:39,970 --> 00:02:42,240 up in the back message. 22 00:02:42,250 --> 00:02:44,890 In this case wrong zero key. 23 00:02:44,980 --> 00:02:55,870 Try again so publicly on this to go to the instruction and you can see it is over here. 24 00:02:55,960 --> 00:03:01,360 Then the string is being used in a message box. 25 00:03:01,930 --> 00:03:11,180 And this is the message box showing us a better message and all of these are the preparation for the 26 00:03:11,180 --> 00:03:13,590 message box to be shown. 27 00:03:13,760 --> 00:03:21,130 And if we look further you will find us another message box which is showing us a good message. 28 00:03:21,140 --> 00:03:26,970 It says Congress rather than so it is this good message. 29 00:03:27,060 --> 00:03:38,520 Which one to be shown so if you think and analyze it carefully there should be some kind of a comparison 30 00:03:38,520 --> 00:03:48,040 being made somewhere on top within sites wish message box is to be shown and that comparison is a comparison 31 00:03:48,040 --> 00:03:58,480 between the low key that the user enters and the correct key so if he were to screw up further we should 32 00:03:58,480 --> 00:04:06,900 be able to look to look for something interesting and over here you will find something interesting 33 00:04:06,900 --> 00:04:07,140 here. 34 00:04:08,640 --> 00:04:09,000 OK. 35 00:04:09,010 --> 00:04:11,890 But before that let us put a break point. 36 00:04:12,350 --> 00:04:19,530 Probably over here just before the good message is being shown. 37 00:04:19,900 --> 00:04:27,580 As you can see this gem jumps over the good message and goes to show you the bad message. 38 00:04:27,580 --> 00:04:29,670 So this is a good place to put a break point. 39 00:04:30,670 --> 00:04:32,170 So let us restart the program 40 00:04:36,230 --> 00:04:38,860 and enter the wrong zero key. 41 00:04:39,020 --> 00:04:45,790 Click on Jack any pauses at the jump. 42 00:04:46,020 --> 00:04:47,460 And so the junk will be taken. 43 00:04:48,570 --> 00:04:54,480 If you were to read f it you will continue to jump and show you that message. 44 00:04:55,400 --> 00:04:57,390 Let's press f it just to check it out 45 00:05:01,170 --> 00:05:01,770 in jumps. 46 00:05:01,820 --> 00:05:03,250 What a good message. 47 00:05:03,440 --> 00:05:06,920 And now it is in the back message session. 48 00:05:07,230 --> 00:05:08,680 He continued to press F it 49 00:05:14,920 --> 00:05:18,500 and that message is being shown here. 50 00:05:18,520 --> 00:05:19,610 Wrong zero key. 51 00:05:19,660 --> 00:05:20,200 Try again. 52 00:05:21,380 --> 00:05:21,880 OK. 53 00:05:21,910 --> 00:05:31,540 So now let us analyze further high up to see if we can put a breakpoint foot up just before the decision 54 00:05:31,540 --> 00:05:36,260 is being made to jump or not to jump obviously over here. 55 00:05:36,270 --> 00:05:39,920 It is testing the value of x to see whether or not can. 56 00:05:39,990 --> 00:05:47,870 So if something is setting the value in the X or What is setting it has more than see so you keep screwing 57 00:05:47,870 --> 00:05:48,270 up. 58 00:05:48,320 --> 00:05:59,100 You will find something interesting over here get dialogue item tax so this get ILO data item tax is 59 00:05:59,110 --> 00:06:05,670 a Windows function to extract the tax that is being kicked in by the user. 60 00:06:06,400 --> 00:06:13,160 So this appears to be a good place to put a breakpoint and we can remove this one. 61 00:06:13,270 --> 00:06:18,840 Now we reran the program again. 62 00:06:19,400 --> 00:06:21,590 Now we're here. 63 00:06:21,660 --> 00:06:24,830 Key in the wrong zero key. 64 00:06:24,830 --> 00:06:25,560 Click on check. 65 00:06:26,510 --> 00:06:32,310 And we break just as we anticipated and they get Della item tax. 66 00:06:32,420 --> 00:06:35,660 So at this point here is a bar to a string. 67 00:06:35,660 --> 00:06:38,400 The key is to use enters. 68 00:06:38,570 --> 00:06:40,150 So let's press F it 69 00:06:44,680 --> 00:06:47,580 and if you can see something is happening here. 70 00:06:47,950 --> 00:06:56,420 It is moving a string into easy X and now it has a loader. 71 00:06:56,540 --> 00:07:02,640 The tax then the user entered into e x. 72 00:07:02,870 --> 00:07:11,020 So as you can see X has got the string that the user entered and easy access or something else. 73 00:07:11,180 --> 00:07:19,260 Let's move one press F it and now it is trying to compare it is trying to compare between ESEA and e 74 00:07:19,270 --> 00:07:22,910 s to see that idea the same. 75 00:07:22,910 --> 00:07:30,920 So this is where the decision is going to be made whether or not the user has entered the correct 0 76 00:07:30,950 --> 00:07:31,860 key. 77 00:07:31,940 --> 00:07:37,080 So as you can guess this must be the zero g. 78 00:07:37,130 --> 00:07:38,090 Correct zero G. 79 00:07:38,780 --> 00:07:51,980 So you can right click on this copy line basically into not that in describing the 80 00:07:56,830 --> 00:07:57,130 put it. 81 00:07:57,130 --> 00:07:58,370 Come here. 82 00:07:58,360 --> 00:08:01,110 Now let's rerun the program. 83 00:08:01,120 --> 00:08:04,320 We can remove the breakpoint if you want 84 00:08:08,360 --> 00:08:12,320 and now we show base this year. 85 00:08:12,710 --> 00:08:16,860 Check F nine to run 86 00:08:19,660 --> 00:08:21,080 easy. 87 00:08:21,190 --> 00:08:24,320 The Congress measures is being shown. 88 00:08:24,400 --> 00:08:29,130 So you have managed to create this Iraqi key for this program. 89 00:08:29,170 --> 00:08:30,040 Thank you for watching.