Windows核心编程学习笔记
  TEZNKK3IfmPf 2024年03月29日 98 0

 

  • 字符串处理
    ​strcpy​​和​​wcscpy​​不安全,是因为无法判断缓冲区最大长度的参数,不知道是否会破坏内存
  • 一个进程—》 一个内核对象+一个地址空间
  • 每个对象只是一个内存块
  • 文件地址包括字节偏移量。实际地址=段首地址+字节偏移量,原因是因为,地址占的内存大小太大,而一段的大小无法满足要求,所以需要在通用寄存器中开辟一段内存,用于存放剩余的字节地址,所以其为偏移量。
  • 内核对象的数据结构只能由操作系统来访问。
  • 内核对象中,包含使用计数,每创建一个对象后,使用计数+1,一旦对象的使用计数为0时,则系统销毁对象。
  • 调用API注意权限的设置,即是否拥有查询,或者写入写出权限
  • 进程初始化时候,系统将会为其分配句柄表
  • 句柄表主要包括:1.指向内核对象内存块的指针,访问掩码:即设置权限读取写入,所有权限等等
    **创建对象流程:**初始化一个内存块,内核扫描空的句柄表,进行初始化。
  • CloseHandle进行的操作:1.检查是否该句柄为进程中可以访问的对象,2.系统内核对象中的使用计数降为0,当为0的时候,可以进行销毁操作。
  • 文件映像对象(共享内存实质)
  • 当复制句柄表的记录项时候,系统还是会递增内核对象的使用计数。
  • 内核对象的内容被保存在内核地址空间中,所有进程都拥有这个空间
  • 终端服务命名空间
  • 专有命名空间
  • 进程主要包括两部分:内核对象和地址空间
    地址空间:代码和数据,动态内存分配等等
  • 每个进程都有一个与它关联的环境块
  • 系统信任级别:低、中、高、系统权限
  • 用户界面特权隔离,防止SendMessage或者PostMessage。windows挂钩拦截完整性级别较高的进程的消息

作业

  • Job类似于沙箱一个容器,可以存放多个进程运行,并且可以对进程进行限制等操作
  • CreateThread:系统会创建一个内核对象,这个线程内核对象不是线程本身,而是一个小的数据结构
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年03月29日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年03月29日   40   0   0 indexwindows路径
TEZNKK3IfmPf