文章分类 - 『x64内核』
因为一些无法克服的问题,暂时止步于此,等我回来,PG!!!
发表于 2022-03-26 22:45阅读:812评论:0推荐:0
摘要:PatchGuard补丁保护 一、什么是PG PatchGuard就是Windows Vista(以上)的内核保护系统,防止任何非授权软件试图“修改”Windows内核。它会循环检查几个敏感驱动是否被修改,如果发现,则引发0x109蓝屏 InitKDBG节保存了PG保护的主要检测的逻辑 二、win1
阅读全文 »
发表于 2022-03-25 23:11阅读:440评论:0推荐:0
摘要:这两个位都在cr4寄存器上 一、SMEP位 不允许0环执行用户层代码页 二、SMAP位 不允许内核权限读写用户代码页 三、实验SMEP 两个文件 x64asm.asm属性: ml64 /Fo (IntDir)%
阅读全文 »
发表于 2022-03-25 23:07阅读:179评论:0推荐:0
摘要:一、SPECTRE和MELTDOWN攻击 熔断幽灵攻击 首先介绍三个概念 1、side-channel attacks 侧信道攻击 比如密码验证,假设密码为6789 我们从第一位的0开始爆破,第一位为6时,会发现,验证时间变长了一点,由此可以判断出,6即是密码的第一位,由此类推... 2、CPU抢跑
阅读全文 »
发表于 2022-03-25 23:03阅读:724评论:0推荐:0
摘要:页表隔离机制 内核有一个cr3,每个进程也有一个cr3 RWE:可读可写可执行 用用户CR3只能读gdt,idt,KVASCODE 内核CR3映射User space只有RW属性 !pte指令默认使用内核cr3 附加进程后得到的也是内核cr3 一、实验 1、构造0x21中断获取进程cr3 读出cr3
阅读全文 »
发表于 2022-03-25 23:01阅读:729评论:0推荐:0
摘要:64位寻址,前16位是符号扩展,后48位才是要寻找的地址 一、四级页表 二、根据地址找物理页 以fffff800`3846efc0为例 1、舍弃前16位 11111000 00000000 00111000 01000110 11101111 11000000 2、拆分 1 1111 0000 0x
阅读全文 »
发表于 2022-03-25 22:50阅读:569评论:0推荐:0
摘要:实验环境:win10 1903 + wmware 实验程序:winxp sp3下的记事本程序 实验工具:windbg + x32dbg + x64dbg 一、32位程序切入64位的大致流程 ctrl + G跳转到系统API地址 call edx ,edx的地址是77898c50 ctrl + G跳转
阅读全文 »
发表于 2022-03-18 22:51阅读:969评论:0推荐:0
摘要:一、IA-32e模式 与Legacy模式特点简要说明 IA-32e是IA-32模式的扩展,它是一种状态,其内核为64位,用户可以是32位也可以是64位 IA-32e强制平坦段,不支持TSS任务切换,取消了虚拟8086模式和实模式的切换 Legacy模式:内核32位,用用户32位 支持非平坦段,任务切
阅读全文 »