原文:第七章——Windows内核基础-内核数据结构(内核对象,SSDT,TEB,PEB)

一,内核对象 内核对象的结构图 一个内核对象分为对象头和对象体两个部分,在对象头中至少有一个object header和其他信息。对象体紧挨着对象头中的object header。 这里注意对象指针指向的并不是对象头,如果要访问对象头,需要拿对象体减去一个特定的偏移值,获取到对象头,在通过对象头获取其他字段 Windows内核对象可以分为三类: .Dispatcher对象 之所以叫Dispatc ...

2018-12-27 16:11 0 591 推荐指数:

查看详情

WINDOWS内核对象

WINDOWS内核对象 一.前言 Windows中有很多像进程对象、线程对象、文件对象等等这样的对象,我们称之为Windows内核对象内核对象是系统地址空间中的一个内存块,由系统创建并维护。内核对象内核所拥有,而不为进程所拥有,所以不同进程可以访问同一个内核对象 ...

Sat Mar 03 23:17:00 CST 2018 0 1150
内核对象

1. 什么是内核对象 内核对象是操作系统为一些系统级的对象(像进程,线程,信号量)维护的一些数据结构。这些数据构保存了与系统级对象相关的系统级信息。 例如:所有内核对象都会保存该对象的引用计数。进程对象会保存进程ID。文件对象会保存当前字节偏移量,共享模式,打开模式等。 操作系统中所有内核对象 ...

Sun Jun 10 19:23:00 CST 2012 0 4260
Windows内核对象简介

内核对象只是操作系统内核分配的一个内存块,并且只能由操作系统内核访问。该内存块是一种数据结构,它的成员负责维护该对象的各种信息。Windows提供一组函数创建和操作内核对象。调用一个创建内核对象的函数,函数会返回一个句柄,该句柄标识了这个内核对象,这个句柄可由当前进程中的所有线程调用 ...

Sun Dec 09 02:05:00 CST 2012 0 6797
linux内核数据结构之链表

1、前言    最近写代码需用到链表结构,正好公共库有关于链表的。第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域。后来看代码注释发现该代码来自linux内核,在linux源代码下include/Lish.h下。这个链表具备通用性,使用非常方便。只需要 ...

Mon Dec 16 04:14:00 CST 2013 9 18933
linux内核数据结构之链表

1、前言    最近写代码需用到链表结构,正好公共库有关于链表的。第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域。后来看代码注释发现该代码来自linux内核,在linux源代码下include/Lish.h下。这个链表具备通用性,使用非常方便 ...

Sun Feb 25 19:28:00 CST 2018 0 1549
linux内核数据结构之kfifo

1、前言   最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的。缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。例如一个进程A产生数据发给另外一个进程B,进程B需要对进程A传的数据进行处理并写入文件,如果B没有处理 ...

Thu Dec 19 09:24:00 CST 2013 5 29596
内核对象&句柄&泄漏&检测

今天看到这个问题如何评价王垠的 《讨厌的 C# IDisposable 接口》? - 王垠(人物),答案被歪到windows 内核对象和句柄,答案中谈的太浅显而且有误。翻出陈年老文章(此文成于2012年,只在公司内部分享过),大部分内容来自Windows内核原理 1句柄和句柄泄露 ...

Tue Dec 24 02:14:00 CST 2019 0 911
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM