文章分类 - 『VT』
浅学一手VT
发表于 2022-04-17 23:22阅读:941评论:1推荐:0
摘要:VT在调试与反调试领域有很大的作用,今天我们利用VT 隐藏系统函数 大体思路就是,通过Host接管错误号,让页面保护函数被读写的时候显示为空,在执行的时候正常显示 一、获取页面保护的函数地址 E号中断对应的函数就是页面保护函数 其物理地址为 541450 二、查看是否支持不可读不可写但可执行页面 I
阅读全文 »
发表于 2022-04-17 22:46阅读:154评论:0推荐:0
摘要:前言: 代码在非PAE模式下运行正常,在PAE模式下会报三重错误 一、分析原因 Intel手册Table24-4下写了PDPTE的四个寄存器 PAE模式下使用的是2-9-9-12分页模式 PDPTE只有四项,为了提升效率,Intel直接把这四项设为了四个高速寄存器 PDTPE Registers 参
阅读全文 »
发表于 2022-04-17 22:31阅读:79评论:0推荐:0
摘要:一、zhouhe老师上次留的问题 Intel 第三卷 27.5.2 当退出Host的时候,IDT表和GDT表的界限会被赋值为 0xFFFF 我们退出虚拟机的时候没有修改这界限,所以当xuetr遍历gdt表的时候就会遍历到不可访问的代码页,引发蓝屏异常 二、加载Host的RIP与RSP的时候,自动关中
阅读全文 »
发表于 2022-04-17 22:28阅读:103评论:0推荐:0
摘要:一、检测CPU是否支持EPT 查看48b号msr寄存器,看其第33位是否为1,也就是左4字节第1位是否为1 我看了一下我的电脑,显然是可以开启的 二、区分一下虚拟地址转化为物理地址与物理地址转化为虚拟地址 EPT是一个物理地址到物理地址的转换 物理地址转化为物理地址是9-9-9-9-12分页模式 而
阅读全文 »
发表于 2022-04-16 23:05阅读:121评论:0推荐:0
摘要:前提概要 zhouhe老师在VT的时候遇到了一个问题:在GuestEntry入口点把vmcall指令写成int 3指令会导致windbg断不下来,无论是在GuestEntry还是VMMEntryPointEbd都断不下来 一、分析原因 CPU并没有在Guest断下来,而是直接来到了Host,说明Gu
阅读全文 »
发表于 2022-04-15 22:51阅读:439评论:0推荐:0
摘要:vmxon到vmlaunch期间 一、为每个虚拟机分配4kb大小空间 Intel手册第三卷31.6 在VMX功能MSR IA32_VMX_BASIC指定的大小的非分页内存中创建一个VMCS区域,对齐为4 kb 把前31位初始化为版本号,清除前四个字节的第31位 二、vmclear 通过提供的gues
阅读全文 »
发表于 2022-04-14 22:35阅读:208评论:0推荐:0
摘要:一、框架流程 二、分配空间 Intel白皮书第三卷 23.7 在执行VMXON之前,软件应该分配一个自然对齐的4kbyte内存区域,逻辑处理器可以使用该区域来支持VMX操作这个区域称为VMXON区域。VMXON域的地址(VMXON指针)以一个操作数的形式提供给VMXON。第24.11.5节,“VMX
阅读全文 »
发表于 2022-04-14 22:22阅读:121评论:0推荐:0
摘要:Intel手册: https://usermanual.wiki/Pdf/ASMBible64ia32architecturessoftwaredevelopermanual.962942983/view 一、检验CPU是否支持VT 把eax赋值为1,执行CPUID指令,查看ecx的第五位是否为1,
阅读全文 »
发表于 2022-04-13 22:51阅读:172评论:0推荐:0
摘要:一、汇编调用c语言函数 函数名 Proto 二、汇编引用C语言的全局变量 EXTERN 变量名:数据宽度 三、汇编中定义数据 在.data下 变量名 数据宽度 初始化(不初始化的话填?) 四、名词解释 VT :硬件虚拟化技术 VT,VMX基本上是一回事,是类属于Intel或Amd的两个技术 VMM
阅读全文 »