So we know, uh, that it looks for part load kernel looks for part load and load into the memory.
And if you see in this user space, uh, this load, uh, is present here.
Uh, the section two is having interpreter section three is where it is having text section.
So text section is where our executable code is present.
And I can now also use dump elf on this user space.
And I can also see the program headers which are used.
So we can see section headers.
And we can see program headers in the dump elf command.
So dump elf is also printing me parameters.
Uh information parameters seven six, all those.
And uh it is saying this is present at this particular offset for zero.
It is of type header.
And this is present in this offset 78 is of type uh interpreter.
And our uh text section is present in the program header.
Uh two or programmer three.
I will change this one of the program header to uh change.
I will change it from program header type one to I will change it to zero.
Zero means it is similar type.
Okay.
Let's see what happens.
I will open this in hex editor I am changing one of the program header which is present at this location.
Execute user space.
So now it is eight I have a program header right or d zero.
So d d I'd I it should be D8D9.
And uh.
The a b d c d d d e d f.
So let's just verify where it is.
I will.
So.
Uh, let's go back.
We'll take one parameter.
For example.
I'll take program header number.
Uh, two.
This is at location B zero.
Okay, I'll change the type from load to some other type.
So B zero is the location.
So b0 this a8 a9 a a a b a c a d a e a f.
This is A01, which is.
The load will change to zero zero.
And I'll save this one.
And now if I print this readelf it is saying it is a null.
Previous it was saying load.
Now this is this particular section which is.
This section is null which it should be load.
But we have changed to null.
Now let's try to load this one and see what happens.
Segmentation fault okay.
So we have modified something in the program header and then it is not working.
So let's change it back.
Uh this to one.
And now dump F.
Now this is load.
And this works one fine.
So this is very important.
If you change something here then the program will not work because this is what is actually getting
loaded into the memory.