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