内核
文章平均质量分 89
很酷很爱笑
这个作者很懒,什么都没留下…
展开
-
内核-分页
每个进程拥有4G的空间是假的 不是真实存在的 当你使用某个空间的时候 操作系统会把你的数据存储到物理内存中物理地址指令Mov eax,dword ptr ds:[0x12345678]其中 0x12345678是有效地址Ds.base+0x12345678是线性地址通常情况下 有效地址 == 线性地址 因为ds.base是0当cpu执行如上指令的时候 会把线性地址转换成物理地址32位cpu 10 10 12 分页从2 9 9 12 转换成10 10...原创 2022-03-06 16:51:54 · 330 阅读 · 0 评论 -
内核-分段
当我们用汇编读写某一个地址的时候:Mov dword ptr ds:[0x123456],eax真正写的地址是 ds.base+0x123456ES CS SS DS FS GS LATR TR 8个Base Limit atrribute select段寄存器只能看到16位,如何证明又96位???这个代码是没有任何问题的 ...原创 2022-03-06 16:44:59 · 572 阅读 · 0 评论 -
内核-句柄表
私有句柄表属于一个程序独有的 每个程序都有属于自己程序的句柄表 里面存储了所有本程序打开的内核对象内核对象进程创建 或打开内核对象的时候 将获得句柄,通过句柄访问内核对象为什么需要句柄???句柄存在的目的是为了避免在应用层直接修改内核对象 应用层要是可以修改 如果修改成无效的地址在传送到0环 操作系统就会崩溃 所以操作系统并没有像用户层公开这个结构体 而是创建了一个句柄表每个进程都有自己的这样的私有的表 这个表存储在0环 而你的进程里创建几个句柄 表中就用几项 而句柄则.原创 2022-03-06 16:33:00 · 1068 阅读 · 0 评论