
windows
文章平均质量分 78
点点灵犀
异想天开的程序猿
展开
-
windows之 会话、工作站、桌面、窗口之间的关系
一个系统可以同时登录多个用户(包括远程用户登录)一个用户拥有一个会话(远程用户被称为远程会话)一个会话拥有多个工作站和窗口。只能拥有一个交互式工作站(Winsta0)。一个会话拥有一系列私有的进程和模块:Csrss.exe、WinLogin.exe、Lsass.exe、win32k.sys一个会话拥有一个私有对象名字空间(\BaseNamedObjects),私有对象名字空间中的内核对象不能被其他原创 2013-06-08 22:31:25 · 2588 阅读 · 0 评论 -
windows 异常处理
写程序的时候避免不了出现异常或Bug,windows是怎么保证异常可以被try_catch,或者调试器捕获并处理的呢?如果异常不能被处理,windows会怎么做呢?这要从windows异常处理器说起。异常处理器顾名思义,专门处理各类异常的。异常处理器按照内核和用户模式分成了两类,处理过程不尽相同。内核模式异常处理内核调试器第一次处理该异常如果存在内核调试器,则交给它处理。如原创 2013-05-18 13:38:37 · 1805 阅读 · 0 评论 -
windows之启动过程(二)
这是widnows启动过程系列文章第二篇,看第一篇,请点击windows之启动过程(一)6. Ntoskrnl.exe 的KiSystemStartup,执行阶段0初始化 初始化主处理器初始化各个组件,包括Hal初始化(HalInitSystem)执行体初始化(ExInitSystem)内存初始化(MmInitSystem)对原创 2013-04-21 15:42:24 · 1843 阅读 · 0 评论 -
PE文件结构处理经验总结
这个是我原先发在看雪上的一个帖子。本文不是讲解Pe文件格式的,而是对Pe格式编程时遇到的问题的记录和总结。如果对Pe文件不是很熟悉,请先查阅其他人写的PE文章。 该贴是我在写加壳工具的时候遇到问题的总结。记录下来,供以后温习,希望对各位也有一定帮助。 由于本人接触该方面时间不长,免不了存在失误之处,敬请拍砖。 1. IMAGE_DOS_HEADER原创 2013-04-21 22:22:26 · 1295 阅读 · 0 评论 -
反外挂系统设计方案
该方案是参考多家反外挂系统,加上自己对反外挂了解整理而来。整个方案包含了反外挂系统中常见的所有功能。 4. 系统框架设计方案本系统基于C/S结构设计,包含服务器端和客户端两大部分。服务器端主要负责策略定制与实施,并控制客户端的行为。客户端主要负责具体的安全保护。如外挂扫描,防盗号,防修改游戏内存等。下面是对各个部分负责的功能的描述:4.1. 服务器端原创 2013-04-21 22:12:39 · 3014 阅读 · 0 评论 -
windows之启动过程(一)
windows的启动过程一直是我比较感兴趣的。下面看一下他是怎么启动的。1. BIOS 加电自检(包括枚举设备,初始化显卡等。这时可以进入BIOS内进行一些主板设置,如修改主板时间、设置从USB启动等)2. BIOS 选择一个启动设备,执行主引导记录(MBR)。 MBR是一个设备的第一个扇区,包含引导代码和分区数据。最多支持4个分区数据,如果你把系统原创 2013-04-21 14:55:23 · 1540 阅读 · 4 评论 -
windows消息之PostMessage和SendMessage的内部实现
PostMessage和SendMessage是常用的发送消息函数。那两者有什么区别呢?大家都知道PostMessage是向一个窗口Post一个消息,并且不再关注该消息是否被处理。SendMessage是向窗口发送完消息后,会一直等着该窗口把消息处理完成。那下面的问题你能回答么1. PostMessage向自身线程窗口发消息与向非自身线程窗口发消息实现方法一样么?2. Send原创 2013-04-16 23:12:51 · 4143 阅读 · 1 评论 -
CreateProcess 内部实现
*ReactOS学习笔记*CreateProcess 内部实现调用CreateProcessW 调用CreateProcessInternalW 参数检查 获取进程文件路径 调用BasepMapFile映射文件(内部调用NtCreateSection) 判断是否是一个DLL文件 判断子系统类型(只能是原创 2013-02-19 18:15:57 · 2887 阅读 · 0 评论 -
尽量不要使用TerminateThread与SuspendThread
强制杀死或挂起线程会导致线程正在获取的锁资源无法释放;如果正在操作一块公共内存,可能会导致公共内存被破坏。详细请见:http://blog.youkuaiyun.com/magictong/article/details/6304439原创 2013-04-24 21:15:27 · 1764 阅读 · 0 评论 -
windows之 访问控制模型
当一个线程使用Open*打开一个内核对象时,会发生什么?有两种可能:1. 打开成功,拿到句柄2. 打开失败这不是废话么?!为啥打开失败呢?有两种可能:1. 当前线程不具有指定的特权2. 权限不足(由dwDesiredAccess参数指定权限)这个时候就引入了今天的主题:令牌(包含特权列表)和安全描述符(描述用户权限)。Tokentoken是什么?对原创 2013-06-10 19:52:48 · 2311 阅读 · 0 评论