记录学习日常
中断和异常 中断和异常
中断和异常中断中断通常是由CPU外部的输入输出设备所触发的,供外部设备通知CPU“有事情需要处理”,因此又叫中断请求。中断请求的目的是希望CPU暂时停止执行当前正在执行的程序,转去执行中断请求所对应的中断处理历程。 由于有些任务不可中断,为
2023-02-23
Windows句柄表 Windows句柄表
Windows句柄表句柄表介绍句柄表分为全局句柄表和进程句柄表,Windows用句柄来管理进程中的对象引用,进程句柄表仅在一个进程范围内才有效,若将该进程中的一个句柄传递给另一个进程后,该句柄不再有效。而全局句柄表在操作系统全局都有效,在w
2022-10-04
WaitForSingleObject WaitForSingleObject
WaitForSingleObject由于进程间通信必须凭借某个已打开的对象才能发生,所以Windows调用NtWaitForSingleObject和NtWaitForMultipleObjects使线程在对象上等待,NtWaitForM
2022-07-05
ReadProcessMemory调用过程 ReadProcessMemory调用过程
ReadProcessMemory调用过程基本用法根据进程读句柄取内存空间 BOOL ReadProcessMemory( HANDLE hProcess, //进程句柄 LPCVOID lpBaseAddress, //
2022-07-02
Windows APC机制 Windows APC机制
Windows APC机制APC(Asynchronous Procedure Call),即异步过程调用,也称不确定调用。Windows的APC机制本质上是一种对于应用软件(线程)的“软件中断”机制。与DPC不同,APC是针对线程的,每个
2022-06-24
KiSwapThread线程切换 KiSwapThread线程切换
KiSwapThread线程切换KiSwapThread是通过切换线程上下文来实现线程切换的函数 KiSwapThread主函数0040AB8A mov edi, edi 0040AB8C push
2022-05-23
Windows进程和线程 Windows进程和线程
Windows进程和线程众所周知,进程是空间,线程是任务 进程结构体进程有两个结构体_kprocess和_eprocess,_eprocess继承了_kprocess 在Windbg中可以使用dt _kprocess [ADDR] 和dt
2022-05-14
编写驱动Hook SSDT 编写驱动Hook SSDT
编写驱动Hook SSDT查找函数偏移要hook SSDT中的函数,就必须先找到这个函数在SSDT表中的偏移才能修改这个偏移上的地址 随意打开一个程序,下个API调用时候的断点,这里下writeFile的断点 F8调试指导出现调用ntdl
2022-05-14
int 0x2e和sysenter int 0x2e和sysenter
int 0x2e和sysenterint 0x2eint 0x2e是一个自陷(Trap)指令,告诉CPU将用户态切换成系统态。从TSS中装入本线程的系统空间堆栈段寄存器SS和堆栈指针寄存器ESP,再将SS、ESP、EFLAGS、CS、EIP
2022-04-29
TLB和控制寄存器 TLB和控制寄存器
TLB和控制寄存器TLBTLB(Translation Lookaside Buffer)中文一般翻译为转译后备缓冲区,也就是页表缓存,用来存放线性地址相对应的物理地址及其相关信息。TLB是在MMU中包括的一段小的缓存,比内存快了十几倍不等
2022-04-27
1 / 2