(2)exe是编译给 *** 作系统使用的, *** 作系统加载它时需要一些信息,这些不相干的机器码就是干这个用的。
虚拟化类型全虚拟化(Full Virtualization)
全虚拟化也成为原始虚拟化技术,该模型使用虚拟机协调guest *** 作系统和原始硬件,VMM在guest *** 作系统和裸硬件之间用于工作协调,一些受保护指令必须由Hypervisor(虚拟机管理程序)来捕获处理。
图1 全虚拟化模型
全虚拟化的运行速度要快于硬件模拟,但是性能方面不如裸机,因为Hypervisor需要占用一些资源
半虚拟化(Para Virtualization)
半虚拟化是另一种类似于全虚拟化的技术,它使用Hypervisor分享存取底层的硬件,但是它的guest *** 作系统集成了虚拟化方面的代码。该方法无需重新编译或引起陷阱,因为 *** 作系统自身能够与虚拟进程进行很好的协作。
图2 半虚拟化模型
半虚拟化需要guest *** 作系统做一些修改,使guest *** 作系统意识到自己是处于虚拟化环境的,但是半虚拟化提供了与原 *** 作系统相近的性能。
虚拟化技术
KVM(Kernel-based Virtual Machine)基于内核的虚拟机
KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel VT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。
图3 KVM虚拟化平台架构
Xen
Xen是第一类运行再裸机上的虚拟化管理程序(Hypervisor)。它支持全虚拟化和半虚拟化,Xen支持hypervisor和虚拟机互相通
讯,而且提供在所有Linux版本上的免费产品,包括Red Hat Enterprise Linux和SUSE Linux Enterprise
Server。Xen最重要的优势在于半虚拟化,此外未经修改的 *** 作系统也可以直接在xen上运行(如Windows),能让虚拟机有效运行而不需要仿
真,因此虚拟机能感知到hypervisor,而不需要模拟虚拟硬件,从而能实现高性能。
图4 Xen虚拟化平台架构
QEMU
QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性。经由kqemu这个开源的加速,QEMU能模拟至接近真实电脑的速度。
KVM和QEMU的关系
准确来说,KVM是Linux
kernel的一个模块。可以用命令modprobe去加载KVM模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有KVM模块是
远远不够的,因为用户无法直接控制内核模块去作事情,你还必须有一个运行在用户空间的工具才行。这个用户空间的工具,kvm开发者选择了已经成型的开源虚
拟化软件
QEMU。说起来QEMU也是一个虚拟化软件。它的特点是可虚拟不同的CPU。比如说在x86的CPU上可虚拟一个Power的CPU,并可利用它编译出
可运行在Power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用户空间工具了。所以你会看到,官方提供的KVM下载有两
大部分(qemu和kvm)三个文件(KVM模块、QEMU工具以及二者的合集)。也就是说,你可以只升级KVM模块,也可以只升级QEMU工具。这就是
KVM和QEMU 的关系。
图5 KVM和QEMU关系
机器码是硬件码,原则上除了换硬件上的各种集成电路会改动外,其它方式是无法实现硬件码改动的但是由于现在IT技术的发展,自然有的软件或监控中心以这种不能改动的硬件码做为一种约束检测。但毕竟检测都是能过程序或软件来找你电脑的硬件码,并没有实际的人来看你这东西,所以与之对应的,就是另一种软件可以实现伪装功能,也就是说:本来监控软件能过ABCD四个步骤来找到你的机器码,但机器码修改大师,则会在在C和D之间伪装 形成一条ABC(D1)D的渠道,这样一来真正的机器码D就被修改大师以D1的方式呈现,以实现蒙骗检测软件的眼睛
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)