If you haven't read my previous article about this topic, or need a refresher, you can find it here.
Performing a System Call
- The SSDT is an array of addresses for each native function.
- The number you see being moved into the eax register is known as its ordinal, and is the position within the SSDT where that functions address is located.
- When the sysenter instruction is executed the kernel reads the ordinal from eax and uses it to call the corresponding function in the SSDT, before returning execution to usemode.
Dispatching Calls
- Determining which native function made the call to KiFastSystemCall, so we can properly handle it.
- Setting up the stack in such a way that we can access the parameters using plain C.

SOCIAL SHARE CARD GENERATOR