[挂接API]关于《Windows核心编程》的几个不懂地方
《Windows核心编程》里面讲的关于挂接API有些地方我不明白,比如,修改一个模块的输入节,把他对
ExitProcess的调用改为对函数A的调用,但是函数A是在我的进程空间中的,对方进程怎么可能对我的进程空间中的函数进行调用呢?Windows是实行进程保护的啊。
还有,书中的那个进行API挂接的函数的最后一行,也就是用WriteProcessMemory修改函数的地址,它把WriteProcessMemory的第一个参数写成GetCurrentProcess,也就是当前的进程句柄。这个我不太理解,我理解的是应该找到目标进程的输入节中的函数地址,把它修改成其他的函数地址,这样的话,这个参数应该是目标进程的句柄啊,怎么会是自己进程的句柄呢?
请哪位高手能够回答一下这两个问题,谢谢。我对挂接API还了解的不够,哪为能详细讲讲 ?