上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 21 下一页
摘要: Windows以消息驱动的方式,使得线程能够通过处理消息来响应外界。Windows 为每个需要接受消息和处理消息的线程建立消息队列(包括发送消息队列,登记消息队列,输入消息队列,响应消息队列),其中发送消息队列保... 阅读全文
posted @ 2018-12-19 19:36 jadeshu 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 1)super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句)2)this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)3)super: 它引用当前对象的直接父类中的... 阅读全文
posted @ 2018-12-19 19:35 jadeshu 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 一.内核的引导 在intel x86系统上,windows操作系统获得控制首先从硬盘的主引导记录(MBR,Master Boot Record)开始,windows setup程序在安装windows时候填充mbr.mbr包含代码和数据,其代码称为引导代码,在系... 阅读全文
posted @ 2018-12-18 02:07 jadeshu 阅读(489) 评论(0) 推荐(0) 编辑
摘要: 随时可以看到任务管理器中有一个services.exe进程,这个就是系统的服务控制管理进程,简称SCM这个进程专门用来管理服务(启动、停止、删除、配置等操作)系统中所有注册的服务都登记在\HKEY_LOCAL_MACHINE\System\CurrentControl... 阅读全文
posted @ 2018-12-18 02:06 jadeshu 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 文件系统一台机器上可以安装很多物理介质来存放资料(如磁盘、光盘、软盘、U盘等)。各种物理介质千差万别,都配备有各自的驱动程序,为了统一地访问这些物理介质,windows设计了文件系统机制。应用程序要访问存储在那些物理介质上的资料时,无需直接访问,只需借助文件系统即可对... 阅读全文
posted @ 2018-12-18 02:06 jadeshu 阅读(1230) 评论(0) 推荐(0) 编辑
摘要: 典型的基于tcpip协议套接字方式的网络通信模块层次:应用程序socket apiWS2_32.dllsocket irpAfd.systdi irpTcpip.sys回调函数接口各Ndis中间层过滤驱动回调函数接口小端口驱动中断交互操作网卡应用程序调用WS2_32.... 阅读全文
posted @ 2018-12-18 02:06 jadeshu 阅读(1232) 评论(0) 推荐(1) 编辑
摘要: Mdl意为‘内存映射描述符’、‘缓冲描述符’,一个mdl就代表一个缓冲。(任意一块物理内存,可以同时映射到用户地址空间和系统地址空间的)设备IO方式分为三种:缓冲方式、直接IO方式、直接方式缓冲方式:将用户空间中的数据拷贝到内核缓冲,将内核缓冲中的数据拷贝到用户空间,... 阅读全文
posted @ 2018-12-18 02:06 jadeshu 阅读(555) 评论(0) 推荐(0) 编辑
摘要: Windows系统是支持多用户的。每个文件可以设置一个访问控制表(即ACL),在ACL中规定每个用户、每个组对该文件的访问权限。不过,只有Ntfs文件系统中的文件才支持ACL。(Ntfs文件系统中,每个文件的ACL是作为文件的一个附加属性保存在文件中的)。不仅ntfs... 阅读全文
posted @ 2018-12-18 02:06 jadeshu 阅读(585) 评论(0) 推荐(0) 编辑
摘要: 设备驱动设备栈:从上层到下层的顺序依次是:过滤设备、类设备、过滤设备、小端口设备【过、类、过滤、小端口】驱动栈:因设备堆栈原因而建立起来的一种堆栈 老式驱动:指不提供AddDevice的驱动,又叫NT式驱动Wdm驱动:指提供了AddDevice的驱动驱动初始化:指IO... 阅读全文
posted @ 2018-12-18 02:05 jadeshu 阅读(1239) 评论(0) 推荐(0) 编辑
摘要: 中断处理每个cpu有一张中断表,简称IDT。IDT的整体布局:【异常->空白->5系->硬】(推荐采用7字口诀的方式重点记忆)异常:前20个表项存放着各个异常的描述符(IDT表不仅可以放中断描述符,还放置了所有异常的异常处理描述符,0x00-0x13)保留:0x14-... 阅读全文
posted @ 2018-12-18 02:05 jadeshu 阅读(993) 评论(0) 推荐(0) 编辑
摘要: DPC不同APC,DPC的全名是‘延迟过程调用’。DPC最初作用是设计为中断服务程序的一部分。因为每次触发中断,都会关中断,然后执行中断服务例程。由于关中断了,所以中断服务例程必须短小精悍,不能消耗过多时间,否则会导致系统丢失大量其他中断。但是有的中断,其中断服务例程... 阅读全文
posted @ 2018-12-18 02:05 jadeshu 阅读(973) 评论(0) 推荐(0) 编辑
摘要: JAVA线程状态图 1.C++/windows中主线程结束,其他线程必然死亡(即使调用pthread_detach解除父子关系,主线程消亡时也会导致子线程被迫关闭)。 1.1 一个进程中可以有很多的线程,可以在主线程上创建一个新线程(A),而在这个新线程(A)中可以再创建别的线程。这样的话,线程之间 阅读全文
posted @ 2018-12-18 02:04 jadeshu 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 消息与钩子众所周知,Windows系统是消息驱动的,现在我们就来看Windows的消息机制. 早期的Windows的窗口图形机制是在用户空间实现的,后来为了提高图形处理效率,将这部分移入内核空间,在Win32k.sys模块中实现。这个模块作为一个扩展的内核模块,提高了... 阅读全文
posted @ 2018-12-17 22:13 jadeshu 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 基于同步对象的等待、唤醒机制:一个线程可以等待一个对象或多个对象而进入等待状态(也叫睡眠状态),另一个线程可以触发那个等待对象,唤醒在那个对象上等待的所有线程。一个线程可以等待一个对象或多个对象,而一个对象也可以同时被N个线程等待。这样,线程与等待对象之间是多对多的关... 阅读全文
posted @ 2018-12-17 22:11 jadeshu 阅读(338) 评论(1) 推荐(0) 编辑
摘要: APC:异步过程调用。这是一种常见的技术。前面进程启动的初始过程就是:主线程在内核构造好运行环境后,从KiThreadStartup开始运行,然后调用PspUserThreadStartup,在该线程的apc队列中插入一个APC:LdrInitializeThunk,... 阅读全文
posted @ 2018-12-17 22:01 jadeshu 阅读(1164) 评论(0) 推荐(0) 编辑
摘要: 本篇主要讲述进程的启动过程、线程的调度与切换、进程挂靠进程的启动过程:BOOL CreateProcess( LPCTSTR lpApplicationName, // LPTSTR lpCommandLine, ... 阅读全文
posted @ 2018-12-17 21:59 jadeshu 阅读(1293) 评论(0) 推荐(1) 编辑
摘要: 写过Windows应用程序的朋友都常常听说“内核对象”、“句柄”等术语却无从得知他们的内核实现到底是怎样的, 本篇文章就揭开这些技术的神秘面纱。常见的内核对象有:Job、Directory(对象目录中的目录)、SymbolLink(符号链接),Section(内存映射... 阅读全文
posted @ 2018-12-17 21:56 jadeshu 阅读(938) 评论(0) 推荐(0) 编辑
摘要: 32位系统中有4GB的虚拟地址空间每个进程有一个地址空间,共4GB,(具体分为低2GB的用户地址空间+高2GB的内核地址空间)各个进程的用户地址空间不同,属于各进程专有,内核地址空间部分则几乎完全相同虚拟地址如0x11111111, 看似这8个数字是一个整体,其实是... 阅读全文
posted @ 2018-12-17 21:55 jadeshu 阅读(745) 评论(0) 推荐(0) 编辑
摘要: Windows的地址空间分用户模式与内核模式,低2GB的部分叫用户模式,高2G的部分叫内核模式,位于用户空间的代码不能访问内核空间,位于内核空间的代码却可以访问用户空间一个线程的运行状态分内核态与用户态,当指令位... 阅读全文
posted @ 2018-12-17 21:42 jadeshu 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 本文说明:这一系列文章(笔记)是在看雪里面下载word文档,现转帖出来,希望更多的人能看到并分享,感谢原作者的分享精神。 说明 本文结合《Windows内核情景分析》(毛德操著)、《软件调试》(张银奎著)、《Windows核心编程》、《寒江独钓-Windows内核安全编程》、《Windows PE权 阅读全文
posted @ 2018-12-17 21:36 jadeshu 阅读(1238) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 21 下一页