windows系统
hhhnoone
nobody
展开
-
Windows内核-杂记
进程组成部分(1)一个核心态的对象,操作系统用来保存进程的信息(2)地址空间,包含可执行文件和所有动态链接库的代码和数据,以及动态分配的内存进程终止的方式(1)主线程的入口函数返回(如main函数)(2)进程主动退出,一个线程调用ExitProcess(3)进程被动终止,另一个进程调用TerminateProcess(任务管理器-结束任务 ),进程中所有线程被终止,不通知dll。(...原创 2019-12-24 15:28:39 · 250 阅读 · 0 评论 -
Windows内核-线程
以下针对WindowsXP线程三种状态:运行、等待、就绪。(1)处于运行态的线程存储在KPCR中(2)处于就绪态和等待态的线程处于另外33个链表中,其中1个是等待链表,32个是就绪链表。(Win7、WIn10 64个)。这些链表使用_KTHREAD(+0x60)追踪线程,即线程在某一时刻,只能属于其中一个圈。(不管是就绪态还是等待态都挂在_KTHREAD(+0x60),即在_KTHREAD中...原创 2019-12-10 13:24:11 · 495 阅读 · 0 评论 -
Windows内核-系统描述符表与SSDT
以下参考自水滴教程及https://blog.csdn.net/weixin_42052102/article/details/83118255SystemServiceTableSystemServiceTable,即系统服务表,在XP系统下有两个 SystemServiceTable,分别是Ntoskrl.exe(常用的系统服务)和Win32k.sys(与图形显示及用户界面相关的系统服务)...原创 2019-12-08 12:28:13 · 439 阅读 · 0 评论 -
Windows内核-_Trap_Frame/ETHREAD/KPCR/KiSystemService
_Trap_Frame无论3环是中断门还是systementer进入0环,3环的寄存器都会寄存在_Trap_Frame结构体中,结构体如下:ETHREAD每个线程有一个ETHREAD结构体,该结构体保存了线程的状态...原创 2019-12-07 22:48:48 · 1708 阅读 · 0 评论 -
Windows内核-3环进0环
Windows API主要存放在C:\WINDOWS\system32下Kennel32.dll:最核心功能模块,如管理内存、进程和线程相关的函数User32.dll:Windows用户界面相关应用程序接口,如创建窗口和发送消息等GDI32.dll:全称Graphical Device Interface(图形设备接口)包含用于画图和显示文本的函数,比如要显示一个程序窗口,就调用其中的函数来...原创 2019-12-07 17:40:05 · 1597 阅读 · 0 评论 -
Windows内核-TLB
TLBTranslation lookaside buffer。根据功能可以译为快表,直译可以翻译为旁路转换缓冲,也可以把它理解成页表缓冲。里面存放的是一些页表文件(虚拟地址到物理地址的转换表)。当处理器要在主内寻址时,不是直接在内存的物理地址里查找的,而是通过一组虚拟地址转换到主内存的物理地址,页表文件(PTE page table entry 页表条目存放在内存中)就是负责将虚拟内存地址翻译...原创 2019-12-07 13:27:54 · 513 阅读 · 0 评论 -
Windows内核-10-10-12页表机制
以下参考资料:水滴教程,针对的是80386系统。CR3寄存器每一个进程对应一个CR3寄存器,CR3寄存器中存放的是PDT(页目录表)的地址。PDT\PDEPDT页目录表,一共占4KB,每一个页目录表项PDE占4B,即一共1024个PDE项,指向一个PTT页表。(其实实际实现时,PDT是一个特殊的PTT表,即上图转变成如下的图。)PTT\PTEPTT页表,每一个PDE指向一个PTT页...原创 2019-12-06 21:56:41 · 1160 阅读 · 0 评论 -
段间转移、长调用、短调用
段间转移不同于段内转移,段间转移同时修改CS:EIP,而段内转移只修改EIP如JMP FAR 与JMP之间的区别段间转移JMP 0x20:0x004183D7流程 1、段选择子拆分:0x20=0x00100000 &nb...转载 2019-11-24 16:55:11 · 1332 阅读 · 0 评论