• 2024-05-18APC初始化
    1.APC初始化R3APC插入简述线程出现等待的情况下sleepWaitForSingleObject线程的资源再利用apc--异步过程调用本质上就是一个异步call,线程本身是一直走,直到出现等待。但是有的时候需要当线程的某一个函数执行完,产生一个通知,但是如果是采用等待的方式的话,那么对于一些UI相关的
  • 2024-05-18内核APC执行过程
    3.内核APC执行过程说明未文档化但是导出,所以需要提前声明具体看下面的代码中的struct.hKeInitializeApc参数//初始化apc函数VOIDKeInitializeApc( __outPRKAPCApc,//使用`PKAPCpKapc`初始化 __inPRKTHREADThread,//内核中填当前线程即可 __inKAPC_ENVIRONMENTEnv
  • 2024-05-18APC挂靠
    5.APC挂靠用户态apc和上一课的内核apc几乎一致,唯一的变动就是这个//插入当前线程 KeInitializeApc(pKapc,eThread,OriginalApcEnvironment,KernelAPCRoutineFunc,NULL,0x4011d0,UserMode,NULL);改成了UserMode函数地址改成了进程的地址0x4011d0完整代码Driver-main