E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
windows内核
windows内核
情景分析学习笔记9
1、系统调用NtAllocateVirtualMemory凡是用户空间程序要求分配空间,无论是只要求预订一块虚拟地址区间,还是要求兑现预订的虚拟地址(映射到物理地址),或二者兼有,都可以NtAllocateVirtualMemory实现。实际上,熟知的windowsAPI中的VirtualAlloc就是调用了此函数实现功能。 函数声明如下:NTSTATUSNTAPINtAllocateVirtu
shentao17792
·
2010-10-20 19:00
数据结构
windows
list
null
System
Access
windows内核
情景分析学习笔记8
1、页面映射页面映射指的是虚存页面到物理页面的映射。多个虚存页面可以映射到同一个物理页面,但同一时间内不可能有多个物理页面对应于同一空间的同一个虚存页面。示意图: 虚存页面是虚的,必须通过映射落实到物理存储介质上。物理存储的第一选择是物理内存,其后备一般选择磁盘上的页面交换文件。(因物理内存成本较高,一般不会做的很大)。这样,只需要将当前正在受到访问以及很可能受到访问的页面保存在物理内存中,其他
shentao17792
·
2010-10-20 11:00
windows
struct
user
存储
磁盘
不得不看的文章
这篇文章也不是用来比较Linux和
Windows内核
效率,文件系统,网络服务的。我现在是作为一
zhengzhoudaxue2
·
2010-10-19 23:00
windows内核
情景分析学习笔记7
1、内核对于物理页面的管理物理内存的管理和使用以页面为单位,所以物理内存的管理实际上是对物理页面的管理。在内核中,物理页面是以数据结构PHYSICAL_PAGE代表的,其定义如下:typedefstruct_PHYSICAL_PAGE{union{struct{ULONGType:2;ULONGConsumer:3;ULONGZero:1;}Flags;ULONGAllFlags;};LIST_
shentao17792
·
2010-10-19 19:00
数据结构
windows
list
cache
struct
user
windows内核
情景分析学习笔记6
1、用于数据存储的内存区间分类①全局数据所占空间。由编译器在编译链接时就静态分配好的,与整个进程共存亡。其分配和释放都是不可见、不可为的②局部数据所占的空间。调用函数时自动从堆栈上动态分配的,其寿命取决于函数的作用域。其分配和释放是隐含的。③通过malloc一类函数动态分配的内存。其会一直存在,直到通过free一类的函数加以释放(或进程终止运行)。 2、内核对用户空间的管理对于windows来说,
shentao17792
·
2010-10-19 11:00
数据结构
windows
struct
list
null
编译器
windows内核
情景分析学习笔记5
1、“虚拟内存”机制在硬件上,“虚拟内存”是由CPU芯片内部的MMU(存储管理单元)支持的。在软件上,由内核中的内存管理模块实现。采用虚拟内存机制,程序中使用的内存地址为虚拟地址。虚拟地址是无法访问物理内存的,必须经由MMU映射到某个物理页面上,转换为物理地址才能访问。其原理图如下: 2、采用虚拟内存的原因主要原因是必须满足现代操作系统的基本要求:①每个进程的虚拟地址范围是相同的,但实际映射到物理
shentao17792
·
2010-10-18 19:00
windows
存储
X86
磁盘
windows内核
情景分析学习笔记4
1、_KiSystemService()_KiSystemService()是所有的系统调用入口函数。对应于中断向量0x2e。所以,当中间函数执行int0x2e时,CPU就进入系统空间中的这个函数。进入系统空间时,CPU自动将下列信息压入系统空间堆栈:①用户空间的堆栈位置,包括SS和ESP的内容②EFLAGS的内容③用户空间指令位置,包括CS和EIP的内容这些信息是将来返回用户空间所必须的。 2
shentao17792
·
2010-10-17 11:00
windows
存储
工具
X86
windows内核
情景分析学习笔记2
1、内核与系统调用基础对于应用程序进程来说,操作系统内核的作用体现在一组可供调用的函数,称为系统调用(也成"系统服务")。从程序运行的角度来看,进程是主动、活性的,是发出调用请求的一方;而内核是被动的,只是应进程要求而提供服务。从整个系统运行角度看,内核也有活性的一面,具体体现在进程调度。系统调用所提供的服务(函数)是运行在内核中的,也就是说,在"系统空间"中。而应用软件则都在用户空间中,二者之间
shentao17792
·
2010-10-16 18:00
windows
任务
4、从汇编语言到
Windows内核
编程笔记(4)
了解机器码 X86所有指令的机器码长度不定,且连续排列,因此读取机器码的唯一方法是从头开始逐条解析指令。 nop指令是单字节,可以用作填充替换长指令后的多余区域。 XDE32反汇编引擎。 关于进一步机器码的构成分析,可以看[6]。 CPU权限级与分页机制 Intel的x86通过ring级别进行访问控制,共分四级。R0最高,R3最低。现在的操作系统只分两级R0和R3.R0代
·
2010-10-15 22:00
windows
windows内核
情景分析学习笔记1
2、
windows内核
初探
windows内核
可分为两部分①核心层:包括硬件抽象层(HAL)和
shentao17792
·
2010-10-14 21:00
windows
汇编
配置管理
user
dll
语言
3、从汇编语言到
Windows内核
编程笔记(3)
Windows内核
(一).sys放在Drivers目录下。运行在R0层。
·
2010-10-14 20:00
windows
王垠:完全用Linux工作及其后续
这篇文章也不是用来比较Linux和
Windows内核
效率,文件系统,网络服务的。我现在是作为
superslh
·
2010-10-14 09:29
linux
职场
休闲
王垠
王垠:完全用Linux工作及其后续
这篇文章也不是用来比较Linux和
Windows内核
效率,文件系统,网络服务的。我现在是作为
superslh
·
2010-10-14 09:29
linux
职场
休闲
王垠
2、从汇编语言到
Windows内核
编程笔记(2)
内核线程 在驱动中生成的线程一般是系统线程。系统线程所在的进程名为“System”。 NTSTATUS PsCreateSystemThread( OUT PHANDLE ThreadHandle, IN ULONG DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN HANDLE ProcessHan
·
2010-10-13 23:00
windows
一个linux狂人的语录(转载)--动力源泉
这篇文章也不是用来比较Linux和
Windows内核
效率,文件系统,网络服务的。
gl1987807
·
2010-10-13 08:00
1、从汇编语言到
Windows内核
编程笔记(1)
汇编部分1、call 的本质相当于push+jmp,ret的本质相当于pop+jmp。 2、Windows中,不管哪种调用方式都是返回值放在eax中,然后返回。外部从eax中得到值。 3、Ebp总是被我们用来保存这个函数执行之前的esp的值。 4、把局部变量区域初始化成全0cccccccch,0cch实际是int 3 指令的机器码,这是一个断点中断指令。 5、任何一段中间不
·
2010-10-12 20:00
windows
TDI FILTER 网络过滤驱动完全解析
在
WINDOWS内核
中,数据的通信载体是IRP包,如果希望截取到IRP数据包,当然必须生成核模块以驱动的方式加载
charlesprince
·
2010-10-06 22:00
软件分析
寒江独钓-
Windows内核
安全编程总结
内核编程工具集安装:1:下载安装WDK2:编写程序(DrvierEntry必选),编译3:利用srvinstw.exe等工具安装服务,用netstart启动服务4:使用WinDbg,利用串口和虚拟机通信,将目标系统设置为调试模式启动,这样就可以调试系统了。需要设置WinDbg的内核符号表路径,这样可以实现源码级内核调试。 特殊宏:IN,OUT:输入输出__in_bcount(Length):输入,
Matrix_Designer
·
2010-10-04 15:00
object
String
filter
Access
attributes
winapi
Windows中系统调用的流程
Windows中系统调用的流程潘爱民,2010.9.24在《
Windows内核
原理与实现》一书,我曾经详细地解析了Windows应用程序发出的系统调用,经过ntdll.dll中的stub函数,再通过sysenter
songqingxi
·
2010-09-29 15:00
c
windows
2010
Windows中系统调用的流程
Windows中系统调用的流程潘爱民,2010.9.24在《
Windows内核
原理与实现》一书,我曾经详细地解析了Windows应用程序发出的系统调用,经过ntdll.dll中的stub函数,再通过sysenter
panaimin
·
2010-09-24 15:00
Windows中系统调用的流程
Windows中系统调用的流程潘爱民,2010.9.24在《
Windows内核
原理与实现》一书,我曾经详细地解析了Windows应用程序发出的系统调用,经过ntdll.dll中的stub函数,再通过sysenter
panaimin
·
2010-09-24 15:00
c
windows
2010
完全用UNIX工作
这篇文章也不是用来比较Linux和
Windows内核
效率,文件系统,网络服务的。我现在是作为
358228677
·
2010-09-23 11:10
windows
unix
职场
休闲
雨林木风
【推荐阅读】机器SID的迷思
Windows内核
大拿MarkKrussinovich好文章(全英文)。
delxu
·
2010-09-17 13:16
windows
职场
sid
休闲
【推荐阅读】机器SID的迷思
Windows内核
大拿MarkKrussinovich好文章(全英文)。
delxu
·
2010-09-17 13:16
windows
职场
sid
休闲
Windows内核
技术的精华站点
Web站点: http://www.osronline.com,技术含量很高的Windows驱动开发站点,该站点的list基本上覆盖了所有Windows驱动开发的常见问题,强烈推荐; http://www.microsoft.com/whdc,微软的驱动开发资源主页,可以获取很多官方资料; http://www.wd-3.com/,该站点收集了一些比较好的Windows驱动开发方面的文章和示例代
·
2010-09-08 16:00
windows
解析Windows2000的IDT扩展机制
前言今天我们谈谈Windows 2000下中断机制的扩展,首先申明本文提到的技术并非本人发现的,只不过是我在学习
Windows内核
过程中的一点心得罢了,目的在于为和我一样刚刚步入Windows底层学习的朋友提供一点实用的资料
tibaloga
·
2010-08-29 19:00
windows
关于
Windows内核
对象句柄在进程空间内的存储
当一个进程被初始化时,系统会为它分配一个句柄表。该句柄表只用于内核对象(简单的说就是由CreateFile,CreateMutex,CreateXXXX这类函数创建的对象),不用于用户对象或GDI对象。下表显示了进程的句柄表的样子,它是个数据结构的数组。每个结构都包含一个指向内核对象的指针、一个访问屏蔽和一些标志。索引内核对象内存块的指针访问屏蔽(标志位的DWORD)标志(标志位的DWORD)10
HarbinZJU
·
2010-08-27 22:00
数据结构
windows
存储
Windows 内核Hook之IOAPIC编程
Windows内核
Hook之IOAPIC编程HOOK系列中,包括应用程序HOOK编程、IDT和IOAPIC编程,其中IOPIC顾名思义I/OADVANCEDPROGRAMMABLEINTERRUPTCONTROLLER
xxxluozhen
·
2010-08-27 21:00
IOCP模型总结
而这些线程都是可运行的,
Windows内核
花费大量的时间在进行线程的上下文切换,并没有多少时间花在线程运行上。再加上创建新线程的开销比较
zhangjingyangguang
·
2010-08-26 10:00
windows
IO
socket
buffer
远程连接
winapi
张银奎谈软件调试和软件测试
从2005年开始公开讲授“
Windows内核
及高级调试”课程,曾在微软的Webcast和各种技术会议上做过《WindowsVi
张龙
·
2010-08-10 00:00
Win32k.sys 窗口创建漏洞
漏洞介绍: CVEID:CVE-2010-0485由于
Windows内核
模式驱动程序在创建窗口时未正确验证所有参数,因此存在一个特权提升漏洞。
乐园园
·
2010-08-09 20:02
漏洞
窗口
职场
创建
休闲
乐成
win32k.sys
Win32k.sys 窗口创建漏洞
漏洞介绍: CVEID:CVE-2010-0485由于
Windows内核
模式驱动程序在创建窗口时未正确验证所有参数,因此存在一个特权提升漏洞。
乐园园
·
2010-08-09 20:02
漏洞
窗口
职场
创建
休闲
乐成
win32k.sys
研究人员抢先发现微软Windows核心级漏洞
就在微软宣布要修补34个补丁的第二天,安全研究公司Vupen的研究人员发现了一种
Windows内核
级漏洞,这种漏洞允许攻击者提升权限,也可以让他们来远程执行恶意代码,微软操作系统的所有版本都受到影响,其中包括戒备森严的
yangji008
·
2010-08-08 02:08
漏洞
windows
win7
安全
内核
微软
Windows内核
函数的命名
Windows的内核函数在命名上有个很好的特色,就是函数名都按其所在的层次或模块加上了特定的前缀。了解了这些前缀,看到一个函数名就可以大致知道这个函数所属的层次和模块,主要的前缀有:Ex:管理层,Ex是Executive的开头两个字母。Ke:核心层,Ke是Kernel的开头两个字母。Hal:硬件抽象层,Hal是HardwareAbstractionLayer的缩写。Ob:对象管理,Ob是Objec
ZhengZhiRen
·
2010-07-27 21:00
理解
Windows内核
模式与用户模式
内核层次架构windows程序运行分为内核模式和用户模式,内核模式可以访问所有的内存地址空间,并且可以访问所有的CPU指令。一般程序运行在用户模式,通过系统调用切换到内核模式执行系统功能,Windows系统通过这种方式来确保系统的安全和稳定。下面是内核的层次划分:硬件抽象层(HardwareAbstractionLayer)(HAL)(hal.dll)最底层隔离硬件的,底层的第三方驱动程序就运行在
Chinamming
·
2010-07-26 11:00
《
Windows内核
编程》---内核模式下字符串的基本操作
驱动程序中字符串操作涉及到ASCII字符串、宽字符串,还有DDK定义的ANSI_STRING数据结构和UNICODE_STRING数据结构。 1)ASCII字符串和宽字符串 在应用程序中使用两种字符:一是char型字符串,负责记录ANSI字符集,它是指向一个char数组的指针,每个char型变量大小是一个字节,字符串是以0标志字符串结束的;一是wchar_t型的宽字符串,负责描述unico
wapysun
·
2010-07-09 22:00
windows
《
Windows内核
编程》---内核模式下字符串的基本操作
驱动程序中字符串操作涉及到ASCII字符串、宽字符串,还有DDK定义的ANSI_STRING数据结构和UNICODE_STRING数据结构。 1)ASCII字符串和宽字符串在应用程序中使用两种字符:一是char型字符串,负责记录ANSI字符集,它是指向一个char数组的指针,每个char型变量大小是一个字节,字符串是以0标志字符串结束的;一是wchar_t型的宽字符串,负责描述unicode字符集
ACE1985
·
2010-07-09 22:00
数据结构
编程
windows
String
buffer
DDK
关于线程切换与异步调用相关的几句话----摘自《
Windows内核
情景分析》
1,线程调度与线程切换 线程调度发生在核心层内部,而线程切换发生于CPU推出核心层的时候。2,APC(异步过程调用)执行时机 (1)对于用户APC,目标线程从内核返回用户空间时调用; (2)对于内核APC,发生于CPU降低运行级别或者进行线程切换时;3,DPC(延迟过程调用)调用时机 CPU运行级别从DISPATCH——LEVEL或者以上降低到DISPATCH_LEVEL以
smstong
·
2010-07-09 11:00
《
Windows内核
编程》---内存管理基本概念
阅读更多内存管理概念:1)物理内存PC上有三条总线:数据总线、地址总线和控制总线。32位CPU的寻址能力是4GB个字节,用户最多可以使用4GB的真实物理内存。PC中很多设备都提供了自己的设备内存,例如显卡就提供了自己的显存。这部分内存会映射到PC的物理内存上,也就是读写这段物理地址,其实会读写的设备内存地址,而不会读写物理内存地址。2)虚拟内存地址Windows所有程序(包括Ring0层和Ring
wapysun
·
2010-07-08 21:00
《
Windows内核
编程》---内存管理基本概念
内存管理概念: 1)物理内存 PC上有三条总线:数据总线、地址总线和控制总线。32位CPU的寻址能力是4GB个字节,用户最多可以使用4GB的真实物理内存。PC中很多设备都提供了自己的设备内存,例如显卡就提供了自己的显存。这部分内存会映射到PC的物理内存上,也就是读写这段物理地址,其实会读写的设备内存地址,而不会读写物理内存地址。 2)虚拟内存地址 Windows所有程序(包括Ring0
wapysun
·
2010-07-08 21:00
windows
《
Windows内核
编程》---内存管理基本概念
内存管理概念:1)物理内存PC上有三条总线:数据总线、地址总线和控制总线。32位CPU的寻址能力是4GB个字节,用户最多可以使用4GB的真实物理内存。PC中很多设备都提供了自己的设备内存,例如显卡就提供了自己的显存。这部分内存会映射到PC的物理内存上,也就是读写这段物理地址,其实会读写的设备内存地址,而不会读写物理内存地址。 2)虚拟内存地址Windows所有程序(包括Ring0层和Ring3层的
ACE1985
·
2010-07-08 21:00
编程
windows
object
System
磁盘
DDK
《
Windows内核
编程》---语言选择的注意点
调用约定:调用约定指的是函数被调用时,会按照不同规则,翻译成不同的汇编代码。当一个函数被调用时,首先会将返回地址压入堆栈,紧接着会将函数的参数依次压入堆栈。不同的调用约定,会指明不同的参数入栈顺序,还会指明不同的清理堆栈的方法。用C语言或者C++语言编译器编译程序时,会有四种不同的调用约定去编译函数:C语言的调用约定,函数由__cdecl修饰;标准调用约定,函数由__stdcall修饰;快速调用约
ACE1985
·
2010-07-06 21:00
编程
c
windows
语言
编译器
DDK
《
Windows内核
编程》---语言选择的注意点
调用约定: 调用约定指的是函数被调用时,会按照不同规则,翻译成不同的汇编代码。当一个函数被调用时,首先会将返回地址压入堆栈,紧接着会将函数的参数依次压入堆栈。不同的调用约定,会指明不同的参数入栈顺序,还会指明不同的清理堆栈的方法。用C语言或者C++语言编译器编译程序时,会有四种不同的调用约定去编译函数: C语言的调用约定,函数由__cdecl修饰; 标准调用约定,函数由__stdcall修饰
wapysun
·
2010-07-06 21:00
windows
《
Windows内核
编程》---WDM驱动程序的基本结构和实例
WDM驱动的基本结构: WDM驱动模型是建立在NT式驱动程序模型基础之上的。对于WDM驱动程序来说,一般都是基于分层的,即完成一个设备的操作,至少要由两个驱动设备共同完成。 1)物理设备对象和功能设备对象 物理设备对象(Physical Device Object,PDO)和功能设备对象(Function Device Object,FDO)的关系是“附加”与“被附加”的关系。
wapysun
·
2010-07-06 16:00
windows
《
Windows内核
编程》---WDM驱动程序的基本结构和实例
WDM驱动的基本结构:WDM驱动模型是建立在NT式驱动程序模型基础之上的。对于WDM驱动程序来说,一般都是基于分层的,即完成一个设备的操作,至少要由两个驱动设备共同完成。 1)物理设备对象和功能设备对象物理设备对象(PhysicalDeviceObject,PDO)和功能设备对象(FunctionDeviceObject,FDO)的关系是“附加”与“被附加”的关系。当PC插入某个设备时,PDO会自
ACE1985
·
2010-07-06 16:00
编程
windows
object
String
query
extension
《
Windows内核
编程》---NT驱动程序的基本结构和实例
Windows驱动程序分为两类:一类是不支持即插即用功能的NT式驱动程序;另一类是支持即插即用功能的WDM驱动程序。 NT式驱动的基本结构: 1)驱动加载过程与驱动入口函数DriverEntry: 驱动程序入口点函数通常命名为DriverEntry,也可以指定另外的名字,但最好遵循这个名字: DRIVER_INITIALIZE DriverEntry; NTSTATUS
wapysun
·
2010-07-05 22:00
windows
《
Windows内核
编程》---NT驱动程序的基本结构和实例
Windows驱动程序分为两类:一类是不支持即插即用功能的NT式驱动程序;另一类是支持即插即用功能的WDM驱动程序。 NT式驱动的基本结构: 1)驱动加载过程与驱动入口函数DriverEntry:驱动程序入口点函数通常命名为DriverEntry,也可以指定另外的名字,但最好遵循这个名字:DRIVER_INITIALIZEDriverEntry;NTSTATUSDriverEntry( __in
ACE1985
·
2010-07-05 22:00
编程
windows
object
String
struct
extension
再谈UNIX流机制和tty驱动
周末在家调试linux的终端驱动,发现linux并没有按照unix流机制的建议来实现tty驱动,虽然我对
windows内核
理解不如对linux深刻,可是还是略知一二,windows的分层驱动模型倒是和unix
dog250
·
2010-07-03 17:00
linux
windows
unix
File
mfc
终端
再谈UNIX流机制和tty驱动
周末在家调试linux的终端驱动,发现linux并没有按照unix流机制的建议来实现tty驱动,虽然我对
windows内核
理解不如对linux深刻,可是还是略知一二,windows的分层驱动模型倒是和unix
totoxian
·
2010-07-03 17:00
unix
再谈UNIX流机制和tty驱动
周末在家调试linux的终端驱动,发现linux并没有按照unix流机制的建议来实现tty驱动,虽然我对
windows内核
理解不如对linux深刻,可是还是略知一二,windows的分层驱动模型倒是和unix
xitong
·
2010-07-03 17:00
unix
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他