能力值:
( LV8,RANK:130 )
2 楼
看不懂,先收藏
能力值:
( LV5,RANK:60 )
3 楼
host write cr0 被VT捕获异常了,为什么要把这个CR0写入GUEST?不太明白?
能力值:
( LV7,RANK:110 )
4 楼
没学过VT,但是大黄描述的意思是通过设置CR0.PG=1 CR0.PE=0,然后调用write cr0写入Guest OS,然后某些
hypervisor
没有校验CRO值会导致CR0被更改从而造成蓝屏。
最后于 2019-5-24 17:04
被猪会被杀掉编辑
,原因: 正儿八经回答。
能力值:
( LV9,RANK:280 )
5 楼
猪会被杀掉
没学过VT,但是大黄描述的意思是通过设置CR0.PG=1 CR0.PE=0,然后调用write cr0写入Guest OS,然后某些
hypervisor
没有校验CRO值会导致CR0被更 ...
对,就这个意思
最后于 2019-5-24 17:39
被hzqst编辑
,原因:
能力值:
( LV9,RANK:280 )
6 楼
dkxzl
host write cr0 被VT捕获异常了,为什么要把这个CR0写入GUEST?不太明白?
guest 写入CR0被vmm捕获,本来应该拒绝掉这次写入, 但是vmm代码瞎鸡儿糊弄,校验不严谨,让非法的值成功写入guest cr0了。真机CPU对cr寄存器的处理是非常严谨的,连修改无效位都会抛异常。
最后于 2019-5-24 17:42
被hzqst编辑
,原因:
能力值:
( LV5,RANK:60 )
7 楼
hzqst
dkxzl
host write cr0 被VT捕获异常了,为什么要把这个CR0写入GUEST?不太明白?
guest 写入CR0被vmm捕获,本来应该 ...
我还以为你说的是真机环境检测VMM,大数字厂的开发人员估计是Intel手册还没啃熟没考虑全面,不过像vmware KVM之类的老牌虚拟机应该都不会范这种低级错误
能力值:
( LV4,RANK:50 )
8 楼
dkxzl
我还以为你说的是真机环境检测VMM,大数字厂的开发人员估计是Intel手册还没啃熟没考虑全面,不过像vmware KVM之类的老牌虚拟机应该都不会范这种低级错误
这不是低级错误,而是vmm需要主动去适配真CPU的行为,单纯的vmm不是必须这么做。
能力值:
( LV2,RANK:10 )
9 楼
大表哥,上代码啊,不然我怎么复制粘贴啊
能力值:
( LV9,RANK:280 )
10 楼
dkxzl
我还以为你说的是真机环境检测VMM,大数字厂的开发人员估计是Intel手册还没啃熟没考虑全面,不过像vmware KVM之类的老牌虚拟机应该都不会范这种低级错误
确实 kvm vmware haxm 都没有这个问题
有这个问题的都是一些个人作者维护的玩具级虚拟鸡
能力值:
( LV1,RANK:0 )
13 楼
大佬,您好,我玩steam的一款俄罗斯游戏,这游戏会检测是否在虚拟机环境运行,如果是的话就会封号,我在X宝买了一款去除虚拟化的WIN7系统,还是被封号了,请问大佬能有偿帮我解决下这个棘手问题吗?我专门注册看雪的账号来请教您此问题,希望答复私信。
最后于 2020-1-24 22:19
被wx_大爱编辑
,原因:
能力值:
( LV2,RANK:10 )
14 楼
围观
能力值:
( LV3,RANK:30 )
15 楼
https://github.com/tandasat/HyperPlatform/blob/61ce1f47175000b4abbd635df62935cb39fc70cc/HyperPlatform/vmm.cpp#L1090
没看到有校验, 但是实测开启虚拟化, __writecr0也会抛出 0xC0000096
" An execution of MOV to CR0 that does not cause a VM exit (see Section 22.1.3) leaves unmodified any bit in CR0 corresponding to a bit set in the CR0 guest/host mask. "
最后于 2020-4-14 16:03
被风铃i编辑
,原因:
能力值:
( LV1,RANK:0 )
16 楼
大佬可以私信留个联系方式嘛 蟹蟹
能力值:
( LV2,RANK:10 )
17 楼
这是个好东西,学习了
能力值:
( LV2,RANK:10 )
18 楼
数字厂带头搞HVM的那个人的实力不用怀疑,应该是没必要在HVM的VMM中提供这种硬件特性,毕竟不是VMWare这种纯粹的虚拟机
能力值:
( LV2,RANK:10 )
19 楼
风铃i
https://github.com/tandasat/HyperPlatform/blob/61ce1f47175000b4abbd635df62935cb39fc70cc/HyperPlatfor ...
那是因为它cr0的mark全是0
能力值:
( LV1,RANK:0 )
20 楼
这个检测方法比较明显,更重要的是还有一些更加隐蔽的方法,一般人不容易发现
能力值:
( LV2,RANK:10 )
21 楼
那我设置cr0 mask都是0,不会有这种问题了。