Before we proceed further with actually writing Schenkel, let us try to understand the process that
we are going to follow.
We will write the functionality in a high level language.
Like see, for instance, you want to write RiverCity official code before writing the actual shell
code itself.
It's a good idea to write the code in C language.
And then we use estrus against the compiler C program because Astreus output will tell you what this
calls are used in that C program so that we can use the same system in our assembly code.
Once we identify the is being used to get the actual functionality that we want, we will have to know
what arguments are needed for those Ciscos.
In addition to the arguments to the discounts, we will also have to identify the fiscal numbers that
are needed to invoke the fiscal.
Every school will have a number using which we can invoke this school after all of this.
We will ride our assembly code using the knowledge we have gained so far in the assembly code.
We are going to use the schools and their associated arguments, and then they will also have to remember
to avoid null bikes, null bikes usually break shall code.
For instance, if you pass shall code with no right to steer S.P.I function, it will stop copying the
code onto the stack as soon as an element is found.
This is because Astar S.P.I thinks that it's the end of the string when are null by despond.
Now we are avoiding null bytes.
At a minimum, the vulnerable program may have more bad characters, but we are not going to deal with
that at the moment.
Let's only worry about null bytes and let's try to avoid them while writing our code and the last and
final step, we will extract the usable cell code from the alpha binary that is produced from the assembly
code.
That's it.
These are the seven steps that we will try to follow wherever we can while writing shall code in this
module.
Just to reiterate, we will write the C program, we will stress it, we will get the details of what
this calls are used, and we will use the man pages of those calls to know the arguments.
And then finally, we will write the assembly code.
We will try to avoid nail bites and finally extract the shell code from the alpha binary, so that's
the process.
We are going to write Exit Chilcote in the next video.
See you there.