In this lesson we are going to learn reversing judge to do reversing germs.
We will need to use all these previous commands which we learned before including the concept for what
arguments both and then we will learn how to reverse germ and then how to reverse the Zero flag a part
of the register let's get started.
Recorded in the previous example.
Lesson Well we try to run this from the command line.
If we show us a story try harder.
Now we have learned how to set a breakpoint on the string.
Now the objective of this is to state how looking and we try harder message.
We would like to see the flag being displayed here the flag as you recall is a serial number or secret
phrase or a secret word.
And if you refer back to the place where we download is correct me the author evil programmer sees that
this is a very easy flag.
So the objective is to make the program show us the flag instead of show us this message.
Try harder.
So let us see how you can do that so let's run the program in the debugger
let's go to the entry point by pressing F nine run the now and the entry point.
Now let's put a breakpoint on the string so we can either scroll down and look for the string or we
can rightly and look for string.
Search for current you and you have to make sure you are in your user module then string references
over here.
You will find your string try harder so we can double click the address to directly go to once we arrive
here.
We can see that the string is being set up for the call to display so previous lessons.
We put a brake point here to pass so that we can step through using FAA to see the string but now we
want to avoid seeing the string.
How do we avoid seeing the string so let's analyze this a bit notice that this instruction comes from
here a previous jam which takes place over here so it is this jam which brings us to this string this
suggested.
If we don't want to see this string we should not jam at the moment.
The line the arrow is red meaning that the jam will be taken and you can also confirmed by looking in
the status here.
Jam is taken.
So now the question is how do we reverse this jam another phrase here is reversing the jam reversing
the jam.
So you to jam is going to be taken after reversing it will be.
He will not be taken so that is called reversing.
So now let's see before a jam is made a decision has to be made better not to jam so this is decided
by a Register called the Zero fly z f zero flight so the Zero flag will determine whether or not if
we jam if at this point the jam is taken.
And if we don't want it to jam all we need to do is toggle the zero fly by double clicking.
So if I were to double click this.
Now watch what happens to the status in the airline so I would absolutely zero flight to become zero
zero fact now is zero.
Previously it was 1.
And notice the line has changed to gray and the status has two to jump he's not taken.
If he wanted to to toggle back to jump all we have to do is toggle the zero flight back to one by double
clicking again.
And now the Zero flag is one.
And now the line has changed to read and the status is Jim is taking so what the.
Is to stop it from jumping.
So let's toggle the zero flight said it is zero.
So now he will not jump so that we he will not display this string.
Try harder.
So instead what will he do.
He will proceed to the next car below.
So let's press f it before we press feet.
We need to put a brake point here
and then send it back to the previous date.
So now we are going to run to this point.
Press F 9 1 and he will stop.
And is very fine.
So when you are here we want to toggle the zero fly to zero so that he will not jump.
Now we press it
and you will go to the next instruction.
So he has not jumped to the despite a show's history.
Instead he went onto the next line.
Now what do you think would happen if I were to press f it again to call this instruction.
Let's try
you see the flag is shown.
So that means this car who show you the fly right.
And if you press F it again you will go to this line and jump over this string as you can see so we
not jump over this line and avoid it.
The try had a string.
So this is the way in which we can correct some way by analyzing the jumps and toggling it and putting
the right brake point where decision is being made whether to jump or not to jump so let us repeat this
one more time.
The first thing you need to do is to look for the string and then analyze where he's supposed to decide
where it comes from the call which lines in the string come from here.
So if you put a breakpoint here and then restart run to the big pine and then reverse the point so that
it jumps he will not jump to the to the track the message reverse it.
Have it called a jump.
That's it.
So you have solved this challenge by getting the flag because this one and you can confirm it by looking
at the some of the answers posted by other reverses.
If that is indeed this case you can see.
So that is how you reverse a jump.
So in a moment we will stop here and I will see you in the next lesson.
So far what we have learned is how to celebrate points on the history how to reverse jump by reversing
the zero flight.
Thank you for watching.